E, u pravu si totalno. Sreca pa je base64 fajl uredno "lomljen" newline karakterom
dakle
PHP kôd:
/**
* Decode base64 encoded file
*
* @param string $input_file
* @param string $output_file
* @return boolean
*/
function base64_decode_file($input_file, $output_file) {
$input_handle = fopen($input_file, 'r');
if (!$input_handle) {
return false;
} // if
$output_handle = fopen($output_file, 'w');
if (!$output_handle) {
return false;
} // if
while (!feof($input_handle)) {
$encoded = fgets($input_handle);
$decoded = base64_decode($encoded);
fwrite($output_handle, $decoded);
} // while;
if (fclose($input_handle) && fclose($output_handle)) {
return true;
}
return false;
} // base64_decode_file
Najopustenije radi posao uz skoro nikakav utrosak memorije.