首页 > 语言 > PHP > 正文

PHP判断远程文件是否存在

2024-07-16 17:44:56
字体:
来源:转载
供稿:网友
<?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;
  }
  ?>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表