Apr
11

PHP判断远程文件是否存在     2009

 09:36    484    0   noel 程序 代码 源码 不指定 | |
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;
}

?>



函数描述及例子

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


作者:noel@淘宝网女装新款秋装连衣裙裤子外套上衣_2012时尚女装新款 Ecmall二次开发-PHP技术
地址:http://www.laohucheng.com/post/288/
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!

Tags: 引用(0)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我