PHP filesize()
函数 用于获取文件的大小,它返回的是字节数。
语法
filesize(string $filename)
参数
参数 说明 必须/可选 filename 文件路径,可以是绝对路径也可以是相对路径 必须
返回值
成功时返回文件大小的字节数,失败时返回false,并生成一条 E_WARNING 级的错误。
注意点
该函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。
因为 PHP 的整数类型是有符号的,并且大多数平台使用 32 位整数,filesize() 函数在碰到大于 2GB 的文件时可能会返回非预期的结果。
对于 2GB 到 4GB 之间的文件通常可以使用 sprintf("%u", filesize($file)) 来克服此问题。
例子
现介绍一个简单的例子了解该函数的使用方法。
<?php
echo filesize("test.txt");
?>
结果返回的是字节,如果需要转换为我们好阅读的模式可以使用下面的方法。
function formatSize($size) {
$sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
if ($size == 0) {
return('n/a');
} else {
return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]);
}
}