我在目录中有5个文件,它显示文件大小= 4096但是当我删除4个文件并且只剩下1个文件时,它仍然显示相同的大小。 这就是我如何获得文件大小
echo filesize("user_files/".$uid."/".$rs['DirectoryName']);
答案 0 :(得分:8)
filesize
不会给出其内容的大小。它返回文件系统节点的大小,在您的情况下,需要4kb。此大小取决于目录中文件的金额。
要获取内容的实际大小 - 您需要获取每个文件的大小并对其进行汇总。
答案 1 :(得分:1)
您可以获取您的总文件夹大小及其子目录
$dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS));
$size = 0;
foreach ( $dir as $file ) {
$size += $file->getSize();
}
var_dump($size);
另请注意
由于PHP的整数类型已签名且许多平台使用32位整数,因此某些文件系统函数可能会为大于2GB的文件返回意外结果。