首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件大小()动态- PHP

文件大小()动态- PHP
EN

Stack Overflow用户
提问于 2020-03-12 10:25:17
回答 1查看 224关注 0票数 0

我想要使文件大小(),一个动态的文件大小。什么意思?

我的意思是,当我给它一个链接,链接也是动态的。filesize()将计算以Kb、Mb和Gb为单位的文件大小。

我的链接是动态的,我只想要Mb和Gb转换后的文件大小()。我要它做URL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-12 10:56:05

这会起作用的

你也可以传递一个精度,也许你希望这个值是0。

代码语言:javascript
复制
<?php

function human_filesize($size, $precision = 2) {
    $units = ['B','kB','MB','GB','TB','PB','EB','ZB','YB'];
    $step = 1024;
    $i = 0;
    while (($size / $step) > 0.9) {
        $size = $size / $step;
        $i++;
    }
    return round($size, $precision).$units[$i];
}

function getFileSizeFromUrl($url){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_HEADER, TRUE);
    curl_setopt($ch, CURLOPT_NOBODY, TRUE);

    $data = curl_exec($ch);
    $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);

    curl_close($ch);
    return human_filesize($size);
}

echo getFileSizeFromUrl(" YOUR URL HERE ");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60652069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档