首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

file_put_contents

(PHP 5, PHP 7)

file_put_contents - 将一个字符串写入一个文件

描述

代码语言:javascript
复制
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

这个函数与调用fopen(),fwrite()和fclose()相同,以将数据写入文件。

如果filename不存在,则创建该文件。否则,现有文件将被覆盖,除非FILE_APPEND标志被设置。

参数

filename

数据写入位置的路径。

data

要写入的数据。可以是字符串,数组或流资源。

如果data是流资源,则该流的剩余缓冲区将被复制到指定的文件。这与使用stream_copy_to_stream()类似。

您也可以将data参数指定为单维数组。这相当于file_put_contents($ filename,implode('',$ array))

flags

flags可以是以下标志的任意组合,并用二进制OR(|)运算符连接。

标志

描述

FILE_USE_INCLUDE_PATH

在包含目录中搜索文件名。有关更多信息,请参阅include_path。

FILE_APPEND

如果文件文件名已经存在,则将数据追加到文件而不是覆盖它。

LOCK_EX

在继续写作时获取文件的排他锁。换句话说,在fopen()调用和fwrite()调用之间发生flock()调用。这与使用模式“x”的fopen()调用不同。

context

使用stream_context_create()创建的有效上下文资源。

返回值

该函数返回写入文件的字节数,或返回FALSE失败的字节数。

警告

该函数可能返回布尔值FALSE,但也可能返回一个非布尔值,其值为FALSE。有关更多信息,请阅读布尔部分。使用===运算符来测试此函数的返回值。

例子

示例#1简单的使用示例

代码语言:javascript
复制
<?php
$file = 'people.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new person to the file
$current .= "John Smith\n";
// Write the contents back to the file
file_put_contents($file, $current);
?>

Example #2 使用标志

代码语言:javascript
复制
<?php
$file = 'people.txt';
// The new person to add to the file
$person = "John Smith\n";
// Write the contents to the file, 
// using the FILE_APPEND flag to append the content to the end of the file
// and the LOCK_EX flag to prevent anyone else writing to the file at the same time
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>

更新日志

描述

5.1.0

增加了对LOCK_EX的支持以及将流资源传递给数据参数的功能

注意

注意:此函数是二进制安全的。

提示

如果fopen包装已经启用,那么可以使用URL作为文件名。有关如何指定文件名的更多详细信息,请参阅fopen()。请参阅支持的协议和包装以获取有关各种包装具有哪些功能的信息的链接,关于它们的用法的注释以及它们可能提供的任何预定义变量的信息。

扫码关注腾讯云开发者

领取腾讯云代金券