Несмотря на то, что на это есть принятый ответ, у меня есть другое предложение.
Если вы извлекаете данные из API, вам не следует хранить всю полезную нагрузку в переменной. Используя curl или другие средства извлечения HTTP, вы можете автоматически сохранять свои данные в файле.
Предполагается, что вы извлекаете данные через простой GET URL:
$url = 'http://www.example.com/myfile.base64';
$target = 'localfile.data';
$rhandle = fopen($url,'r');
stream_filter_append($rhandle, 'convert.base64-decode');
$whandle = fopen($target,'w');
stream_copy_to_stream($rhandle,$whandle);
fclose($rhandle);
fclose($whandle);
Преимущества:
- Должно быть быстрее (меньше копирование огромных переменных)
- Очень мало памяти
Если вам необходимо получить данные из временной переменной, я могу предложить такой подход:
$data = 'your base64 data';
$target = 'localfile.data';
$whandle = fopen($target,'w');
stream_filter_append($whandle, 'convert.base64-decode',STREAM_FILTER_WRITE);
fwrite($whandle,$data);
fclose($whandle);