📜  在 php 中获取文件大小(1)

📅  最后修改于: 2023-12-03 14:51:04.401000             🧑  作者: Mango

在 PHP 中获取文件大小

在 PHP 中获取文件大小是一个常见的需求,无论是为了显示文件的大小,还是为了进行后续的文件操作。PHP 提供了几种方法来获取文件的大小,本文将介绍其中常用的几种方法。

1. 使用 filesize 函数

filesize 函数是 PHP 提供的最简单的获取文件大小的方法。它接受一个文件路径作为参数,并返回该文件的大小(以字节为单位)。

$file = 'path/to/file.txt';
$filesize = filesize($file);
echo "文件大小为:" . $filesize . " 字节";
2. 格式化文件大小

通常,我们希望以更易读的方式显示文件大小,比如以 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);
3. 使用 stat 函数

stat 函数可以获取更详细的文件信息,包括文件大小、文件创建时间、修改时间等。以下是一个使用 stat 函数获取文件大小的示例:

$file = 'path/to/file.txt';
$fileinfo = stat($file);
$filesize = $fileinfo['size'];
echo "文件大小为:" . $filesize . " 字节";
4. 使用 fstat 函数

fstat 函数用于获取已经打开的文件的信息,相比于 stat 函数,它可以直接接受一个已打开的文件句柄作为参数,并获取该文件的大小。以下是一个使用 fstat 函数获取文件大小的示例:

$file = fopen('path/to/file.txt', 'r');
$fileinfo = fstat($file);
$filesize = $fileinfo['size'];
echo "文件大小为:" . $filesize . " 字节";
fclose($file);

以上是几种常用的在 PHP 中获取文件大小的方法。根据自己的需求选择合适的方法来使用。