Heim > php教程 > php手册 > 判断远程文件是否存在的php函数

判断远程文件是否存在的php函数

WBOY
Freigeben: 2016-06-21 09:06:53
Original
1360 Leute haben es durchsucht

函数|是否存在

判断远程的文件是否存在。

/*
  函数:remote_file_exists
  功能:判断远程文件是否存在
  参数: $url_file - 远程文件URL
  返回:存在返回true,不存在或者其他原因返回false
*/
function remote_file_exists($url_file){
 //检测输入
 $url_file = trim($url_file);
 if (empty($url_file)) { return false; }
 $url_arr = parse_url($url_file);
 if (!is_array($url_arr) || empty($url_arr)){ return false; }

 //获取请求数据
 $host = $url_arr['host'];
 $path = $url_arr['path'] ."?". $url_arr['query'];
 $port = isset($url_arr['port']) ? $url_arr['port'] : "80";

 //连接服务器
 $fp = fsockopen($host, $port, $err_no, $err_str, 30);
 if (!$fp){ return false; }

 //构造请求协议
 $request_str = "GET ".$path." HTTP/1.1\r\n";
    $request_str .= "Host: ".$host."\r\n";
    $request_str .= "Connection: Close\r\n\r\n";

 //发送请求
    fwrite($fp, $request_str);
 $first_header = fgets($fp, 1024);
    fclose($fp);

 //判断文件是否存在
 if (trim($first_header) == ""){ return false; }
 if (!preg_match("/200/", $first_header)){
  return false;
 }
 return true;
}

//测试代码
$str_url = 'http://www.phpx.com/viewarticle.php?id=119617';
$exits = remote_file_exists($str_url);
echo $exists ? "Exists" : "Not exists";

?>

 



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage