存档   |   文章标签 ‘远程文件’

  • php下获取远程文件信息的重要函数get_headers

    get_headers函数很不错,在我们写一些php代码时,可能会需要获取远程文件的一些信息,比如文件大小、最后修改时间等等,而php内置的相关函数都不支持远程文件,于是我们就用上了get_headers函数。
    首先,我们要用到前面的两个自定义函数remote_file_exists(检查远程文件是否存在)、dump(格式化输出数组内容),这两个函数的具体代码都在前面有说过,并且在dump那篇文章中,最后的一段例程代码就是获取远程文件信息头的内容并格式化输出的结果。结果如下:

    1,360 次阅读 | 没有评论
    2010年8月27日 | 归档于 关注网络
  • 关于php判断远程文件是否存在的函数(remote_file_exists)的缺陷

    检查远程文件是否存在的方法有几种,其中比较被大家常用的是get_headers。一般都是通过获取文件头的方式来判断,而且如果在网上搜索一下“remote_file_exists”的话,会有很多例程,这里被大家常常转载的一段代码如下:
    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";
      [...]

    1,844 次阅读 | 2 条评论
    2010年8月24日 | 归档于 关注网络