PHP 文件系统 file_get_contents() 函数



PHP 文件系统 file_get_contents() 函数用于将文件读取到字符串中。此函数是将文件内容读取到字符串的首选方法,因为它可以利用内存映射技术(如果服务器支持),从而提高性能。

此函数类似于 file() 函数,但 file_get_contents() 函数以字符串形式返回文件,从指定的偏移量开始,最多读取 maxlen 字节。

语法

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

string file_get_contents ( string $filename [, bool $use_include_path = FALSE [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )

参数

以下是 file_get_contents 函数的必选和可选参数:

序号 参数及描述
1

filename(必选)

要读取的文件名。

2

use_include_path(可选)

布尔值。如果设置为 true,则会在 include 路径中搜索文件。

3

context(可选)

此参数允许指定选项,例如超时、标头等。

4

offset(可选)

要开始读取文件的起始位置。

5

maxlen(可选)

要读取的最大字节数。

返回值

它将文件内容作为字符串返回。如果失败,则返回 FALSE。

PHP 版本

file_get_contents() 函数作为 PHP 4.3.0 的核心部分引入,并在 PHP 5、PHP 7、PHP 8 中都能很好地工作。

示例

在此示例中,我们将使用 PHP 文件系统 file_get_contents() 函数读取文件并打印该文件的内容。因此,这是此函数非常基本的用法。

<?php
   // Path to the file
   $file = file_get_contents("/PhpProject/sample.txt", true);

   echo $file;
?>

输出

这将产生以下结果:

tutorialspoint
tutorix

示例

此 php 代码将向您展示如何使用 file_get_contents() 函数的可选参数并更改输出内容。

  • 在此,我们使用了所有可选参数。
  • 第一个参数是文件路径。
  • 第二个和第三个参数(均为 NULL)是可选的,在此示例中未使用。
  • 第四个参数 - 4,是文件中的起始位置。它将从第 4 个字符开始读取。
  • 第五个参数 - 10,是要读取的内容长度。它将读取 10 个字符。
<?php
   // Define the file path here with optional parameters
   $section = file_get_contents("/PhpProject/sample.txt", NULL, NULL, 4, 10);
   var_dump($section);
?>

输出

这将生成以下结果:

string(10) "rialspoint"

示例

在此 PHP 代码中,我们将了解如何处理文件错误,例如,如果给定的文件不存在于目录中。因此,如果文件不存在,我们可以向用户显示错误消息。

<?php
   // Assign path of the file
   $file_path = "/Applications/XAMPP/xamppfiles/htdocs/mac/non_existent.txt";

   // Use file_get_contents() function to get the content
   $content = file_get_contents($file_path);

   // Check file exists or not
   if ($content === FALSE) {
      echo "Error: Unable to read the file at $file_path";
   } else {
      var_dump($content);
   }
?> 

输出

这将产生以下结果:

Error: Unable to read the file at /Applications/XAMPP/xamppfiles/htdocs/mac/non_existent.txt

示例

在此示例中,我们的目标是使用给定的 URL(统一资源定位符)作为文件,获取其内容并将其回显。

<?php
   // Reading a file from a URL
   $url = "https://www.example.com/sample.txt";

   // Get the content from the URL
   $content = file_get_contents($url);

   // Check the error 
   if ($content === FALSE) {
      echo "Error: Unable to read the file from the URL";
   } else {
      var_dump($content);
   }
?> 

输出

这将导致以下结果:

string(102) "This is a sample url to check that it works!"

注意

必须正确处理故障,尤其是在处理可能无法访问或不存在的文件时。

总结

要将文件的内容读取到字符串中,我们可以使用 PHP 的 file_get_contents() 函数。它能够读取整个文件或仅读取文件的部分内容。该函数适用于基本的读取文件操作,但对于高效的操作,需要实现适当的错误处理。

php_function_reference.htm
广告