>  기사  >  백엔드 개발  >  PHP函数:判断远程文件是否存在实例代码_PHP教程

PHP函数:判断远程文件是否存在实例代码_PHP教程

WBOY
WBOY원래의
2016-07-13 17:41:19693검색

本文介绍PHP函数 - 判断远程文件是否存在实例代码

  1. /*
  2.   函数:remote_file_exists
  3.   功能:判断远程文件是否存在
  4.   参数: $url_file - 远程文件URL
  5.   返回:存在返回true,不存在或者其他原因返回false
  6. */
  7. function remote_file_exists($url_file){
  8.     //检测输入
  9.     $url_file = trim($url_file);
  10.     if (empty($url_file)) { return false; }
  11.     $url_arr = parse_url($url_file);
  12.     if (!is_array($url_arr) || empty($url_arr)){ return false; }
  13.     
  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.     //连接服务器
  20.     $fp = fsockopen($host, $port, $err_no, $err_str, 30);
  21.     if (!$fp){ return false; }
  22.     
  23.     //构造请求协议
  24.     $request_str = "GET ".$path." HTTP/1.1 ";
  25.     $request_str .= "Host: ".$host." ";
  26.     $request_str .= "Connection: Close ";
  27.     
  28.     //发送请求
  29.     fwrite($fp, $request_str);
  30.     $first_header = fgets($fp, 1024);
  31.     fclose($fp);
  32.     
  33.     //判断文件是否存在
  34.     if (trim($first_header) == ""){ return false; }
  35.     if (!preg_match("/200/", $first_header)){
  36.         return false;
  37.     }
  38.     return true;
  39. }
  40. //测试代码
  41. $str_url = http://www.ite5e.com/newsinfo.php?nid=1493;
  42. $exits = remote_file_exists($str_url);
  43. echo $exists ? "Exists" : "Not exists";
  44. ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486160.htmlTechArticle本文介绍PHP函数 - 判断远程文件是否存在实例代码 ?php /* 函数:remote_file_exists 功能:判断远程文件是否存在 参数: $url_file - 远程文件URL...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.