php 写入文件-解读PHP如何创建文件和写入数据(覆盖、追加)

本文通过实例介绍了PHP创建文件和写入数据(覆盖、追加)的技巧。 分享给大家,供大家参考,如下:

这里主要介绍PHP创建文件、向文件写入数据、覆盖、追加的实现代码。 有需要的同学可以参考以下内容:

要创建文件,我们使用该函数

<pre class="brush:php;">
fopen ( string filename, string mode )

范围:

文件名:创建文件名

mode: 以哪种方式打开文件 filename

其中,mode的可能值列表:

模式

阐明

'r'

只读方法打开,将文件指针设置为文件头

'r+'

读取和写入方法打开,将文件指针设置为文件头。

'w'

write 方法打开,将文件指针设置为文件开头并将文件大小截断为零。 如果该文件不存在,请尝试创建它。

'w+'

读写方法打开,将文件指针设置为文件头并将文件大小截断为零。 如果该文件不存在,请尝试创建它。

'A'

write 方法打开,将文件指针设置到文件末尾。 如果该文件不存在,请尝试创建它。

'a+'

读取和写入方法打开,将文件指针设置到文件末尾。 如果该文件不存在,请尝试创建它。

'X'

使用write方法创建并打开,将文件指针指向文件头。 如果文件已存在,则 fopen() 调用失败并返回 FALSE,并显示 E_WARNING 级别的错误消息。 如果该文件不存在,请尝试创建它。 这相当于为底层 open(2) 系统调用指定 O_EXCL|O_CREAT 标志。 PHP 4.3.2 及更高版本支持此选项,并且只能用于本地文件。

'x+'

创建并打开进行读写,将文件指针指向文件头。 如果文件已存在php 写入文件,则 fopen() 调用失败并返回 FALSE,并显示 E_WARNING 级别的错误消息。 如果该文件不存在,请尝试创建它。 这相当于为底层 open(2) 系统调用指定 O_EXCL|O_CREAT 标志。 PHP 4.3.2 及更高版本支持此选项,并且只能用于本地文件。

下面的代码是我使用fopen函数创建一个txt格式的名为Demo的文件,并写入“Welcome To ItCodeWorld!”的数据。 在文件中。

<?php
//要创建的两个文件
$TxtFileName = "Demo.txt";
//以读写方式打写指定文件,如果文件不存则创建
if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){
echo("创建可写文件:".$TxtFileName."失败");
exit();
}
echo ("创建可写文件".$TxtFileName."成功!
"); $StrConents = "Welcome To ItCodeWorld!";//要 写进文件的内容 if(!fwrite ($TxtRes,$StrConents)){ //将信息写入文件 echo ("尝试向文件".$TxtFileName."写入".$StrConents."失败!"); fclose($TxtRes); exit(); } echo ("尝试向文件".$TxtFileName."写入".$StrConents."成功!"); fclose ($TxtRes); //关闭指针 ?>

PHP 创建文件 – fopen()

fopen() 函数也用于创建文件。 这可能有点令人困惑,但在 PHP 中php 写入文件,用于创建文件的函数与用于打开文件的函数相同。

如果使用 fopen() 打开一个不存在的文件,则该函数会创建该文件,并假设该文件是为了写入 (w) 或递减 (a) 而打开的。

以下示例创建一个名为“testfile.txt”的新文件。 该文件将在与 PHP 代码相同的目录中创建:

例子

$myfile = fopen("testfile.txt", "w")

PHP 文件权限

如果您在尝试运行此代码时遇到错误,请仔细检查您是否有权访问 PHP 文件以写入磁盘。

PHP 写入文件 – fwrite()

fwrite() 函数用于写入文件。

fwrite() 的第一个参数包含要写入的文件的文件名,第二个参数是要写入的字符串。

以下示例将名称写入名为“newfile.txt”的新文件:

例子


请注意,我们向文件“newfile.txt”写入两次。 每次写入文件时,我们发送的字符串 $txt 第一次包含“Bill Gates”,第二次包含“Steve Jobs”。 写入后,我们使用 fclose() 函数关闭文件。

如果我们打开“newfile.txt”文件,它应该如下所示:

比尔盖茨

史蒂夫·乔布斯

PHP 覆盖

如果“newfile.txt”现在包含一些数据,我们可以显示写入现有文件时会发生什么。 所有现有数据将被删除并开始一个新文件。

在下面的示例中,我们打开一个现有文件“newfile.txt”并向其中写入一些新数据:

例子


如果我们今天打开这个“newfile.txt”文件,Bill 和 Steve 都消失了,只留下我们刚刚写入的数据:

米老鼠

米妮老鼠

换行符“n”和回车符“r”

顾名思义,换行就是开始新的一行,而回车则是回到行首,所以我们平时编译文件的回车应该准确的称为回车换行

'n' 10 换行符(换行符)

'r' 13 回车(return)

也可以表示为“x0a”和“x0d”。 (十六进制)

在windows系统中,回车换行符号为“rn”。 然而,Linux等系统中没有“r”符号。

在解析其他格式的文本或文件内容时,常常需要判断回车换行。 这时候就需要对“rn”和“n”都进行判断。

写程序的时候,你可能会得到一行,把它去掉'r',这样就可以得到你需要的字符串了。

PHP file_put_contents() 函数

PHP file_put_contents() 函数是一次性将字符串写入文件或附加字符串内容的最合适选择。

file_put_contents()函数用于将字符串写入文件,成功则返回写入文件的数据字节数,失败则返回FALSE。

语法:

int file_put_contents ( string filename, string data [, int flags [, resource context]] )

参数说明:

范围

阐明

文件名

写入数据的文件名

数据

要写入的数据。类型可以是字符串、数组(但不能是多维字段)或流资源

旗帜

可选,指定如何打开/写入文件。 可能的值:

1.FILE_USE_INCLUDE_PATH:检查文件名副本的外部路径

2、FILE_APPEND:以追加的形式写入文件末尾的数据

3. LOCK_EX:锁定文件

语境

可选,上下文是一组可以更改文本属性的选项

例子:


运行这个例子,浏览器输出:

18

而test.txt文件(与程序同目录下)的内容是:This is Something..

暗示

如果文件不存在,则创建该文件,这相当于 fopen() 函数的行为。

如果文件存在,则默认会清除文件中的内容,可以将flags参数值设置为FILE_APPEND来防止(见下文)。

此函数可以安全地用于二进制对象。

追加内容

当flags参数值设置为FILE_APPEND时,表示在现有文件内容前面以追加内容的形式写入新数据:


执行程序后,test.txt文件内容变为:

这是一些东西。 这是另一件事。

file_put_contents()的行为实际上相当于依次调用fopen()、fwrite()和fclose()。

对PHP相关内容比较感兴趣的读者可以查看本站专题:《PHP文件操作总结》、《PHP操作及运算符使用总结》、《PHP网络编程方法总结》、《PHP基础入门》 《句子模式》、《php面向对象编程教程》、《php字符串(string)使用总结》、《php+mysql数据库操作教程》、《php常用数据库操作方法总结》

希望这篇文章对您的PHP编程有所帮助。

php向文件写入或追加数据有两种方式,一种是fopen,另一种是file_put_contents。 本文简单介绍了两种方法的具体用法,有需要的同学可以看一下。

(1) 开放

fopen()函数打开一个文件或URL,如果打开失败,该函数返回FALSE。

语法:fopen(文件名、模式、包含路径、上下文)

参数说明

文件名是必需的。 指定要打开的文件或 URL。

模式是必需的。 指定此文件/流所需的访问类型。 请参阅下表了解可能的值。

include_path 是可选的。 如果您还想检索 include_path 中的文件,可以将此参数设置为 1 或 TRUE。

上下文是可选的。 指定文件句柄的环境。 上下文是一组可以更改流行为的选项。

模式参数的可能值

模式说明

“r”

只读方法打开,将文件指针设置为文件头。

“r+”

读取和写入方法打开,将文件指针设置为文件头。

“w”

write 方法打开php 文件写入,将文件指针设置为文件开头并将文件大小截断为零。 如果该文件不存在,请尝试创建它。

“w+”

读写方法打开,将文件指针设置为文件头并将文件大小截断为零。 如果该文件不存在,请尝试创建它。

“A”

write 方法打开,将文件指针设置到文件末尾。 如果该文件不存在,请尝试创建它。

“a+”

读取和写入方法打开,将文件指针设置到文件末尾。 如果该文件不存在,请尝试创建它。

“X”

使用write方法创建并打开,将文件指针指向文件头。 如果文件已存在,则 fopen() 调用失败并返回 FALSE,并显示 E_WARNING 级别的错误消息。 如果该文件不存在,请尝试创建它。

这相当于为底层 open(2) 系统调用指定 O_EXCL|O_CREAT 标志。

PHP 4.3.2 及更高版本支持此选项,并且只能用于本地文件。

“x+”

创建并打开进行读写,将文件指针指向文件头。 如果文件已存在,则 fopen() 调用失败并返回 FALSE,并显示 E_WARNING 级别的错误消息。 如果该文件不存在,请尝试创建它。

这相当于为底层 open(2) 系统调用指定 O_EXCL|O_CREAT 标志。

PHP 4.3.2 及更高版本支持此选项,并且只能用于本地文件。

追加内容

<?php
$fp=fopen('test.txt','a');

(2) 文件放置内容

file_put_contents()函数用于将字符串写入文件php 文件写入,成功则返回写入文件的数据字节数,失败则返回FALSE。

语法:int file_put_contents(字符串文件名, 字符串数据[, int 标志[, 资源上下文]])

写入文件失败_php 文件写入_写入文件失败网易云

参数说明

filename 要写入数据的文件的名称

data 要写入的数据。类型可以是字符串、数组(但不能是多维字段)或流资源

标志是可选的,指定如何打开/写入文件。 可能的值:

FILE_USE_INCLUDE_PATH:检查文件名副本的外部路径

FILE_APPEND:以追加形式将数据写入文件末尾

LOCK_EX:锁定文件

context 是可选的,Context 是一组选项,通过它们可以更改文本属性

例如:

写入文件失败_php 文件写入_写入文件失败网易云

<?php
echo file_put_contents("test.txt","www.phpernote.com");
//输出:17

追加内容

当flags参数值设置为FILE_APPEND时,表示在现有文件内容前面以追加内容的形式写入新数据,例如:

<?php
file_put_contents("test.txt","www.phpernote.com",FILE_APPEND);

暗示

file_put_contents() 的行为实际上相当于依次调用 fopen()、fwrite() 和 fclose() 函数。

如果文件不存在,则创建该文件,这相当于 fopen() 函数的行为。

如果文件存在,则默认会清除文件中的内容,可以将flags参数值设置为FILE_APPEND来防止。

file_put_contents 函数可以安全地用于二进制对象。