PHP中file_get_contents()和file_put_contents()的区别

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() 函数接受一个强制参数和四个可选参数。

  • $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
    // Reading 36 bytes starting from
    // the 0th character from gfg.txt
    text = file_get_contents('gfg.txt', false, NULL, 0, 36);
    echotext;
?>

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

A computer science portal for geeks

输出:

A computer science portal for geeks

file_put_contents()函数

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

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

语法:

file_put_contents(file,data, mode,context)

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

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

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

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

示例:

输入 : file_put_contents("gfg.txt", "A computer 
                    science portal for geeks!");
输出 : 36

输入 : file_pointer = 'gfg.txt';open = file_get_contents(file_pointer);open .= "A computer science portal for geeks!";
        file_put_contents(file_pointer,open);
输出 : 36

示例 1: 下面的程序说明了 file_put_contents() 函数.

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

输出:

36

示例 2:

<?php
 
file_pointer = 'gfg.txt';
 
// Open the file to get existing contentopen = file_get_contents(file_pointer);
 
// Append a new person to the fileopen .= "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 ()
1. 函数的作用是:将文件读入字符串。 函数的作用是:将数据写入文件。
2. 它的语法是-: File_get_contents (path, include_path, context, start, max_length) 它的语法是-: file_put_contents(filename, data, mode, context)
3. 其返回值为 string 否则,失败时返回false。 它的返回值是成功写入文件的字节数,否则返回false。
4. 它是二进制安全的。 它是二进制安全的。
5. 它在PHP 4.3+版本中得到支持 PHP 5.0+版本支持它

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程