猿问

文件大小()动态 - PHP

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

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

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


凤凰求蛊
浏览 142回答 1
1回答

烙印99

这会成功的您也可以传递一个精度,也许您希望它为 0。<?phpfunction human_filesize($size, $precision = 2) {&nbsp; &nbsp; $units = ['B','kB','MB','GB','TB','PB','EB','ZB','YB'];&nbsp; &nbsp; $step = 1024;&nbsp; &nbsp; $i = 0;&nbsp; &nbsp; while (($size / $step) > 0.9) {&nbsp; &nbsp; &nbsp; &nbsp; $size = $size / $step;&nbsp; &nbsp; &nbsp; &nbsp; $i++;&nbsp; &nbsp; }&nbsp; &nbsp; return round($size, $precision).$units[$i];}function getFileSizeFromUrl($url){&nbsp; &nbsp; $ch = curl_init($url);&nbsp; &nbsp; curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);&nbsp; &nbsp; curl_setopt($ch, CURLOPT_HEADER, TRUE);&nbsp; &nbsp; curl_setopt($ch, CURLOPT_NOBODY, TRUE);&nbsp; &nbsp; $data = curl_exec($ch);&nbsp; &nbsp; $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);&nbsp; &nbsp; curl_close($ch);&nbsp; &nbsp; return human_filesize($size);}echo getFileSizeFromUrl(" YOUR URL HERE ");
随时随地看视频慕课网APP
我要回答