如何filesize()使用MegaBytes,KiloBytes等将PHP 函数的输出转换为漂亮的格式?
喜欢:
我问如何转换KB MB GB TB&co.成字节.
例如:
byteconvert("10KB") // => 10240
byteconvert("10.5KB") // => 10752
byteconvert("1GB") // => 1073741824
byteconvert("1TB") // => 1099511627776
Run Code Online (Sandbox Code Playgroud)
等等...
编辑:哇.我在4年前问过这个问题.这种事情真的告诉你,随着时间的推移你有多少改进!
有很多的答案对这个问题的Java(如何字节大小转换为人类可读的格式在Java?和格式文件大小为MB,GB等)和甚至对Groovy/Grails的,更何况PHP,但有一个内置或方便的方法在FreeMarker中执行此操作?
为清楚起见,我采用通用SI方法,而不是2的二进制幂.例如
1 ? 1B
123 ? 123B
1000 ? 1KB
1728 ? 1.7KB
7077888 ? 7.1MB
Run Code Online (Sandbox Code Playgroud)
等等.
鉴于FreeMarker似乎没有对数函数,有没有办法在纯FreeMarker中执行此操作,或者是我用Java创建模板方法的唯一选择.
当我使用file_get_contents并将其作为参数传递给另一个函数而不将其分配给变量时,是否在脚本执行完成之前释放了该内存?
例如:
preg_match($pattern, file_get_contents('http://domain.tld/path/to/file.ext'), $matches);
Run Code Online (Sandbox Code Playgroud)
file_get_contents使用的内存是否会在脚本完成之前释放?
我正在使用 filesize() 来希望返回图像目录的总文件大小。该代码返回的大小为 24mb,我知道这是不正确的,该目录有大约 200+mb 的图像。有任何想法吗?
<?
$filename = '../uploads';
echo (filesize($filename) / 1024) . ' mb';
?>
Run Code Online (Sandbox Code Playgroud)