2013-03-08 57 views
0

我有一个ZipArchive脚本,用于在我的网站上的“下载篮子”功能。用户选择他们想要添加到购物篮中的音频,然后该脚本对用户进行身份验证,并抓取所有安全文件,并将其添加到可供下载的zip文件中。ZipArchive限制? PHP

下载zip后,代码将删除该文件。这一切运行良好,但我遇到了更大的文件问题!如果用户想要压缩超过250MB的曲目,那么写入的临时zip文件永远不会超过250MB - 它会被覆盖并重新开始。然后

我的两个问题是:

  1. 确实ZipArchive有限制的文件被写入?
  2. ZipArchive是否有不同的方式来编写文件来创建更大的文件?

感谢您的帮助。

回答

0

ZIP文件的限制是4 GB的压缩文件。对于较大的4 GB,您需要将其分开。

但它可以取决于memory_limit()如果你在飞行中的ZIP它将在较低的容量。

ZipArchive是否有不同的方式来编写文件,使 更大的文件?

不可以。但是,如果你愿意,你可以拆分你的存档器,并且以后可以加入字符串解压。

+0

感谢您回到我身边。我们正在处理未压​​缩的WAV音频文件,有些客户喜欢下载“整张专辑” - 因此这最终将占用每个zip约1/2gb。我对4GB限制没有问题。我试图用shell_exec(copy)来做类似的任务,但是没有文件被复制 - 非常令人沮丧。我可以在PHP脚本中设置内存限制吗?这受限于盒子的RAM数量吗? – 2013-03-08 17:29:39

+0

尝试在文件底部添加'ini_set('memory_limit','-1');'。增加内存或允许通过FTP匿名帐户下载。 – 2013-03-09 01:24:02