函数|是否存在判断远程的文件是否存在。
/*函数: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";?>
