zoukankan      html  css  js  c++  java
  • PHP 获取远程文件大小的3种解决方法

    转 http://www.3lian.com/edu/2013/07-12/80472.html
    以下是对PHP中获取远程文件大小的3种解决方法进行了详细的介绍,需要的朋友参考下
     

    1、使用file_get_contents()

    复制代码 代码如下:

    <?php
    $file = file_get_contents($url);
    echo strlen($file);
    ?>


    2. 使用get_headers()

    复制代码 代码如下:

    <?php
    $header_array = get_headers($url, true);
    $size = $header_array['Content-Length'];
    echo $size;
    ?>


    PS:
    需要打开allow_url_fopen!
    如未打开会显示
    Warning: get_headers() [function.get-headers]: URL file-access is disabled in the server configuration
    3.使用fsockopen()

    复制代码 代码如下:


    <?php
     function get_file_size($url) {
         $url = parse_url($url);

         if (empty($url['host'])) {
             return false;
         }

         $url['port'] = empty($url['post']) ? 80 : $url['post'];
         $url['path'] = empty($url['path']) ? '/' : $url['path'];

         $fp = fsockopen($url['host'], $url['port'], $error);

         if($fp) {
             fputs($fp, "GET " . $url['path'] . " HTTP/1.1rn");
             fputs($fp, "Host:" . $url['host']. "rnrn");

             while (!feof($fp)) {
                 $str = fgets($fp);
                 if (trim($str) == '') {
                     break;
                 }elseif(preg_match('/Content-Length:(.*)/si', $str, $arr)) {
                     return trim($arr[1]);
                 }
             }
             fclose ( $fp);
             return false;
         }else {
             return false;
         }
     }
     ?>

  • 相关阅读:
    贪吃蛇 666
    安装postgresql
    linux CentOS6.5 yum安装mysql 5.6
    centos--git搭建之Gogs安装
    查看mysql 默认端口号和修改端口号
    centos之mysql安装配置使用
    流媒体服务器SRS部署
    vue用webpack打包时引入es2015插件
    log4j2的log输出到tomcat/logs目录下及使用(转)
    log4j2的配置文件log4j2.xml笔记
  • 原文地址:https://www.cnblogs.com/sensai-sun/p/6773536.html
Copyright © 2011-2022 走看看