$pathdir='C:\XML'; // путь к папке, файлы которой будем архивировать
$nameArhive = 'test.zip'; //название архива
$zip = new ZipArchive; // класс для работы с архивами
if ($zip -> open($nameArhive, ZipArchive::CREATE) === TRUE){ // создаем архив, если все прошло удачно продолжаем
$dir = opendir($pathdir); // открываем папку с файлами
while( $file = readdir($dir)){ // перебираем все файлы из нашей папки
if (is_file($pathdir.$file)){ // проверяем файл ли мы взяли из папки
$zip -> addFile($pathdir.$file, $file); // и архивируем
//echo("Заархивирован: " . $pathdir.$file) , '<br/>';
}
}
$zip -> close(); // закрываем архив.
//echo 'Архив успешно создан';
//Высылаем пользователю архив
header ("Content-Type: application/octet-stream");
header ("Accept-Ranges: bytes");
header ("Content-Length: ".filesize($nameArhive));
header ("Content-Disposition: attachment; filename=".$nameArhive);
readfile($myFile);
//Удаляем файл
unlink($nameArhive);
}else{
die ('Произошла ошибка при создании архива');
}
пытаюсь добавить в архив папку XML, в которой лежат файлы xml , архив скачивается, но не открывается, //не удается открыть файл как архив
открываю его как текстовый там 2 варнинга
<b>Warning</b>: filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for test.zip in <b>C:\apache\localhost\www\save_xml.php</b> on line <b>113</b><br />
<br />
<b>Warning</b>: unlink(test.zip) [<a href='function.unlink'>function.unlink</a>]: No such file or directory in <b>C:\apache\localhost\www\save_xml.php</b> on line <b>117</b><br />
не подскажите, что не так?
|