fsockopen,fopen,file_get_contents的问题

Dleno 2009-12-10 02:34:30
这三个函数都是要打开URL。
如果URL的服务器能够连接,那没什么问题。

但是,如果URL服务器被关闭了,或者说在INTERNET上根本不存在这个URL,用这三个函数的任意一个都会出现问题。
它们会一直请求,一直到set_time_limit的时间为止。
如:
$fp=fopen($url,"r");

if(!$fp)//上面的URL的服务器无法连接,就始终都执行不到这里来。$fp=@fopen($url,"r");也是一样,其他2个函数的效果也一样。。

可是我要在if(!$fp)里面执行数据回滚的操作,哪位大虾知道该怎么做,才能在这种情况也执行到下面来

........
...全文
98 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dleno 2009-12-10
  • 打赏
  • 举报
回复
我已经发现并测试了。能行!
呵呵
xuzuning 2009-12-10
  • 打赏
  • 举报
回复
看看手册中的示例
$fp = @fsockopen("www.example.com", 80, $errno, $errstr, 5);//最大连接测试时间
if (!$fp) {
echo "$errstr ($errno)<br />\n";
}else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}

21,886

社区成员

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

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