Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建低内存限制的大型zip文件?_Php_Zip - Fatal编程技术网

Php 如何创建低内存限制的大型zip文件?

Php 如何创建低内存限制的大型zip文件?,php,zip,Php,Zip,我需要从jpg文件创建一个大的zip存档。zip生成在64MB上中断-无法增加主机上的内存限制 我尝试了许多方法来生成zip文件,但都失败了: PHP ZipArchive类 exec(“zip-r file.zip*.jpg”) pclzip(具有生成临时文件而不是内存的选项) 也许有另一种方法可以使用低内存输入的流/临时文件创建zip文件 感谢您的建议您可以尝试在脚本中设置时间限制(秒)或ini设置(“最大执行时间”),秒 你可以试试这样的 initialise your zip cla

我需要从jpg文件创建一个大的zip存档。zip生成在64MB上中断-无法增加主机上的内存限制

我尝试了许多方法来生成zip文件,但都失败了:

  • PHP ZipArchive类
  • exec(“zip-r file.zip*.jpg”)
  • pclzip(具有生成临时文件而不是内存的选项)
也许有另一种方法可以使用低内存输入的流/临时文件创建zip文件


感谢您的建议

您可以尝试在脚本中设置时间限制(秒)或ini设置(“最大执行时间”),秒

你可以试试这样的

initialise your zip class

foreach ( files in the directory as $idx => $name) {

    add $name to your zip file;

    // every 10 files zipped, reset the max_execution_time
    if ( $idx > 0 && $idx % 10 == 0 ) {
        set_time_limit ( 30 ); //if it doesnt work try to use ini_set('max_execution_time', 30);
    }
}
它将继续将最大执行时间重置为每压缩10个文件30秒


我以10个文件为例,您可以根据您的平均文件大小进行设置。

您读过这篇文章吗?它看起来很有用,而且相当全面@NickAllen谢谢,我试过fopen,但也没用(我认为在服务器上,不仅在php中,机器本身也有限制。