欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

PHP判断远程文件是否存在

程序员文章站 2023-11-10 10:55:22
PHP判断远程文件是否存在...
  <?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("/200/", $first_header)){
  return false;
  }
  return true;
  }
  ?>
相关标签: php 远程文件