PHP 文件系统 filesize() 函数



PHP 文件系统filesize()函数用于获取文件的字节大小。在接收文件路径作为输入后,它将以整数形式返回文件大小(以字节为单位)。

当您需要在对文件进行任何更改之前确认文件的大小,此工具很有用。例如,您可以在进一步处理上传的文件之前,使用它来确保上传的文件大小不超过限制。

语法

以下是 PHP 文件系统filesize()函数的语法:

int filesize ( string $filename )

参数

下面提到了使用filesize()函数所需的的参数:

序号 参数及描述
1

filename(必填)

将用于获取大小的文件。

返回值

此函数可以返回文件的大小(以字节为单位),或者在发生错误时返回 false(并可能生成 E_WARNING 级别的错误)。失败时返回 FALSE。

PHP 版本

filesize()函数最初作为核心 PHP 4 的一部分引入,并且与 PHP 5、PHP 7、PHP 8 兼容。

示例

下面的 PHP 代码用于在 PHP 文件系统filesize()函数的帮助下获取指定文件路径的文件大小,它将以字节为单位返回大小。

<?php
   //Path to the file to be used
   $filename = "/PhpProject/sample.txt";
   echo $filename . ': ' . filesize($filename) . ' bytes';
?>

输出

这将产生以下结果:

/PhpProject/sample.txt: 27 bytes

示例

下面的 PHP 示例向我们展示了如何使用filesize()来检查目录中多个文件的大小。因此,为了获取目录中的文件列表,我们将使用 scandir() 函数。

<?php
   // Define the directory path 
   $directory = "/Applications/XAMPP/xamppfiles/htdoc/mac";
   $totalSize = 0;
   $files = scandir($directory);
   foreach ($files as $file) {
      if ($file !== '.' && $file !== '..') {
            $filePath = $directory . '/' . $file;
            $totalSize += filesize($filePath);
      }
   }
   echo "Total size of files in directory: " . $totalSize . " bytes";
?> 

输出

这将生成以下结果:

Total size of files in directory: 164 bytes

示例

此 PHP 示例向我们展示了如何使用filesize()函数来限制上传到网站的文件的大小。

<?php
   $maxFileSize = 5 * 1024 * 1024; // 5 MB
   if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
      if (filesize($_FILES['file']['tmp_name']) <= $maxFileSize) {
         // Process the uploaded file
      } else {
         echo "Error: File size exceeds the allowed limit.";
      }
   } else {
      echo "Error uploading file.";
   }
?> 

输出

这将创建以下结果:

# If the uploaded file size is within the permitted limit, the function will run the file.
# If the uploaded file size exceeds what is permitted, this message will show up: "Error: File size exceeds the allowed limit."
# If there is an issue with the file upload, this message will show up: "Error uploading file."

示例

在下面的 PHP 代码示例中,我们将看到如何在filesize()函数的帮助下监视服务器上的磁盘空间使用情况。

<?php
   $directories = array("/var/www/html", "/home/user/uploads");
   $totalDiskSpaceUsed = 0;
   foreach ($directories as $dir) {
      $files = scandir($dir);
      foreach ($files as $file) {
         if ($file !== '.' && $file !== '..') {
               $filePath = $dir . '/' . $file;
               $totalDiskSpaceUsed += filesize($filePath);
         }
      }
   }
   echo "Total disk space used: " . $totalDiskSpaceUsed . " bytes";
?> 

输出

这将导致以下结果:

Total disk space used: 1680 bytes

总结

PHP 方法filesize()返回文件的大小(以字节为单位)。它以文件路径作为参数,并以整数形式返回文件大小(以字节为单位)。我们在本章中看到的示例演示了如何在应用程序(如文件大小检查)中使用 PHP 的filesize()函数。

php_function_reference.htm
广告