您当前的位置: 首页 > 网站编程 > PHP教程 > PHP 获取远程文件大小的3种解决方法

PHP 获取远程文件大小的3种解决方法

作者:不详 来源:网络 发布时间: 2014-08-17 23:10 点击:
以下是对PHP中获取远程文件大小的3种解决方法进行了详细的介绍,需要的朋友参考下 1、使用file_get_contents() 复制代码 代码如下: ?php $file = file_get_contents($url); echo strlen($file); ? 2. 使用get_headers() 复制代码 代码如下: ?php $header_array = get_h

PHP 获取远程文件大小的3种解决方法

  以下是对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;

      }

  }

  ?>
分享到:
本文"PHP 获取远程文件大小的3种解决方法"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4