问题标签 [ziparchive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2697 浏览

php - 为什么 PHP 不创建这个 zip 文件(权限问题)

  • 我在窗户上

  • 我正在使用 PHING 压缩一些文件

  • 我有很多东西要拉上拉链

  • 压缩工作,除了那些在被压缩的文件中包含特定 phing 文件集的文件

  • 当我调试时,我可以在 phing 的 ZIP 任务中看到 ZipArchive::close 返回 false。错误字符串显示为“权限被拒绝”。在手册中,它指出 close() 是实际写入文件的内容。

  • 这不是时间耦合,换句话说,无论这个是第一个、最后一个还是其他什么,它都会发生。所有其他的工作。这个好像没有什么不同。

这是我的构建文件:http ://pastebin.org/84786 (一个月有效)

问题出在第 251 行。它之前和之后的 zip 任务都可以正常工作。在调试器中,我可以看到大约 150 个文件被添加到 zip 中。我已经在调试器中验证了所有路径都是正确的。

该构建似乎在 linux 上运行良好。

当我右键单击 zip 文件所在的文件夹时,只读复选框“蓝出”,未选中或未选中。无论我是选中还是取消选中它,然后按确定并返回文件夹的属性,复选框再次为“蓝色”。显然这是设计使然(http://support.microsoft.com/kb/326549),这似乎不是问题,因为它只发生在那个文件中。

另一个奇怪的事情是,如果我转到第 252 行并将文件集更改为指向,例如,它正上方的“importer”模块中的文件,它会创建 zip。但是,第 236 行的 .tar.gz 证明每次都可以正常工作。所以它只发生在为 zip 任务设置的特定文件中。该文件集适用于 tar 任务。事实上,它下面的“包”注释下的所有任务也引用了这些文件,但不会创建 tar.gz 文件。

是什么赋予了?

另外:新的观察......如果我足够快地刷新文件视图,我可以看到 myzipfile.zip.tmp 正在构建,但 myzipfile.zip 永远不会被创建。

在 linux 上,我只是仔细检查了一切是否正常工作。去搞清楚。

0 投票
1 回答
219 浏览

php - 通过 ZipArchive 取消归档比在 php 中使用 exec() 更快吗?

我正在编写一个需要解压缩用户上传的档案的应用程序。PHP 提供了 ZipArchive 类,但也应该可以通过 exec() 使用 unzip 解压缩,我的问题是在性能和​​扩展方面哪个更可取?

0 投票
1 回答
15121 浏览

php - ZipArchive php 类 - 它是 PHP 内置的吗?

好的,只是想知道这个类内置的 PHP 版本。如果它们内置于所有平台(操作系统)中。我想要一种方法来搜索 zip 文件并将文件放置file_put_contents在 webroot 内的不同文件路径中。在任何情况下,我都熟悉如何使用 ZipArchive 类来做到这一点,但我想知道使用这个类是否是一个很好的解决方案并支持 MOST,如果不是所有服务器的话?我的意思是,我宁愿不使用需要服务器安装它的方法。我正在寻找一种解决方案,该解决方案将至少支持 MOST 服务器,而无需安装类......

谢谢 :)

另外,如果可能的话,我想支持打开 tar.gz 和/或 .tgz 文件,但我不认为 ZipArchive 类支持这一点,但也许一个不同的内置 php 类可以?

0 投票
2 回答
1582 浏览

iphone - iPhone 上用于大型存档的 ZipArchive 内存问题

我正在尝试将多个文件压缩到一个 zip 存档中,并且遇到内存不足的警告。由于完整的 zip 文件已加载到内存中,我猜这就是问题所在。有没有一种方法可以让我使用 ZipArchive 更好地管理压缩/解压缩,以便并非所有数据都立即存储在内存中?

谢谢!

0 投票
1 回答
1562 浏览

php - 无法使用 PHP ZipArchive 更新 word/rels/document.xml.rels

我正在尝试使用 PHP 将二进制数据作为图像加载到 Word 文档(Opem XML)中,以便以后与 XSLT 一起使用。

将 Word 文档作为 PHP ZipArchive 打开后,我能够成功地将图像加载到word/media文件夹中,并更新word/document.xml文件。但我无法更新word/rels/document.xml.rels文件中<Relationships/>的。

我已经交叉检查了 xml 格式是否正确。

以下是我尝试使用的代码片段,

谁能建议我可能做错了什么?

0 投票
3 回答
1483 浏览

php - 如何压缩图像文件并使用 PHP 提取它?我的代码产生损坏的提取

我有一个表单,用户可以在其中上传 100 mb 文件,这会导致上传延迟,因此我决定先在表单提交时压缩图像,然后将其上传到服务器上,然后在服务器上提取它。以便加载过程减少,因此为此我使用了如下脚本:

现在,从上面的代码中,我得到了提取的图像,但提取后图像的大小减少到 61 个字节并且已损坏,即无法查看。

这段代码有什么问题请指导我

0 投票
2 回答
1105 浏览

php - ZipArchive php 类以 root 身份提取文件。为什么?

我有一个 php 脚本:

但是当我通过http://www.mywebsite.com/extract.php执行这个脚本时

FTP 上的所有文件都以 OWNER 'root' 显示,但用户 ex 不显示。“新”应该是。所以用户不能编辑/重命名/删除这些文件。

无论如何都可以解决这个问题(我拥有服务器),文件将使用 'USERNAME' OWNERSHIP 提取?

0 投票
2 回答
13226 浏览

php - PHP ZipArchive what do status values mean?

I am right at the start of trying to write some PHP code to run on a Linux box on an EC2 server that will read files from my S3 bucket, zip them then write the zip file back to the bucket.

I have instantly run in to problems with even creating a simple zip archive from some images on the local disk of the EC2 instance, I am using a script to test out the idea from the PHP manual online and also have tried out a script from David Walsh - http://davidwalsh.name/create-zip-php which looks like it will be great. Neither result in an actual zip file and both give me different status results -

the first snippet from the php manual (to which i add the variable $thisdir)-

output =

numfiles: 2 status:11

I dont see any zip file in my 'uploads' folder

The second bit of code i try ( i wont post the code here) - I pass real files and it returns

The zip archive contains 2 files with a status of 0

What are the status messages. I have checked to see if I have the correct libraries installed by looking at the output of phpinfo(); and under the ZIP heading I see -

Zip enabled
Extension Version $Id: php_zip.c,v 1.1.2.43 2008/01/18 00:51:38 pajoye Exp $
Zip version 1.8.11
Libzip version 0.8.0-compatible

I have checked the permissions of the files PHP files with the code I am executing and they are set to 777 as is the folder I am trying to add the ziparchive to. I know that this should not remain at 777.

any ideas why I cannot see a zip file? what do the status values mean? Is there a good tutorial out there for using PHP to zip files on an Amazon S3 bucket? or a good utility to provide this functionality?

cheers

0 投票
3 回答
3175 浏览

php - PHP ZipArchive 不添加超过 700 个文件

我对 php_zip.dll 的 ZipArchive 类有疑问。我通过 php.net 上建议的 ZipArchiveImproved 包装类使用它来避免最大文件句柄问题。

问题其实很简单:700个文件被正确添加(jpg图片文件),其余的都失败了。addFile 方法返回 false。

PHP 版本是 5.2.6。

奇怪的是,这实际上曾经有效。
可能是什么问题呢?你能给我一些线索吗?

非常感谢您!

编辑:抱歉,我没有收到任何错误消息是不正确的(display_errors 在 php.ini 中已关闭,我之前没有注意到它)。从 701. 文件开始,我收到以下错误消息:

看起来 close() 调用返回 false,但没有发出错误。有任何想法吗?

编辑2:相关来源:

0 投票
3 回答
9318 浏览

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

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

编辑: 我已将其范围缩小到一个导致问题的特定文件。还有其他的工作一样大或更大,所以我想扔掉那个想法。以下是运行良好的文件名示例:

627 简.CCD.pdf
712示例_DrNotes.pdf
625 简.Labs2.pdf

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

第623章

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

这是代码:

编辑2: 对不起,我无法发布文件。里面有个人信息。