PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
前端之家收集整理的这篇文章主要介绍了
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@创建文件我们用到函数
@H_
502_0@fopen ( string filename,string mode )
参数filename为创建
文件名
参数mode为以什么方式打开
文件filename
其中mode可能值列表:
@H_
5020@mode 说明
@H502_0@‘r' 只读方式打开,将
文件指针指向
文件头。
‘r+' 读写方式打开,将
文件指针指向
文件头。
‘w' 写入方式打开,将
文件指针指向
文件头并将
文件大小截为零。如果
文件不存在则尝试创建之。
‘w+' 读写方式打开,将
文件指针指向
文件头并将
文件大小截为零。如果
文件不存在则尝试创建之。
‘a' 写入方式打开,将
文件指针指向
文件末尾。如果
文件不存在则尝试创建之。
‘a+' 读写方式打开,将
文件指针指向
文件末尾。如果
文件不存在则尝试创建之。
‘x' 创建并以写入方式打开,将
文件指针指向
文件头。如果
文件已存在,则 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 以及以后的版本所
支持,仅能用于本地
文件。
下面
代码是我通过利用
函数fopen创建一个名为Demo,格式为txt的
文件,并在
文件中写入"Welcome To ItCodeWorld!"的数据。
<div class="jb51code">
<pre class="brush:
PHP;">
< ?
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); //
关闭指针
?>
@H_
502_0@
PHP 创建文件 – fopen()
fopen()
函数也用于创建
文件。也许有点混乱,但是在
PHP 中,创建
文件所用的
函数与打开
文件的相同。
如果您用 fopen() 打开并不存在的
文件,此
函数会创建
文件,假定
文件被打开为写入(w)或
增加(a)。
下面的例子创建名为 "testfile.txt" 的新
文件。此
文件将被创建于
PHP 代码所在的相同目录中:
实例
$myfile = fopen("testfile.txt","w")
PHP 文件权限
如果您试图运行这段
代码时发生
错误,请检查您是否有向硬盘写入信息的
PHP 文件访问权限。
PHP 写入文件 – fwrite()
fwrite()
函数用于写入
文件。
fwrite() 的第一个参数包含要写入的
文件的
文件名,第二个参数是被写的字符串。
下面的例子把姓名写入名为 "newfile.txt" 的新
文件中:
实例
PHP;">
@H_
502_0@请注意,我们向
文件 "newfile.txt" 写了两次。在每次我们向
文件写入时,在我们发送的字符串 $txt 中,第一次包含 "Bill Gates",第二次包含 "Steve Jobs"。在写入完成后,我们使用 fclose()
函数来
关闭文件。
如果我们打开 "newfile.txt"
文件,它应该是这样的:
Bill Gates
Steve Jobs
@H_
502_0@
PHP 覆盖(Overwriting)
@H_
502_0@如果现在 "newfile.txt" 包含了一些数据,我们可以展示在写入已有
文件时发生的的事情。所有已存在的数据会被擦除并以一个新
文件开始。
在下面的例子中,我们打开一个已存在的
文件 "newfile.txt",并向其中写入了一些新数据:
实例
PHP;">
@H_
502_0@如果现在我们打开这个 “newfile.txt”
文件,Bill 和 Steve 都已消失,只剩下我们刚写入的数据:
@H_
502_0@Mickey Mouse
Minnie Mouse
@H_
502_0@
换行符‘\n'和回车符‘\r'
顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写
文件的回车符应该确切来说叫做回车换行符
@H_
502_0@‘\n' 10 换行(newline)
‘\r' 13 回车(return)
@H_
502_0@也可以表示为'\x0a'和'\x0d'.(16进制)
在windows系统下,回车换行符号是”\r\n”.但是在Linux等系统下是没有”\r”符号的。
在解析文本或其他格式的
文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定”\r\n”又要判定”\n”。
写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了。