PHP 获取远程文件大小的3种解决方法
文章来源:
2019-10-08 08:53
发布者:何同东
导读在php中,文件大小可以通过file size函数获得,在php中获取文件大小和文件创建时间的方法涉及到在php中使用file size和fileatime函数的技巧,下文是爱站技术频道小编给出的PHP 获取远程文件大小的3种解决方法,请大
在php中,文件大小可以通过file size函数获得,在php中获取文件大小和文件创建时间的方法涉及到在php中使用file size和fileatime函数的技巧,下文是爱站技术频道小编给出的PHP 获取远程文件大小的3种解决方法,请大家一起去看看吧。
1、使用file_get_contents()
?
复制代码 代码如下:
$file = file_get_contents($url);
echo strlen($file);
?>
2. 使用get_headers()
?
复制代码 代码如下:
?
$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()
?
复制代码 代码如下:
?
?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种解决方法,如果你也想找一个靠谱的学习平台,请一定要先考察好,专业的知识你也可以收藏爱站技术频道!
原文链接:https://js.aizhan.com/develop/php/9329.html
如有疑问请与原作者联系
免责声明:本文章由会员“何同东”发布如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系
上一篇:
php打开文件fopen函数的使用说明
下一篇:
PHP添加Xdebug扩展的方法