PHP - FileInfo 构造函数



PHP FileInfo 的 construct() 函数是用于创建 FileInfo 对象的构造方法。因此,它初始化对象并准备使用。此方法不返回值。

但是,您可以通过调用其方法(例如 file())从 FileInfo 对象获取重要详细信息。

语法

以下是 PHP FileInfo construct() 函数的语法:

public finfo::__construct([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

参数

以下是 construct() 函数的参数:

  • $options - 它为 FileInfo 对象设置各种选项。其默认值为 FILEINFO_NONE。

  • $magic_file - 它是自定义 magic 文件的路径。

返回值

construct() 函数不返回值。

PHP 版本

construct() 函数首次引入到核心 PHP 5.3.0 中,并且在 PHP 5、PHP 7 和 PHP 8 中都能轻松使用。

示例 1

以下是 PHP FileInfo construct() 函数的基本示例,用于创建 FileInfo 对象以获取文件的 MIME 类型。

<?php
   // Create a new FileInfo object
   $finfo = new finfo(FILEINFO_MIME_TYPE);
   
   // Check the MIME type of a file
   $file = '/PHP/PhpProjects/myfile.txt';
   $fileType = $finfo->file($file);
   
   echo 'The MIME type of ' . $file . ' is: ' . $fileType;
?>

输出

以下是以下代码的结果:

The MIME type of /PHP/PhpProjects/myfile.txt is: text/plain

示例 2

现在我们将使用 construct() 函数并创建 FileInfo 对象以获取文件的 MIME 编码。

<?php
   // Create a new FileInfo object 
   $finfo = new finfo(FILEINFO_MIME_ENCODING);
   
   // Check the MIME encoding of a file
   $file = 'example.txt';
   $fileEncoding = $finfo->file($file);
   
   echo 'The MIME encoding of ' . $file . ' is: ' . $fileEncoding;
?> 

输出

这将生成以下输出:

The MIME encoding of /PHP/PhpProjects/myfile.txt is: us-ascii

示例 3

现在,以下代码使用自定义 magic 文件创建新的 FileInfo 对象。

<?php
   // Path to a custom magic file
   $magicFile = '/path/to/custom/magic/file';
   
   // Create a new FileInfo object 
   $finfo = new finfo(FILEINFO_NONE, $magicFile);
   
   // Check the type of a file 
   $file = '/PHP/PhpProjects/myfile.txt';
   $fileInfo = $finfo->file($file);
   
   echo 'File info for ' . $file . ' using custom magic file: ' . $fileInfo;
?> 

输出

这将创建以下输出:

File info for /PHP/PhpProjects/myfile.txt using custom magic file: ASCII text

示例 4

在以下示例中,我们使用 construct() 函数创建 FileInfo 对象并获取文件类型。

<?php
   // Create a new FileInfo object
   $finfo = new finfo();
   
   // Check the file type of a file
   $file = '/PHP/PhpProjects/sample.txt';
   $fileInfo = $finfo->file($file);
   
   echo 'File info for ' . $file . ' is: ' . $fileInfo;   
?> 

输出

以下是上述代码的输出:

File info for /PHP/PhpProjects/sample.txt is: ASCII text

总结

以上示例展示了使用 FileInfo 类的 __construct 函数检索各种文件相关信息的多种方法。

php_function_reference.htm
广告