Я хочу создать zip-файл в Cake php. Но мой код не работает? - PullRequest
0 голосов
/ 13 июля 2020

новый ZipArchive не работает в торте php отображается

error :=Class 
'App\Controller\ZipArchive' not found

Это то, что я пробовал до сих пор:

$fl_name = array('1.pdf', '2.pdf');
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($fl_name as $file){
    $zip->addFile($file);
}
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=' . $zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

1 Ответ

0 голосов
/ 13 июля 2020

Пример на основе ваших имен Убедитесь, что каталог доступен для чтения / записи !!!

<?php

$zip = new ZipArchive();
$filename = "./file.zip";

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}

$zip->addFile($thisdir . "/1.pdf","/1.pdf");
$zip->addFile($thisdir . "/2.pdf","/2.pdf");
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";
$zip->close();

?>

обновление до «Загрузить файлы поставщика»

Я рекомендую использовать composer, чтобы добавить исходный код ZipArchive в ваш код. Добавление ZipArchive через composer должно « просто работать » для автозагрузки

Если автозагрузка не работает для кода какого-либо поставщика (composer установлен), взгляните на Загрузка поставщика Файлы

...