我正在努力从网站下载图像,出现错误,指出"Maximum execution time of 30 seconds exceeded"
并且图像下载已停止。我尝试添加以下我认为可以解决问题的代码行:
ini_set('max_execution_time', 0); //zero means forever I think, I also tried 200 or 300 seconds
它没有给我错误,但执行停止了(我的意思是图像停止下载)。
如何使执行时间延长到 300 秒?有什么解决方案吗?
提前感谢!
编辑:
function save_image($inPath,$outPath)
{
$in= fopen($inPath, "rb");
$out= fopen($outPath, "wb");
while ($chunk = fread($in,8192))
{
fwrite($out, $chunk, 8192);
}
fclose($in);
fclose($out);
}
和一个方法调用:
foreach($li->find('a[class=thumbnail]') as $img)
{
foreach($img->find('img') as $e)
{
$image++;
echo "<img src='"" . $e->src . "'"/>" . "<br>";
save_image($e->src, 'thumbs/image'. $image .'.JPG');
}
}
这就是我正在使用的代码
或者
,您可以更改 php.ini 文件中的max_execution_time
,使其与您需要的相匹配。
set_time_limit(0);
确保它位于文档顶部,紧随<?php
之后
您应该改用set_time_limit(0)
(php.net)。