Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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处理大型压缩文件_Php_Pclzip - Fatal编程技术网

用php处理大型压缩文件

用php处理大型压缩文件,php,pclzip,Php,Pclzip,我试图在我的服务器上同时压缩多个图像。 压缩文件的大小可以在250MB到750MB之间 我正在使用pclzip库 我使用共享主机,所以最大执行时间和内存限制是有限的。 我怎样才能解决这个问题?或者请告诉我其他的解决方案 谢谢您是否尝试在脚本中使用设置时间限制(int$seconds) 请原谅伪代码,但是类似的东西 initialise the zip class foreach ( files in the directory as $idx => $name) { add $n

我试图在我的服务器上同时压缩多个图像。 压缩文件的大小可以在250MB到750MB之间 我正在使用pclzip库

我使用共享主机,所以最大执行时间和内存限制是有限的。 我怎样才能解决这个问题?或者请告诉我其他的解决方案


谢谢

您是否尝试在脚本中使用
设置时间限制(int$seconds)

请原谅伪代码,但是类似的东西

initialise the zip class

foreach ( files in the directory as $idx => $name) {
    add $name to the zip file;

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

也许10是一个小数字,但你明白了

或者,您可以尝试将max_execution_time设置为0,就像这样,只在脚本顶部设置一次

set_time_limit( 0 );

也许这些操作太大,无法在共享主机上完成。这就是您在执行时间和内存使用方面有限制的原因-您不希望其他人的进程减慢您的操作速度…可能尝试以增量方式压缩文件,而不是“一次”压缩所有文件。是的,我尝试按照您的建议以增量方式压缩文件,即多个zip文件,而不是一个大的zip文件。但在这种情况下,脚本的最大执行时间也超过了我的服务器限制30秒。我的意思是每次向zip文件添加一个图像,而不是一次添加多个文件。是的,这样做了,但脚本在最大执行时间内失败。你有什么类似-1的建议吗。将应用程序托管到专用/虚拟服务器2。在其他共享主机中部署应用程序,我可以在其中增加脚本的最大执行时间。谢谢,我已经按照您的建议尝试过了。但问题是,当我联系主机的支持团队时,他们说我不能更改/更改他们的任何默认值。在这种情况下你有什么建议?选择其他可以设置这些值的主机还是使用专用/虚拟服务器更好?