zoukankan      html  css  js  c++  java
  • 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 "; 
        $request_str .= "Host:".$host." "; 
        $request_str .= "Connection:Close ";

           //发送请求 
        fwrite($fp,$request_str); 
           $first_header = fgets($fp, 1024); 
        fclose($fp);

           //判断文件是否存在 
           if (trim($first_header) == ""){ return false;} 
           if (!preg_match("/2002881064151/", $first_header)){ 
                  return false; 
           } 
           return true; 
    }

    ?>


    函数描述及例子

    <? 
    //测试代码 
    $str_url = 'http://www.phpx.com/viewarticle.php?id=119617'; 
    $exits = remote_file_exists($str_url); 
    echo $exists ? "Exists" : "Not exists"; 
    ?>

  • 相关阅读:
    系统架构
    Maven项目管理工具
    SpringMVC进阶(二)
    SpringMVC入门(一)
    Mybatis进阶(三)
    Mybatis进阶(二)
    Mybatis入门(一)
    Redis入门,Jedis和常用命令
    关于MVC 上传文件
    Html遮罩层的显示(主要在于样式设置)
  • 原文地址:https://www.cnblogs.com/cbryge/p/6108633.html
Copyright © 2011-2022 走看看