Разархивировать файл, сохраненный в кодированной строке base64, кусками - PullRequest
0 голосов
/ 23 октября 2019

Мне нужно распаковать файл, который хранится в скрипте PHP в формате base64. Я могу распаковать его что-то вроде:

function decompress($buffer) {
    $cmd = "base64 -d | tar -xJf -";
    $fp = popen("base64 -d | tar -xJf -", "w");
    fwrite($fp, $buffer);
    pclose($fp);
}

/*...*/
$fs_res = ob_start("decompress");
?>VERY___LONG___BASE64___STRING<?php
ob_end_flush();

... и, кажется, работает нормально, потому что пакет без сжатия.

Проблема в том, что вся строка base64 передается в обратный вызов одновременно, но я боюсь, что это может насытить ОЗУ, если файл tar больше, но я не могу найти способ разделить буферкусками.

...