Только что я создал сценарий генерации zip, скрипт отлично работает при записи одного файла или двух трех файлов, но когда я пытаюсь загрузить весь каталог в zip, который содержит более 30 файлов, всего из 166MB, скрипты генерирует почтовый индекс в 2KB но проворная архив неизвестный формат или поврежденphp zip-ing файл с повреждением файла с несколькими файлами
<?php
$error = ""; //error holder
$post = $_POST;
$file = $_GET['file'];
//die($file);
$file_folder = $_GET['file']; // folder to load files
if(extension_loaded('zip'))
{
// Checking ZIP extension is available
// Checking files are selected
$zip = new ZipArchive(); // Load zip library
$zip_name = time().".zip"; // Zip name
if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE)
{
// Opening zip file to load files
$error .= "* Sorry ZIP creation failed at this time";
}
if (is_dir($file)) {
if ($dh = opendir($file)) {
while (($filename = readdir($dh)) !== false) {
if(!is_dir($file . $filename)){
$zip->addFile($file . $filename); // Adding files into zip
}
}
closedir($dh);
}
} else {
if(file_exists($file)){
$zip->addFile($file); // Adding files into zip
} else {
$error = "* File not found";
}
}
$zip->close();
if(file_exists($zip_name))
{
// push to download the zip
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="'.$zip_name.'"');
readfile($zip_name);
// remove zip file is exists in temp path
unlink($zip_name);
}
}
else
$error .= "* You dont have ZIP extension";
if($error!=''){
header("Location: index.php?cat=62&msg=Download currently not available, sorry for inconvenience.");
}
?>
любая помощь будет оценена :)
Спасибо, позвольте мне проверить, работает ли это: '( – justnajm
Спасибо @Jey код работает сейчас, но что это такое, что он должен делать с ошибкой, я искал разницу b/w file_get_contents и readfile и readfile, похоже, имеют лучшие результаты, а затем file_get_contents. – justnajm