📅  最后修改于: 2023-12-03 14:51:04.401000             🧑  作者: Mango
在 PHP 中获取文件大小是一个常见的需求,无论是为了显示文件的大小,还是为了进行后续的文件操作。PHP 提供了几种方法来获取文件的大小,本文将介绍其中常用的几种方法。
filesize
函数filesize
函数是 PHP 提供的最简单的获取文件大小的方法。它接受一个文件路径作为参数,并返回该文件的大小(以字节为单位)。
$file = 'path/to/file.txt';
$filesize = filesize($file);
echo "文件大小为:" . $filesize . " 字节";
通常,我们希望以更易读的方式显示文件大小,比如以 KB、MB 或 GB 为单位。下面是一个用于格式化文件大小的函数:
function formatSizeUnits($bytes)
{
if ($bytes >= 1073741824) {
return number_format($bytes / 1073741824, 2) . ' GB';
} elseif ($bytes >= 1048576) {
return number_format($bytes / 1048576, 2) . ' MB';
} elseif ($bytes >= 1024) {
return number_format($bytes / 1024, 2) . ' KB';
} elseif ($bytes > 1) {
return $bytes . ' bytes';
} elseif ($bytes == 1) {
return $bytes . ' byte';
} else {
return '0 bytes';
}
}
$file = 'path/to/file.txt';
$filesize = filesize($file);
echo "文件大小为:" . formatSizeUnits($filesize);
stat
函数stat
函数可以获取更详细的文件信息,包括文件大小、文件创建时间、修改时间等。以下是一个使用 stat
函数获取文件大小的示例:
$file = 'path/to/file.txt';
$fileinfo = stat($file);
$filesize = $fileinfo['size'];
echo "文件大小为:" . $filesize . " 字节";
fstat
函数fstat
函数用于获取已经打开的文件的信息,相比于 stat
函数,它可以直接接受一个已打开的文件句柄作为参数,并获取该文件的大小。以下是一个使用 fstat
函数获取文件大小的示例:
$file = fopen('path/to/file.txt', 'r');
$fileinfo = fstat($file);
$filesize = $fileinfo['size'];
echo "文件大小为:" . $filesize . " 字节";
fclose($file);
以上是几种常用的在 PHP 中获取文件大小的方法。根据自己的需求选择合适的方法来使用。