前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP 获取远程文件大小的3种解决方法

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

作者头像
双面人
发布2020-01-13 17:46:48
1.7K0
发布2020-01-13 17:46:48
举报
文章被收录于专栏:热爱IT热爱IT

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.1\r\n");          fputs($fp, "Host:" . $url['host']. "\r\n\r\n");          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;      }  }  ?>

本文转载自:https://www.jb51.net/article/39682.htm

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档