首页 > Web开发 > 详细

php如何判断远程文件是否存在

时间:2016-11-28 11:12:56      阅读:211      评论:0      收藏:0      [点我收藏+]

<?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\r\n"; 
    $request_str .= "Host:".$host."\r\n"; 
    $request_str .= "Connection:Close\r\n\r\n";

       //发送请求 
    fwrite($fp,$request_str); 
       $first_header = fgets($fp, 1024); 
    fclose($fp);

       //判断文件是否存在 
       if (trim($first_header) == ""){ return false;} 
       if (!preg_match("/2002881064151/", $first_header)){ 
              return false; 
       } 
       return true; 
}

?>


函数描述及例子

 

<? 
//测试代码 
$str_url = ‘http://www.phpx.com/viewarticle.php?id=119617‘; 
$exits = remote_file_exists($str_url); 
echo $exists ? "Exists" : "Not exists"; 
?>

 

php如何判断远程文件是否存在

原文:http://www.cnblogs.com/cbryge/p/6108633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!