- <?php
- /*
- 函数:remote_file_exists
- 功能:判断远程文件是否存在
- 参数: $url_file -远程文件URL
- 返回:存在返回true,不存在或者其他原因返回false
- */
- function remote_file_exists($url_file){
- //检测输入
- $url_file = trim($url_file);
- if (emptyempty($url_file)) { return false; }
- $url_arr = parse_url($url_file);
- if (!is_array($url_arr) || emptyempty($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;
- }
- ?>
新闻热点
疑难解答