Heim  >  Artikel  >  Backend-Entwicklung  >  PHP函数:判断远程文件是否存在实例代码_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 17:41:19671Durchsuche

本文介绍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...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn