这是一个没有任何错误的脚本
$url="http://yahoo.com";
$file1 = fopen($url, "r");
$content = file_get_contents($url);
$t_beg = explode('<title>',$content);
$t_end = explode('</title>',$t_beg[1]);
echo $t_end[0];
这是使用外观检查多个网址并获取错误的相同脚本
for ($j=1;$j<=$i;$j++) {
if ($x[$j]!=''){
$t_u = "http:".$x[$j];
$file2 = fopen($t_u, "r");
$content2 = file_get_contents($t_u);
$t_beg = explode('<title>',$content);
$t_end = explode('</title>',$t_beg[1]);
echo $t_end[0];
}
}
错误是警告:fopen()[function.fopen]:php_network_getaddresses:getaddrinfo failed:没有这样的主机是已知的。在g:/
这里到底出了什么问题?
答案 0 :(得分:0)
这里到底出了什么问题
答案 1 :(得分:0)
在你尝试fopen之前:
$file2 = fopen($t_u, "r");
回显$t_u
的值,并确保它是正确的。
答案 2 :(得分:0)
我有一个这个脚本的版本 - 这意味着你的数据可能是错误的。在尝试获取URL的内容之前,您可以在域上执行DNS查找。从本质上讲,你错过了一些错误检查:
<?php
$x = array('//yahoo.com', '//google.com', '//leenux.org.uk');
$i = 3;
for ($j=0;$j<$i;$j++) {
if ($x[$j]!=''){
$t_u = "http:".$x[$j];
$content2 = file_get_contents($t_u);
if (preg_match("/\\<title\\>(.*)\\<\\/title\\>/", $content2, $matches)) {
echo $matches[1];
}
}
}
?>
答案 3 :(得分:0)
我首先会检查此服务器上php.ini文件中allow_url_fopen的设置。