首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php ZipArchieve错误代码9的解决方案

php ZipArchieve错误代码9的解决方案
EN

Stack Overflow用户
提问于 2018-12-15 13:50:15
回答 1查看 4.7K关注 0票数 1

我正试图用下面的代码制作拉链。在我的本地主机上运行得很好。但是当我将它传输到DirectAdmin服务器时,它会返回错误代码9 ZipArchive::ER_NOENT : return 'N No such file';

我不知道如何修复它来创建zip

代码语言:javascript
复制
define('ABSPATH', dirname(__FILE__) . '/' );
$dest = ABSPATH.'zip_file_name.zip';
$file = ABSPATH.'test.php';
$zip = new ZipArchive;
  $res = $zip->open($dest, ZIPARCHIVE::OVERWRITE);
  if ($res === TRUE) {
      echo 'ok';
      $zip->addFile($file, $file);
      $zip->close();
  } else {
      echo 'failed, code:' . $res;
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-16 15:43:14

在本地主机(Windows)上测试您的脚本。我得到错误消息“失败,代码:9”。

@查看http://php.net/manual/en/ziparchive.open.php并搜索"ZipArchive::ER_NOENT“。

我认为你需要创建压缩文件。

当我添加ZipArchive::CREATE时,它可以工作(输出"ok"):

代码语言:javascript
复制
define('ABSPATH', dirname(__FILE__) . '/' );
$dest = ABSPATH.'zip_file_name.zip';
$file = ABSPATH.'test.php';
$zip = new ZipArchive;
  $res = $zip->open($dest, ZipArchive::CREATE | ZIPARCHIVE::OVERWRITE);
  if ($res === TRUE) {
      echo 'ok';
      $zip->addFile($file, $file);
      $zip->close();
  } else {
      echo 'failed, code:' . $res;
  }

--更新--

zip_file_name.zip中的文件zip_file_name.zip具有完整的窗口路径。根级(Windows环境)的zip文件中有一个目录"C:“。这是正确的吗?

如果不需要绝对路径,可以使用相对路径:

代码语言:javascript
复制
define('ABSPATH', dirname(__FILE__) . '/' );
$dest = ABSPATH.'zip_file_name.zip';
$relativeFile = 'test.php';
$absoluteFile = ABSPATH.$relativeFile;
$zip = new ZipArchive;
  $res = $zip->open($dest, ZipArchive::CREATE | ZIPARCHIVE::OVERWRITE);
  if ($res === TRUE) {
      echo 'ok';
      $zip->addFile($absoluteFile, $relativeFile);
      $zip->close();
  } else {
      echo 'failed, code:' . $res;
  }
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53793801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档