我不知道发生了什么事!每次执行可以保存多少文件是否有限制?
所以,我有一个数组,其中列出了另一台服务器上的图像的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));
}
任何想法发生了什么? 非常感谢!
答案 0 :(得分:2)
某些条目是否具有$response['images'][$i]['date']
的相同值?您可能正在生成相同的输出文件名($path
)并且文件会相互覆盖。您可以尝试回显$response['images'][$i]['date']
以确保
答案 1 :(得分:0)
您可能正在尝试从PHP下载100张图片时达到脚本超时。作为一种脚本语言,PHP只能运行1-2000毫秒。但是,我认为基本的PHP安装设置的脚本执行时间为30秒,这对于你的脚本来说可能不够长。
答案 2 :(得分:0)
您可能想要编辑/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)