当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP file_get_contents()和file_put_contents()的区别用法及代码示例


file_get_contents() file_get_contents()函数用于将文件读入字符串。它使用服务器支持的内存映射技术,从而通过使其成为读取文件内容的首选方式来提高性能。要读取的文件的路径作为参数发送给函数,成功时返回读取的数据,失败时返回 FALSE。

用法:

file_get_contents($path, $include_path, 
        $context, $start, $max_length)

参数: file_get_contents()PHP 中的函数接受 1 个强制参数和 4 个可选参数。

  • $path:它指定要检查的文件或目录的路径。
  • $include_path: 它是一个可选参数,如果设置为 1,也会在 include_path(在 php.ini 中)的文件中搜索文件。
  • $context: 它是一个可选参数,用于指定自定义上下文。
  • $start:它是一个可选参数,用于指定文件中读取的起点。
  • $max_length: 它是一个可选参数,用于指定要读取的字节数。

返回值:成功时返回读取数据,失败时返回 FALSE。

错误和异常:如果要打开带有特殊字符(例如空格)的文件,需要先使用PHP对其进行编码urlencode().
file_get_contents()函数返回布尔值 FALSE,但也可能返回计算结果为 FALSE 的非布尔值。
如果找不到文件名、$maxlength 小于零或者在流中查找指定偏移量失败,则会生成 E_WARNING 级别错误。

例子:此示例说明将文件转换为字符串。我们将使用file_get_contents()函数。我们将指定 URL 链接作为重定向到给定站点的参数。

PHP


<?php
    // Reading 36 bytes starting from
    // the 0th character from gfg.txt
    $text = file_get_contents('gfg.txt', false, NULL, 0, 36);
    echo $text;
?>

gfg.txt:以下是所有示例中使用的该文件的内容。

A computer science portal for geeks

输出:

A computer science portal for geeks

file_put_contents() file_put_contents()PHP 中的函数是一个内置函数,用于将字符串写入文件。这file_put_contents()函数检查用户想要写入的文件,如果该文件不存在,则会创建一个新文件。

用户想要写入的文件的路径和必须写入的数据作为参数发送给函数,成功时返回写入文件的字节数,失败时返回 FALSE。

用法:

file_put_contents($file, $data, $mode, $context)

参数: 这file_put_contents()PHP 中的函数接受两个强制参数和两个可选参数。

  • $file: 它指定要写入的文件。
  • $data: 它指定必须写入文件的数据。它可以是字符串、数组或数据流。
  • $context:它是一个可选参数,用于指定自定义上下文或流的行为。
  • $mode: 它是一个可选参数,用于指定如何将数据写入文件,例如FILE_USE_INCLUDE_PATH、FILE_APPEND、LOCK_EX。

返回值:成功时返回写入文件的字节数,失败时返回 FALSE。

错误和异常:file_put_contents() 函数返回布尔值 FALSE,但也可能返回计算结果为 FALSE 的非布尔值。如果提供的目录无效,此函数将无法写入内容。

例子:

Input : file_put_contents("gfg.txt", "A computer 
                    science portal for geeks!");
Output : 36

Input : $file_pointer = 'gfg.txt';
        $open = file_get_contents($file_pointer);
        $open .= "A computer science portal for geeks!";
        file_put_contents($file_pointer, $open);
Output : 36

示例 1:以下示例程序旨在说明file_put_contents()函数。

PHP


<?php
// Writing content on gfg.txt
echo file_put_contents("gfg.txt", 
    "A computer science portal for geeks!");
?>

输出:

36

示例 2:

PHP


<?php
$file_pointer = 'gfg.txt';
// Open the file to get existing content
$open = file_get_contents($file_pointer);
// Append a new person to the file
$open .= "A computer science portal for geeks!";
// Write the contents back to the file
file_put_contents($file_pointer, $open);
?>

输出:

36

file_get_contents() 和 file_put_contents() 函数之间的区别:file_get_contents() 和 file_put_contents() 函数之间的主要区别在于,file_get_contents() 函数将文件读取为字符串,而file_put_contents() 函数将字符串写入文件。

让我们以表格形式看看差异:

file_get_contents() file_put_contents()
1. file_get_contents() 函数将文件读入字符串。 file_put_contents() 函数将数据写入文件。
2.

它的语法是-:

file_get_contents(路径、include_path、上下文、开始、max_length)

它的语法是-:

file_put_contents(文件名、数据、模式、上下文)

3. 其返回值为string否则失败时返回 false。 它的返回值是成功写入文件的字节数,否则返回 false。
4. 它是二进制安全的。 它是二进制安全的。
5. PHP 版本 4.3+ 支持 PHP 版本 5.0+ 支持它


相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 What is the difference between file_get_contents() and file_put_contents() functions in PHP?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。