【问题标题】:ZipArchive::CREATE is not creating a zip file and returning trueZipArchive::CREATE 未创建 zip 文件并返回 true
【发布时间】:2017-05-16 07:10:00
【问题描述】:

您好,我只是使用 php 创建一个 zip 文件,但该文件未创建但它返回 boolean true 我不知道发生了什么问题。在创建之前我做了什么

  1. 我在我的 Ubuntu 中使用 sudo apt-get install php-zip 安装了 php zip,安装后我重新启动了我的 apache 服务器。

  2. 创建一个zip.php文件并写下这段代码

$zip = new ZipArchive; //var_dump($zip->open('test.zip',ZipArchive::CREATE)); $f = $zip->open('zip/myzip.zip',ZipArchive::CREATE); var_dump($f);

此代码返回 true 但未创建文件

  1. 我的目录没有任何文件权限问题。

【问题讨论】:

  • Creating .zip file的可能重复
  • @AlexSlipknot 我没明白你的意思。 zip 文件夹中没有 zip 文件。
  • $zip->addFile("file_path","file_name");
  • zip 文件是文件 :) 不是文件夹。它包含文件和结构。按照提供的链接获取创建 zip-archive 应该做的事情

标签: php php-zip-archive


【解决方案1】:

无法创建空 Zip,您必须选择一些文件来创建 zip 文件。试试下面的代码

$zip = new ZipArchive();
$filename = "test.zip";

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
    exit("cannot open <$filename>\n");
}
$zip->addFile("a.jpg","b.jpg");
$zip->close();

从您的文件中替换“a.jpg”、“b.jpg”。

【讨论】:

  • 谢谢你,亲爱的,它是工作代码,但我仍然很困惑,如果一个 zip 文件直到现在还没有创建,那么它怎么能返回 true。
猜你喜欢
  • 2018-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多