$ files是一个用于存储文件名的数组。 createZipFile函数是制作zip文件。 addFiles函数返回true作为布尔值。
我不确定我的代码出错了。
<?php
$files[] = 'test.php';
$files[] = 'test1.php';
$files[] = 'test2.php';
createZipFile ( 'backup.zip', $files);
function createZipFile($pathtosave, $filestozip) {
// create zip file
$zip = new ZipArchive ();
if ($zip->open ( $pathtosave, ZipArchive::CREATE ) != true)
{
throw new Exception( 'Cannot create or open the zip file' );
}
else
{
foreach ( $filestozip as $zipfiles )
{
$zip->addFile($zipfiles);
}
}
// save it
$zip->close();
}
?>
答案 0 :(得分:0)
代码可以从命令行正常运行。这可能是一个许可问题。如果通过Web服务器执行此操作,请确保运行Web服务器的用户帐户具有对要在其中创建zip文件的目录的写入权限。在这种情况下,它与脚本位于同一目录中。您还可以使用以下命令设置全局写入权限:
chmod 777 {web directory}
但这是一个安全隐患。它将允许系统上的任何用户帐户修改,创建或删除目录中的文件。