base64_encode è usato per codificare dati binari compresi byte nulli in una stringa leggibile come la notazione esadecimale per i numeri.
Puoi codificare qualsiasi cosa, incluso un jpg (che è fondamentalmente una sequenza di byte compresi possibili null byte). Puoi codificarlo quando si memorizza un valore, ad esempio in un database, per evitare che byte netti incasinino le cose e quando decidi di visualizzarlo decodificalo.
Potresti essere un po 'confuso dalla possibilità di inviare un'immagine con php, ma il tag img in html invia semplicemente una richiesta di' qualcosa '(non specificamente un file immagine) al server, e quella richiesta può essere servita da un pezzo di codice php.
Probabilmente dovrei aggiungere che la maggior parte dei database sono abbastanza bravi a memorizzare le immagini come blob, ma se si volesse includere un'immagine in xml o json, sarebbe un modo semplice per farlo. Non avresti nemmeno bisogno di usare cdata in xml.
E le password hash spesso contengono byte null, la codifica consente l'archiviazione nei database come stringhe.
Il valore di codifica occupa un po 'più di spazio.