PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
本文实例讲述了PHP创建文件及写入数据(覆盖写入,追加写入)的方法。分享给大家供大家参考,具体如下:
这里主要介绍了PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码,需要的朋友可以参考下:
创建文件我们用到函数
fopen(stringfilename,stringmode)
参数:
filename:创建文件名
mode:以什么方式打开文件filename
其中mode可能值列表:
下面代码是我通过利用函数fopen创建一个名为Demo,格式为txt的文件,并在文件中写入"WelcomeToItCodeWorld!"的数据。
"); $StrConents="WelcomeToItCodeWorld!";//要写进文件的内容 if(!fwrite($TxtRes,$StrConents)){//将信息写入文件 echo("尝试向文件".$TxtFileName."写入".$StrConents."失败!"); fclose($TxtRes); exit(); } echo("尝试向文件".$TxtFileName."写入".$StrConents."成功!"); fclose($TxtRes);//关闭指针 ?>
PHP创建文件–fopen()
fopen()函数也用于创建文件。也许有点混乱,但是在PHP中,创建文件所用的函数与打开文件的相同。
如果您用fopen()打开并不存在的文件,此函数会创建文件,假定文件被打开为写入(w)或增加(a)。
下面的例子创建名为"testfile.txt"的新文件。此文件将被创建于PHP代码所在的相同目录中:
实例
$myfile=fopen("testfile.txt","w")
PHP文件权限
如果您试图运行这段代码时发生错误,请检查您是否有向硬盘写入信息的PHP文件访问权限。
PHP写入文件–fwrite()
fwrite()函数用于写入文件。
fwrite()的第一个参数包含要写入的文件的文件名,第二个参数是被写的字符串。
下面的例子把姓名写入名为"newfile.txt"的新文件中:
实例
请注意,我们向文件"newfile.txt"写了两次。在每次我们向文件写入时,在我们发送的字符串$txt中,第一次包含"BillGates",第二次包含"SteveJobs"。在写入完成后,我们使用fclose()函数来关闭文件。
如果我们打开"newfile.txt"文件,它应该是这样的:
BillGates
SteveJobs
PHP覆盖(Overwriting)
如果现在"newfile.txt"包含了一些数据,我们可以展示在写入已有文件时发生的的事情。所有已存在的数据会被擦除并以一个新文件开始。
在下面的例子中,我们打开一个已存在的文件"newfile.txt",并向其中写入了一些新数据:
实例
如果现在我们打开这个“newfile.txt”文件,Bill和Steve都已消失,只剩下我们刚写入的数据:
MickeyMouse
MinnieMouse
换行符‘\n'和回车符‘\r'
顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符
‘\n'10换行(newline)
‘\r'13回车(return)
也可以表示为'\x0a'和'\x0d'.(16进制)
在windows系统下,回车换行符号是”\r\n”.但是在Linux等系统下是没有”\r”符号的。
在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定”\r\n”又要判定”\n”。
写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了。
PHPfile_put_contents()函数
PHPfile_put_contents()函数是一次性向文件写入字符串或追加字符串内容的最合适选择。
file_put_contents()函数用于把字符串写入文件,成功返回写入到文件内数据的字节数,失败则返回FALSE。
语法:
intfile_put_contents(stringfilename,stringdata[,intflags[,resourcecontext]])
参数说明:
例子:
运行该例子,浏览器输出:
18
而test.txt文件(与程序同目录下)内容则为:Thisissomething.。
提示
如果文件不存在,则创建文件,相当于fopen()函数行为。
如果文件存在,默认将清空文件内的内容,可设置flags参数值为FILE_APPEND以避免(见下)。
本函数可安全用于二进制对象。
以追加形式写入内容
当设置flags参数值为FILE_APPEND时,表示在已有文件内容后面追加内容的方式写入新数据:
执行程序后,test.txt文件内容变为:
Thisissomething.Thisisanothersomething.
file_put_contents()的行为实际上等于依次调用fopen(),fwrite()以及fclose()功能一样。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。