PHP file_put_contents() 函数
定义和用法
file_put_contents() 函数把一个字符串写入文件中。
该函数访问文件时,遵循以下规则:
- 如果设置了 FILE_USE_INCLUDE_PATH,那么将检查 *filename* 副本的内置路径
- 如果文件不存在,将创建一个文件
- 打开文件
- 如果设置了 LOCK_EX,那么将锁定文件
- 如果设置了 FILE_APPEND,那么将移至文件末尾。否则,将会清除文件的内容
- 向文件中写入数据
- 关闭文件并对所有文件解锁
如果成功,该函数将返回写入文件中的字符数。如果失败,则返回 False。
语法
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
参数 | 描述 |
---|---|
file | 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。 |
data | 必需。规定要写入文件的数据。可以是字符串、数组或数据流。 |
mode | 可选。规定如何打开/写入文件。可能的值:
|
context | 可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。 |
提示和注释
注释:请使用 FILE_APPEND 避免删除文件中已存在的内容。
实例
实例
echo file_put_contents("sites.txt","facesoho");
以上实例执行输出结果为:
6
接下来向文件 sites.txt 追加内容:
实例
$file = 'sites.txt';
$site = "\nGoogle";
// 向文件追加写入内容
// 使用 FILE_APPEND 标记,可以在文件末尾追加内容
// LOCK_EX 标记可以防止多人同时写入
file_put_contents($file, $site, FILE_APPEND | LOCK_EX);
执行成功后,打开 sites.txt 文件,内容为:
facesoho Google
大王叫我来巡山1998
file_put_contents (PHP 5, PHP 7)
file_put_contents — 将一个字符串写入文件
函数原型说明
file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] ) : int
和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
If filename does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND flag is set.
参数filename要被写入数据的文件名。
data要写入的数据
类型可以是 string,array 或者是 stream 资源(如上面所说的那样)。
如果 data 指定为 stream 资源,这里 stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream() 函数。
参数
data 可以是数组(但不能为多维数组),这就相当于 file_put_contents($filename, join('', $array))。
flags 的值可以是 以下 flag 使用 OR (|) 运算符进行的组合。
Available flags Flag 描述
FILE_USE_INCLUDE_PATH 在 include 目录里搜索 filename。 更多信息可参见 include_path。
FILE_APPEND 如果文件 filename 已经存在,追加数据而不是覆盖。
LOCK_EX 在写入时获得一个独占锁。
context 一个 context 资源。
返回值
该函数将返回写入到文件内数据的字节数,失败时返回FALSE
Warning
此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。