• 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"; 
    ?>

  • 相关阅读:
    SQL学习
    FOR XML PATH
    IOS学习网址
    weak nonatomic strong等介绍(ios)
    UVALive3045 POJ2000 ZOJ2345 Gold Coins
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA10905 Children's Game
  • 原文地址:https://www.cnblogs.com/cbryge/p/6108633.html
Copyright © 2020-2023  润新知