1

我正在从网站下载图像,但出现错误提示"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');

                        }

                    }   

那是我正在使用的代码

4

3 回答 3

2
set_time_limit(0);

确保它位于文档顶部,紧随其后<?php

于 2012-06-20T16:42:34.383 回答
2

或者,您可以更改max_execution_timephp.ini 文件中的 ,使其符合您的需要。

于 2012-06-20T18:01:26.990 回答
1

您应该改用set_time_limit(0)php.net)。

于 2012-06-20T16:42:50.783 回答