为何我的自定义函数只能第一次循环是执行,第二次循环到这个函数就自动退出了?奇怪。

lornechang 2011-04-17 11:22:39
循环里面一个自定义函数抓取网页信息,经过echo测试只有第一次执行了,执行到第二次函数前面的代码还执行,到了函数这里就退出了整个程序,怎么回事?奇怪。。。。
function curl($url)
{
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1 )");
curl_setopt($curl,CURLOPT_HEADER,1);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$a=curl_exec($curl);
return $a;
}
...全文
144 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 t5500 的回复:]

函数定义看不出什么问题,把循环调用的代码发出来看看。
[/Quote]


+1
lornechang 2011-04-18
  • 打赏
  • 举报
回复
我把需要用函数的地方全用变量代替了就行了,虽然问题解决了,但是我还是想知道为什么。。。。。太奇怪了!
lornechang 2011-04-18
  • 打赏
  • 举报
回复
我确定的确是这段自定义函数错了,1.循环没错,2.的确是第二次到它前边停掉的,3.拿掉这段函数用file_get_content测试也没问题。要伪装user-agent,只能用CURL,怎么办呢?哎.....
lornechang 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 snmr_com 的回复:]

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
这个是按文件输出哦
[/Quote]就是要按文件输出啊,我还没选择我需要的字段就直接输出么。
ImN1 2011-04-17
  • 打赏
  • 举报
回复
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
这个是按文件输出哦
lornechang 2011-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 t5500 的回复:]

函数定义看不出什么问题,把循环调用的代码发出来看看。
[/Quote]
应该不会是后边代码的问题吧?第一次就很好啊,只是第二次运行到这个函数这里打住。新手边学习边写的代码,里边很多东西现在我看了都笑的,不好意思拿出来。700+行,以前运行的很好,修了一个BUG之后就不行了...
lornechang 2011-04-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hnxxwyq 的回复:]

是不是因为超时退出了!
[/Quote]
不是吧。。。。循环一次不到一秒啊,而且我已经把ini里的execute max time 调到无限大了。
lazyboy_wu 2011-04-17
  • 打赏
  • 举报
回复
是不是因为超时退出了!
乌镇程序员 2011-04-17
  • 打赏
  • 举报
回复
函数定义看不出什么问题,把循环调用的代码发出来看看。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧