【发布时间】:2012-03-07 10:33:45
【问题描述】:
我有 2 个用 PHP 编写的代码
<?php
error_reporting(1);
function url_exists($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$status = array();
preg_match('/HTTP\/.* ([0-9]+) .*/', curl_exec($ch) , $status);
return ($status[1] == 200);
}
echo "EX:".url_exists("http://www.google.com");
?>
和
<?php
error_reporting(1);
$ch = curl_init("www.yahoo.com");
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode>=200 && $httpcode<300)
{
echo "Found@";
}
else
{
echo "Not found";
}
?>
以上这些都不起作用?为什么???昨天工作还不错,为什么PHP有时无法解释?
我有来自 php.ini 的 curl 扩展...我在 3 个不同的服务器上尝试过...
我做错了什么?谢谢。
【问题讨论】:
-
什么不起作用?错误信息?
-
什么都没有,只是不会返回 1 或 0 ...相信我,或者返回就好像 google.com 不存在一样
-
在任何情况下,您的脚本都不会返回 1 或 0!请谷歌“js调试”。试试
var_dump(curl_exec($ch));。另请参阅下面关于回声布尔值的编辑。 -
var_dump(curl_exec($ch)) 的第二个代码返回 bool(false) ...天哪,这太令人沮丧了,昨天工作得很好,我从来没有碰过电脑,我安装了深度冻结...