相关疑难解决方法(0)

ZIP文件未创建,但未触发任何错误

我正在使用ZipArchive:

function zip_dir($source, $target){

    $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($source, \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST);

    $zip = new \ZipArchive();
    if($zip->open($target, \ZipArchive::CREATE) !== true)
      exit('cannot create zip');

    foreach($iterator as $file){
      $zip->addFile($file);
      print $file . '<br>';
    }


    $zip->close();
    return $target;
}


zip_dir(__DIR__ . '/test/', __DIR__ . '/testarchive.zip');
Run Code Online (Sandbox Code Playgroud)

我可以看到文件列表,但最后我找不到应该创建的zip文件.我从ZipArchive得到没有错误/异常......

编辑:

之后我添加print $zip->getStatusString();$zip->close();

并且它打印:无法打开文件:权限被拒绝".这是什么意思?我知道每个目录都是可写的,但是我可以在里面用PHP创建新文件...

编辑2:

if(is_writable(dirname($target)))
  print 'target dir is writable...';
Run Code Online (Sandbox Code Playgroud)

它打印出来,所以dir是可写的.感觉就像我在暮光之城......

php zip file ziparchive

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

file ×1

php ×1

zip ×1

ziparchive ×1