• 漯河资讯网
 
您的位置:首页 > 电脑资讯

PHP判断远程文件是否存在

2020-05-21 20:01:43  来源:漯河资讯网
    1. <?php   /*
    2.   函数:remote_file_exists   功能:判断远程文件是否存在
    3.   参数:$url_file-远程文件URL   返回:存在返回true,不存在或者其他原因返回false
    4.   */   functionremote_file_exists($url_file){
    5.   //检测输入   $url_file=trim($url_file);
    6.   if(emptyempty($url_file)){returnfalse;}   $url_arr=parse_url($url_file);
    7.   if(!is_array($url_arr)||emptyempty($url_arr)){returnfalse;}   //获取请求数据
    8.   $host=$url_arr['host'];   $path=$url_arr['path']."?".$url_arr['query'];
    9.   $port=isset($url_arr['port'])?$url_arr['port']:"80";   //连接服务器
    10.   $fp=fsockopen($host,$port,$err_no,$err_str,30);   if(!$fp){returnfalse;}
    11.   //构造请求协议   $request_str="GET".$path."HTTP/1.1\r\n";
    12.   $request_str.="Host:".$host."\r\n";   $request_str.="Connection:Close\r\n\r\n";
    13.   //发送请求   fwrite($fp,$request_str);
    14.   $first_header=fgets($fp,1024);   fclose($fp);
    15.   //判断文件是否存在   if(trim($first_header)==""){returnfalse;}
    16.   if(!preg_match("/200/",$first_header)){   returnfalse;
    17.   }   returntrue;
    18.   }   ?>