php - PHP 的 zipArchive 类的大小限制?

标签 php zip ziparchive

我正在用 PHP 创建一个 zip 文件供用户下载。我没有从 PHP 或检查 zipArchive 类的 GetStatusString 函数中得到任何错误。但是,如果我将一些文件放入存档中,那么当我尝试打开它时,我会收到错误消息“压缩 (zipped) 文件夹无效或已损坏”。我检查了我添加的所有文件,它们都很好。我唯一能想到的是较大的文件导致了问题。但是“大”文件只有大约半兆字节,而且我找不到任何关于 zipArchive 文件大小限制的文档。对其他事情有什么想法可以尝试,这样我就可以找到这个问题吗?谢谢。

编辑: 我已将其缩小到一个导致问题的特定文件。还有其他一些同样大或更大的工作,所以我想抛开这个想法。以下是工作正常的文件名示例:

627简.CCD.pdf
712 Example_DrNotes.pdf
625 简.Labs2.pdf

是的,文件名中有空格...继承代码问题。这是不起作用的文件名:

623 简.实验室.pdf

这似乎不是文件名问题。这最终将通过网络进行,但我正在检查它在服务器上制作的实际 zi​​p 文件,这就是我遇到错误的地方。

代码如下:

$zip = new ZipArchive();
$zfileName = $GLOBALS["localUploadRoot"] . $zfile;
$requests = $this->getRequests(true);
foreach ($requests AS $r) {
    if (file_exists($GLOBALS["localInboundRequests"] . $r["file"])) {
        $zip->addFile($GLOBALS["localInboundRequests"] . $r["file"], $r["file"]);
    }
}
$zip->close();

编辑 2: 抱歉,我无法发布文件。它包含个人信息。

最佳答案

除非您使用 zip64,否则 Zip 文件中的文件限制为 4 GB(未压缩的文件大小),而 php 尚不支持它。 参见 http://bugs.php.net/bug.php?id=51353 .

关于php - PHP 的 zipArchive 类的大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3472650/

相关文章:

node.js - Node.js 是否有一个 zip 存档创建/解压模块可以运行/维护?

PHP ZipArchive 不添加任何文件 (Windows)

php - 递归数组搜索

php - 从谷歌驱动器 api 获取图像 URL 而不是内容

Java ZipFileSystem 属性

objective-c - NSOpenPanel 在 Objective-C 中获取文件名?

PHP - ZipArchive() 清理权限问题

php - Gitlab:从提交 ID 获取合并请求

php - 在 PHP 中输​​出 Mysql 数组

c++ - wxImage 通过流压缩文件。可能的?