我正在尝试从我服务器上某个文件夹中包含的文件创建一个 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 中。
我的代码可能全错了(我希望没有),所以如果有人能指出我正确的方向,我将不胜感激。
谢谢。
最佳答案
我稍微修改了您的代码,它创建了一个 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();
?>
关于php - 从目录中的文件数组创建 Zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14966212/