我正在尝试从我服务器上的文件夹中包含的文件创建一个Zip文件。
这是我的代码:
$zip = new ZipArchive();
$dirArray = array();
$new_zip_file = $temp_unzip_path.'test_new_zip.zip';
$new = $zip->open($new_zip_file, ZIPARCHIVE::CREATE);
if ($new === TRUE) {
$handle = opendir($temp_unzip_path);
while (false !== ($entry = readdir($handle))) {
$dirArray[] = $entry;
}
print_r ($dirArray);
closedir($handle);
} else {
echo 'Failed to create Zip';
}
$zip->close();
我是PHP的新手,所以我试图从PHP手册和我在网上找到的一些例子中将它拼凑在一起。
我暂时将print_r
放在那里,以确保将条目添加到数组中 - 这是我计划将来使用其余zip函数的地方。
我的问题是它没有打印任何东西,所以我不知道这些文件是否会被添加到zip中。
我的代码可能都错了(我希望不是)所以,如果有人能指出我正确的方向,我会非常感激。
感谢。
答案 0 :(得分:3)
我稍微修改了你的代码,它创建了一个没有任何问题的zip文件。
如果这不起作用,请检查目录mydirectory
<pre><?
$temp_unzip_path = './mydirectory/';
$zip = new ZipArchive();
$dirArray = array();
$new_zip_file = $temp_unzip_path.'test_new_zip.zip';
$new = $zip->open($new_zip_file, ZIPARCHIVE::CREATE);
if ($new === true) {
$handle = opendir($temp_unzip_path);
while (false !== ($entry = readdir($handle))) {
if(!in_array($entry,array('.','..')))
{
$dirArray[] = $entry;
$zip->addFile($temp_unzip_path.$entry,$entry);
}
}
print_r ($dirArray);
closedir($handle);
} else {
echo 'Failed to create Zip';
}
$zip->close();
?>