本文通过实例介绍了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 标志[, 资源上下文]])
参数说明
filename 要写入数据的文件的名称
data 要写入的数据。类型可以是字符串、数组(但不能是多维字段)或流资源
标志是可选的,指定如何打开/写入文件。 可能的值:
FILE_USE_INCLUDE_PATH:检查文件名副本的外部路径
FILE_APPEND:以追加形式将数据写入文件末尾
LOCK_EX:锁定文件
context 是可选的,Context 是一组选项,通过它们可以更改文本属性
例如:
<?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 函数可以安全地用于二进制对象。
发表评论