我为我们的软电话中的屏幕弹出窗口编写了一个脚本,该脚本为调用者定位目录列表,但偶尔他们会得到“无法读取输入流”,脚本的其余部分退出。使用fread抑制错误
有没有人有任何建议如何抑制错误的错误信息,并允许脚本的其余部分运行?谢谢!
$i=0;
$open = fopen("http://www.411.ca/whitepages/?n=".$_GET['phone'], "r");
$read = fread($open, 9024);
fclose($open);
eregi("'/(.*)';",$read,$got);
$tv = ereg_replace('[[:blank:]]',' ',$got[1]);
$url = "http://www.411.ca/".$tv;
while ($name=="unknown" && $i < 15) { ## try 15 times before giving up
$file = @ fopen($fn=$url,"r") or die ("Can't read input stream");
$text = fread($file,16384);
if (preg_match('/"name">(.*?)<\/div>/is',$text,$found)) {
$name = $found[1];
}
if (preg_match('/"phone">(.*?)<\/div>/is',$text,$found)) {
$phone = $found[1];
}
if (preg_match('/"address">(.*?)<\/div>/is',$text,$found)) {
$address = $found[1];
}
fclose($file);
$i++;
}
不要使用ereg_函数,请使用preg_函数。 Ereg函数已弃用。 – ryeguy 2010-04-23 18:46:52
我之前写过这篇文章,因为我记得我在语法上遇到了很多困难,因为我需要在/'之间选择字符串。 老实说,preg语法对我来说是中国语。 – Mikey1980 2010-04-23 19:22:43
Preg语法与ereg语法相同,但是它的扩展。唯一的区别是你必须将正则表达式换成两个。 – ryeguy 2010-04-23 20:24:02