首页 > 学院 > 编程设计 > 正文

PHP判断远程文件是否存在

2020-06-27 15:47:43
字体:
来源:转载
供稿:网友
  1. <?php  
  2.   /*  
  3.   函数:remote_file_exists  
  4.   功能:判断远程文件是否存在  
  5.   参数: $url_file -远程文件URL  
  6.   返回:存在返回true,不存在或者其他原因返回false  
  7.   */  
  8.   function remote_file_exists($url_file){  
  9.   //检测输入  
  10.   $url_file = trim($url_file);  
  11.   if (emptyempty($url_file)) { return false; }  
  12.   $url_arr = parse_url($url_file);  
  13.   if (!is_array($url_arr) || emptyempty($url_arr)){return false; }  
  14.   //获取请求数据  
  15.   $host = $url_arr['host'];  
  16.   $path = $url_arr['path'] ."?".$url_arr['query'];  
  17.   $port = isset($url_arr['port']) ?$url_arr['port'] : "80";  
  18.   //连接服务器  
  19.   $fp = fsockopen($host$port$err_no$err_str,30);  
  20.   if (!$fp){ return false; }  
  21.   //构造请求协议  
  22.   $request_str = "GET ".$path."HTTP/1.1/r/n";  
  23.   $request_str .= "Host:".$host."/r/n";  
  24.   $request_str .= "Connection:Close/r/n/r/n";  
  25.   //发送请求  
  26.   fwrite($fp,$request_str);  
  27.   $first_header = fgets($fp, 1024);  
  28.   fclose($fp);  
  29.   //判断文件是否存在  
  30.   if (trim($first_header) == ""){ return false;}  
  31.   if (!preg_match("/200/"$first_header)){  
  32.   return false;  
  33.   }  
  34.   return true;  
  35.   }  
  36.   ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表