繁体   English   中英

PHP-file_put_contents仅保存一半的文件?

[英]PHP - file_put_contents only saves half of the files?

我不知道发生了什么事! 每次执行可以保存多少文件是否有限制?

因此,我有一个数组,其中包含另一个服务器上图像的URL列表。 这可以正常工作,并返回有效的URL。 问题是当尝试保存它们时,返回100个URL时只保存52个文件。 如您所见,在保存图像之前,我回显了图像路径,并且在对行进行计数之后,它总计为100。(不,当然,我没有手动对它们进行计数!)

我正在运行一个循环:

for ($i=0; $i <= $count; ++$i) {
    $url = $response['images'][$i]['image'];
    $path = 'exported/'.$response['images'][$i]['date'].'.jpg';

    echo $response['images'][$i]['image'].'<br />';
    file_put_contents($path, file_get_contents($url));
}

有什么想法发生了什么? 谢谢你!

某些条目的$response['images'][$i]['date']是否相同? 您可能会生成相同的输出文件名( $path ),并使文件相互覆盖。 您可以尝试回显$response['images'][$i]['date']以确保

您可能试图从PHP下载100个图像时达到脚本超时。 作为一种脚本语言,PHP只能运行1-2000毫秒。 但是,我相信基本的PHP安装的脚本执行时间设置为30秒左右,对于您的脚本来说可能还不够长。

您可能想要编辑/etc/php5/cgi/php.ini中的php.ini文件(可能位于/ etc / php [x] / xxx中的其他位置)并进行以下设置:

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 16M      ; Maximum amount of memory a script may consume (16MB)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM