PHP函数:判断远程文件是否存在实例代码
程序员文章站
2022-05-09 18:40:46
...
本文介绍PHP函数 - 判断远程文件是否存在实例代码
- /*
- 函数: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 ";
- $request_str .= "Host: ".$host." ";
- $request_str .= "Connection: Close ";
- //发送请求
- 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.ite5e.com/newsinfo.php?nid=1493;
- $exits = remote_file_exists($str_url);
- echo $exists ? "Exists" : "Not exists";
- ?>