Как отправить zip на скачивание?



@n1ksON

Мой код:

<?php
$zip = new ZipArchive();
$zip->open('archive.zip', ZipArchive::CREATE);
$zip->addFile($fpName, $fpName);
$download_file = file_get_contents('archive.zip', true);
$zip->addFromString(basename('archive.zip'), $download_file);
$zip->close();
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="' . basename('archive.zip') . '"');
header("Content-length: " . filesize('archive.zip'));
header("Pragma: no-cache");
header("Expires: 0");
ob_clean();
flush();
readfile('archive.zip');
unlink('archive.zip');
exit;
?>

Код ошибки:

Warning: file_get_contents(archive.zip): failed to open stream: No such file or directory in /var/www/html/src/api.php on line 44

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/src/api.php:44) in /var/www/html/src/api.php on line 51

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/src/api.php:44) in /var/www/html/src/api.php on line 52

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/src/api.php:44) in /var/www/html/src/api.php on line 53

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/src/api.php:44) in /var/www/html/src/api.php on line 54

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/src/api.php:44) in /var/www/html/src/api.php on line 55
PKD��R�Fuj�� 949405.txt�S�J�@��)�@��M��؂R�¶��j� �m5=i=xP����7H�j��f��IDP�"x��gg�ov��x���_i5�^� {sx�"V 1P1�@O��nѽ��*�GxifO����#�^�!,`A`��)<`٢��IWۋ�� ̈́֍lĴ�FJ��HLE' 7L�8t�'a�V�~nd��JmT&%�K��d���#ׅk��P�KK��Ю�������R[���w���)�h6�S�J�r2���8�ܞ���$�{(�Ϸx��I�����{J�tde���|�S:P��a�4R|[��뵙�zϭ��7�zϫ��_�p�#��k�bX#dM�C���{������7�!�rۄ��� ��X�0`�ڗ��ik��> �Ji .�?N�X%oPKD��R� ?F#� 209009.txt���n�0��>���$��R�ĉ�r�`2Q@�P�.���� ��������z���U=�p����W~ou�=� �P�x�=Թ.x,f�D簁_�yGv ��%�wva�v�1~�O���Ah�`O�Q;G��H�7�K<��9Ɨ7�1�!cr"�ʹ��|�u���� M�t, �Tǹ(f��X�eA�L���1/�K3mg&���/(^�3�a腑�㠡�~?r� ���2#�Ӕ� l� ߞ����vx$��ڵ+mWvu�IV����GE���ca|D��µĮ���PK D��Rarchive.zipPK?D��R�Fuj�� ��949405.txtPK?D��R� ?F#� ���209009.txtPK? D��R���archive.zipPK�&

Если создать пустой архив заранее, то всё работает корректно и архив скачивается с необходимым файлом.
Что я делаю не так?


Решения вопроса 0


Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *