file_put_contents()

1. 定义

与函数file_get_contents()相反,它将一个字符串写入文件。功能类同于先后调用fopen()fwrite()fclose()函数。 成功时返回写入的字节数,失败则返回FALSE。

2. 语法

file_put_contents ( string $filepath , mixed $data [, int $flags = 0 [, resource $context ]] ) : int

3. 参数说明

参数 可选性 数据类型 描述
$filepath 必需 字符串 文件路径,或者URL地址
$data 必需 字符串、一维数组或者资源流 写入文件的数据
$flags 可选 整型或常量 可选项
$context 可选 资源类型 资源流上下文

其中$flags的可选值如下:

  • FILE_USE_INCLUDE_PATH:是否在include_path中查找文件
  • FILE_APPEND:如果文件存在,则追加而不是覆盖
  • LOCK_EX:在写入数据时添加一个“独占锁”(不允许期间其他进程使用该文件)

4. 示例

<?php

// file_put_contents()
// 将一个字符串写入文件

file_put_contents(__DIR__.'/test.txt', "我使用file_put_contents()函数来写入数据\n");

// 查看该文件的内容:
echo file_get_contents(__DIR__.'/test.txt');
/* 输出:
我使用file_put_contents()函数来写入数据
*/

5. 延展阅读

  • fopen():打开一个指定的文件或 URL。 如果 PHP 的allow_url_fopen未被打开,那么打开一个 URL 时fopen()调用失败
  • fwrite():将数据写入到指定文件,在写到指定长度的数据或者写完所有数据时停止运行
  • file_get_contents():将文件整个(一次性)写入一个字符串