Неожиданный конец архива при архивировании файлов с помощью PCLZip или ZipArchive

В настоящее время интересно, если кто-нибудь испытал поврежденные почтовые файлы. В настоящее время я использую следующий код

// Multiple File Downloads

require_once('includes/pclzip.lib.php');

$archive = new PclZip('archive.zip');

$v_list = $archive->create('robots.txt,index.php');

if ($v_list == 0) {
die("Error : ".$archive->errorInfo(true));
}

$file_url = 'archive.zip';

header('Content-Type: application/zip');

header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");

readfile($file_url);

Чтобы создать zip-архив и принудительно загрузить zip-архив, в конечном итоге это будет инициировано нажатием кнопки, но сейчас я просто пытаюсь создать архив, который действительно работает.

Я получаю проблему независимо от того, использую ли я встроенный ZipArchive класс или использовать PclZip библиотека.

Одна вещь, которая очень странная, заключается в том, что почтовый индекс, созданный и размещенный на сервере работает просто отлично когда я загружал его через FileZilla, но все ставки отключаются, если я принудительно скачаю файл. Я пробовал в нескольких браузерах, и результаты одинаковы для каждого.

Действительно раздражает. Я признаю, что я впервые пытаюсь реализовать такую ​​функциональность, поэтому, возможно, я что-то упустил. Я видел несколько тем на подобные проблемы, но, к сожалению, решения не работают для меня. Любая помощь, которая может быть оказана, будет принята с благодарностью.

2

Решение

Если он работает на сервере и поврежден только при загрузке — скорее всего PHP повторяет что-то (замечаете? предупреждение?) вместе с содержимым ZIP, поэтому он не работает при загрузке. Пробовать откройте ваш скачанный ZIP с текстовым редактором и проверить наличие выходных данных PHP в начале или в конце. На Linux это будет:

cat downloaded.zip | tail
cat downloaded.zip | head
3

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

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

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