知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

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

发布时间:2017-04-26 10:56:14作者:知识屋

PHP 获取远程文件大小的3种解决方法 如何用PHP获取远程大文件的大小 以下是对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;


  }


  }


  ?>


(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜