/*
函数:remote_file_exists
功能:判断远程文件是否存在
参数: $url_file -远程文件URL
返回:存在返回true,不存在或者其他原因返回false
*/
functionremote_file_exists($url_file){
//检测输入
$url_file= trim($url_file);
if(empty($url_file)) {returnfalse; }
$url_arr=parse_url($url_file);
if(!is_array($url_arr) ||empty($url_arr)){returnfalse; }
//获取请求数据
$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){returnfalse; }
//构造请求协议
$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) ==""){returnfalse;}
if(!preg_match("/200/",$first_header)){
returnfalse;
}
returntrue;
}
?>
转自:http://www.cnblogs.com/52php/p/5687418.html
网友评论