В настоящее время интересно, если кто-нибудь испытал поврежденные почтовые файлы. В настоящее время я использую следующий код
// 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, но все ставки отключаются, если я принудительно скачаю файл. Я пробовал в нескольких браузерах, и результаты одинаковы для каждого.
Действительно раздражает. Я признаю, что я впервые пытаюсь реализовать такую функциональность, поэтому, возможно, я что-то упустил. Я видел несколько тем на подобные проблемы, но, к сожалению, решения не работают для меня. Любая помощь, которая может быть оказана, будет принята с благодарностью.
Если он работает на сервере и поврежден только при загрузке — скорее всего PHP повторяет что-то (замечаете? предупреждение?) вместе с содержимым ZIP, поэтому он не работает при загрузке. Пробовать откройте ваш скачанный ZIP с текстовым редактором и проверить наличие выходных данных PHP в начале или в конце. На Linux это будет:
cat downloaded.zip | tail
cat downloaded.zip | head
Других решений пока нет …