Codifica e decodifica dei dati con MIME base64

02/03/2006

La codifica e la decodifica di una stringa attraverso il MIME base64 rientrano tra le URL functions di PHP. Per chi non lo sapesse un MIME (Multipurpose Internet Mail Extensions) è un sistema di de/codifica che presiede, tra le altre cose, al trasferimento di allegati attraverso messaggi di posta elettronica.

Non sarebbe possibile trasferire un allegato da una mailbox all'altra "così com'è", se per esempio spedissimo un'immagine GIF ad un nostro amico questa dovrà essere passata al server di posta come un'informazione/stringa, quindi codificata in invio e decodificata in ricezione. La codifica operata dal mittente dovrà contenere tutte le informazioni necessarie perchè il decodificatore/destinatario possa ottenere in output di ricezione un allegato in tutto e per tutto identico a quello inviato.

Le URL functions di PHP che presiedono alle operazioni appena descritte sono due: base64_encode() e base64_decode(). Alla prima và passato come argomento la stringa da codificare:

<? 
$stringa = 'Stringa da codificare';
$stringa_codificata = base64_encode($stringa);
echo $stringa_codificata; 
?>
Dal nostro piccolo script otterremo una serie di caratteri alfanumerici dal significato apparentemente incomprensibile:
U3RyaW5nYSBkYSBjb2RpZmljYXJl
base64_decode() si occuperà di tradurre per noi quanto è stato prodotto durante il processo di codifica accettando come argomento la stringa appena proposta:
<? 
$stringa = 'U3RyaW5nYSBkYSBjb2RpZmljYXJl';
$stringa_decodificata = base64_decode($stringa);
echo $stringa_decodificata; 
?>
L'output prodotto sarà naturalmente identico alla stringa passata come argomento alla funzione di codifica:
Stringa da codificare
Gli esempi proposti, molto semplici, possono essere utilizzati anche per processare dati molto più complessi rispetto a una comune stringa di testo, l'azione portata avanti dalle due funzioni sarà comunque la medesima.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Stampa :: Torna alla Home