PHP ZipArchive::open不会创建zip文件

PHP ZipArchive::open不会创建zip文件,php,ziparchive,Php,Ziparchive,我不能让ZipArchive创建zip文件,但它不会给我任何错误,除了在$zip->close上返回False 我正试图在一个目录中创建一个zip归档文件,该目录比正在进行操作的目录低几倍 $file_name = 'example.txt'; // or whatever, I'm including a few $zip = new ZipArchive(); $path = getcwd() . '/output/run1/'; $zip_name = 'files_run1.zip

我不能让ZipArchive创建zip文件,但它不会给我任何错误,除了在$zip->close上返回False

我正试图在一个目录中创建一个zip归档文件,该目录比正在进行操作的目录低几倍

$file_name = 'example.txt';  // or whatever, I'm including a few

$zip = new ZipArchive();

$path = getcwd() . '/output/run1/';
$zip_name = 'files_run1.zip';
$zip_p_name = $path . $zip_name;

$res = $zip->open($zip_p_name, ZIPARCHIVE::CREATE);
if (!($res ===TRUE))     echo 'failed, code:'.$res;
else
  {
    if (file_exists($zip_path . '/' . $file_name))
      {
        $add = $zip->addFile($zip_path . '/' . $file_name);
        if (!($add)) echo "didn't work";
      }
    else echo "File doesn't exist!";

    $close = $zip->close();
    if ($close)    echo 'File Closed';
    else           echo 'fail!!';
  }

那一小部分只输出“失败!!”。你知道我错过了什么吗

$zip_p_name上有一个星号,您是否有权在该路径中创建文件。试着用fopen,而不是ZipArchive来检查星号是否是我在复制代码时输入的错别字,它实际上并不存在。但是很好的发现。明天早上我会尝试使用权限。谢谢。很棒的保险杠盒,解决了这个问题。我必须对output/run1文件的权限进行chmod,以授予该组的写访问权限,并且必须确保Apache在该组中。这似乎是不明智的安全原因,但我有整个网站的密码保护,所以应该可以。如果你想写它作为一个答案,我会选择它作为正确的,如果你喜欢。