我的脚本无法生成zip文件。

时间:2014-02-01 07:44:03

标签: php

$ 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();
}

?>

1 个答案:

答案 0 :(得分:0)

代码可以从命令行正常运行。这可能是一个许可问题。如果通过Web服务器执行此操作,请确保运行Web服务器的用户帐户具有对要在其中创建zip文件的目录的写入权限。在这种情况下,它与脚本位于同一目录中。您还可以使用以下命令设置全局写入权限:

chmod 777 {web directory}

但这是一个安全隐患。它将允许系统上的任何用户帐户修改,创建或删除目录中的文件。