PHP 文件函数

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]);  
    } 
}