Использование passthru () для загрузки файла приводит к повреждению / изменению файла

У меня есть веб-приложение PHP Yii2, которое запускает сценарий командной строки, используя passthru(), passthru() результат должен быть передан в загруженный файл, чтобы пользователь мог загрузить вывод passthru(),

Пример:

Если я выполню следующую командную строку:

$ /bin/cat /PATH/pic.jpg > output.jpg

…Я получаю файл output.jpg, который идентичен pic.jpg (та же контрольная сумма md5)

Но мне нужно выполнить этот механизм в веб-приложении:

Если я делаю то же самое, используя passthru() чтобы отправить файл в браузер пользователей:

            header("Cache-Control: private");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=download.jpg");
passthru ('/bin/cat /PATH/pic.jpg');

….чем я получаю download.jpg что не так, как pic.jpg
Я этот пример-случай download.jpg на 1126 байт меньше (размер изображения составляет около 13 МБ), и изображение не может быть открыто в некоторых программах просмотра изображений.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]