验证URL是否正常运行

问题描述

| 我将从用户那里获取URL。现在,我需要验证地址是否有效。 例如: 如果用户输入\“ google.com \”,那么我会将\“ google.com \”作为参数传递给某个函数,如果URL处于活动状态,正在上载并且正在运行,则函数将返回TRUE,否则返回FALSE。 任何内置功能或一些帮助。     

解决方法

        我建议使用get_headers($ url)并检查您的响应中是否包含\“ 200 OK \”。如果是这样,则该站点仍然有效,并以有效请求进行了响应。您还可以根据需要检查其他状态代码,例如重定向和诸如此类。     ,        
function url_exists($url){
    $ch = curl_init($url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_TIMEOUT,5);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
    curl_exec($ch);
    $code = curl_getinfo($ch,CURLINFO_HTTP_CODE);
    curl_close($ch);  
    return $code == 200;
}
您可能需要支持其他httpcode,例如201,但这取决于您。 编辑: 值得注意的是,这使您可以更好地控制失败之前要使用的超时。     ,        试试
fopen
$f = @fopen(\'http://www.google.com/\',\'r\');
if (is_resource($f)) {
  fclose($f);
  return true;
} else { return false; }