php 判断远程文件是否存在

2016-07-24  本文已影响80人  欧巴冰冰

/*

函数: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

上一篇 下一篇

猜你喜欢

热点阅读