欢迎访问宙启技术站
智能推送

PHP函数获取文件大小的方法

发布时间:2023-06-09 19:43:02

PHP是一种流行的编程语言,经常用于开发Web应用程序和动态网站。当涉及到文件处理时,有时需要知道文件的大小。PHP提供了多个函数来获取文件大小。

1. 使用filesize()函数

PHP的内置函数filesize()可以获取文件的大小。该函数需要传递文件路径作为参数,然后返回文件大小,单位为字节。

示例代码:

$filename = 'example.txt'; //文件路径
$filesize = filesize($filename); //获取文件大小
echo "文件大小为:" . $filesize . "字节。"; //输出文件大小

2. 使用fstat()函数

fstat()函数可以获取文件的详细信息,包括文件大小。该函数需要打开文件,然后返回文件信息的数组。在返回的数组中,文件大小对应的键名为'size'。

示例代码:

$filename = 'example.txt'; //文件路径
$file = fopen($filename, 'r'); //打开文件
$fileinfo = fstat($file); //获取文件信息
$filesize = $fileinfo['size']; //获取文件大小
fclose($file); //关闭文件
echo "文件大小为:" . $filesize . "字节。"; //输出文件大小

3. 使用stat()函数

与fstat()函数类似,stat()函数可以获取文件的详细信息。该函数需要传递文件路径作为参数,然后返回文件信息的数组。在返回的数组中,文件大小对应的键名为'size'。

示例代码:

$filename = 'example.txt'; //文件路径
$fileinfo = stat($filename); //获取文件信息
$filesize = $fileinfo['size']; //获取文件大小
echo "文件大小为:" . $filesize . "字节。"; //输出文件大小

4. 使用filesize()函数和单位转换函数

如果需要将文件大小转换为更可读的格式,可以使用filesize()函数和单位转换函数。常见的单位包括字节、KB、MB、GB等。

示例代码:

$filename = 'example.txt'; //文件路径
$filesize = filesize($filename); //获取文件大小,单位为字节
echo "文件大小为:" . formatSizeUnits($filesize); //输出可读格式文件大小

//单位转换函数
function formatSizeUnits($bytes)
{
    if ($bytes >= 1073741824) {
        $bytes = number_format($bytes / 1073741824, 2) . ' GB';
    } elseif ($bytes >= 1048576) {
        $bytes = number_format($bytes / 1048576, 2) . ' MB';
    } elseif ($bytes >= 1024) {
        $bytes = number_format($bytes / 1024, 2) . ' KB';
    } elseif ($bytes > 1) {
        $bytes = $bytes . ' bytes';
    } elseif ($bytes == 1) {
        $bytes = $bytes . ' byte';
    } else {
        $bytes = '0 bytes';
    }
    return $bytes;
}

总结

以上介绍了四种获取文件大小的方法,其中filesize()函数是最简单和最常用的方法。如果需要获取文件的其他详细信息,可以使用fstat()函数或stat()函数。如果需要将文件大小转换为可读格式,可以使用filesize()函数和单位转换函数。