【问题标题】:filesize() dynamic - PHP文件大小()动态 - PHP
【发布时间】:2020-03-12 10:25:17
【问题描述】:

我想制作一个动态文件大小的filesize()。什么意思?

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

我的链接是动态的,我只想将 filesize() 转换为 Mb 和 Gb。我想要它用于 URL。

【问题讨论】:

  • 我认为这将帮助您找到解决方案:stackoverflow.com/questions/18073406/… 谢谢。
  • 您是在尝试从 URL 获取文件大小,还是希望将字节转换为 MB / GB?
  • @NielsPrins 不,我只是想被转换......
  • @SourabhMatolia 我在那里看到...

标签: php wordpress


【解决方案1】:

这样就可以了

您也可以传递一个精度,也许您希望它为 0。

<?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 ");

【讨论】:

  • 它不起作用,我输入了一个 URL,它给出了错误在这里检查:blackmovie.xyz/Test,我刚刚更改了 echo human_filesize('m.media-amazon.com/images/M/…);
  • 是的,这只适用于本地文件。你说“不,我只是想皈依……”
  • 有没有办法为 URL 获取它?!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多