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

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

程序员文章站 2022-05-09 18:40:46
...
本文介绍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. $host = $url_arr[host];
  15. $path = $url_arr[path] ."?". $url_arr[query];
  16. $port = isset($url_arr[port]) ? $url_arr[port] : "80";
  17. //连接服务器
  18. $fp = fsockopen($host, $port, $err_no, $err_str, 30);
  19. if (!$fp){ return false; }
  20. //构造请求协议
  21. $request_str = "GET ".$path." HTTP/1.1 ";
  22. $request_str .= "Host: ".$host." ";
  23. $request_str .= "Connection: Close ";
  24. //发送请求
  25. fwrite($fp, $request_str);
  26. $first_header = fgets($fp, 1024);
  27. fclose($fp);
  28. //判断文件是否存在
  29. if (trim($first_header) == ""){ return false; }
  30. if (!preg_match("/200/", $first_header)){
  31. return false;
  32. }
  33. return true;
  34. }
  35. //测试代码
  36. $str_url = http://www.ite5e.com/newsinfo.php?nid=1493;
  37. $exits = remote_file_exists($str_url);
  38. echo $exists ? "Exists" : "Not exists";
  39. ?>