当前位置:首页 > PHP教程 > php文件操作 > 列表

PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码

发布:smiling 来源: PHP粉丝网  添加日期:2019-11-11 11:32:05 浏览: 评论:0 

创建文件我们用到函数

fopen ( string filename, string mode )

参数filename为创建文件名

参数mode为以什么方式打开文件filename

其中mode可能值列表:

mode 说明:

‘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!"的数据。

  1. <?php 
  2.  
  3. //要创建的两个文件 
  4.  
  5. $TxtFileName = "Demo.txt"
  6.  
  7. //以读写方式打写指定文件,如果文件不存则创建 
  8.  
  9. if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){ 
  10.  
  11. echo("创建可写文件:".$TxtFileName."失败"); 
  12.  
  13. exit(); 
  14.  
  15.  
  16. echo ("创建可写文件".$TxtFileName."成功!<br>"); 
  17.  
  18. $StrConents = "Welcome To ItCodeWorld!";//要 写进文件的内容 
  19.  
  20. if(!fwrite ($TxtRes,$StrConents)){ //将信息写入文件 
  21.  
  22. echo ("尝试向文件".$TxtFileName."写入".$StrConents."失败!"); 
  23.  
  24. fclose($TxtRes); 
  25. //phpfensi.com 
  26. exit(); 
  27.  
  28.  
  29. echo ("尝试向文件".$TxtFileName."写入".$StrConents."成功!"); 
  30.  
  31. fclose ($TxtRes); //关闭指针 
  32.  
  33. ?> 

PHP 创建文件 – fopen()

fopen() 函数也用于创建文件。也许有点混乱,但是在 PHP 中,创建文件所用的函数与打开文件的相同。

如果您用 fopen() 打开并不存在的文件,此函数会创建文件,假定文件被打开为写入(w)或增加(a)。

下面的例子创建名为 "testfile.txt" 的新文件。此文件将被创建于 PHP 代码所在的相同目录中:

实例:

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

PHP 文件权限

如果您试图运行这段代码时发生错误,请检查您是否有向硬盘写入信息的 PHP 文件访问权限。

PHP 写入文件 – fwrite()

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

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

下面的例子把姓名写入名为 "newfile.txt" 的新文件中:

实例:

  1. <?php 
  2.  
  3. $myfile = fopen("newfile.txt""w"or die("Unable to open file!"); 
  4.  
  5. $txt = "Bill Gates\n"
  6.  
  7. fwrite($myfile$txt); 
  8.  
  9. $txt = "Steve Jobs\n"
  10.  
  11. fwrite($myfile$txt); 
  12.  
  13. fclose($myfile); 
  14.  
  15. ?> 

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

如果我们打开 "newfile.txt" 文件,它应该是这样的:

Bill Gates

Steve Jobs

PHP 覆盖(Overwriting)

如果现在 "newfile.txt" 包含了一些数据,我们可以展示在写入已有文件时发生的的事情。所有已存在的数据会被擦除并以一个新文件开始。

在下面的例子中,我们打开一个已存在的文件 "newfile.txt",并向其中写入了一些新数据:

实例:

  1. <?php 
  2.  
  3. $myfile = fopen("newfile.txt""w"or die("Unable to open file!"); 
  4.  
  5. $txt = "Mickey Mouse\n"
  6.  
  7. fwrite($myfile$txt); 
  8. //phpfensi.com 
  9. $txt = "Minnie Mouse\n"
  10.  
  11. fwrite($myfile$txt); 
  12.  
  13. fclose($myfile); 
  14.  
  15. ?> 

如果现在我们打开这个 “newfile.txt” 文件,Bill 和 Steve 都已消失,只剩下我们刚写入的数据:

Mickey Mouse

Minnie Mouse

换行符‘ '和回车符‘ '

顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符

‘ ' 10 换行(newline)

‘ ' 13 回车(return)

也可以表示为'\x0a'和'\x0d'.(16进制)

在windows系统下,回车换行符号是” \n”.但是在Linux等系统下是没有” ”符号的。

在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定” \n”又要判定” ”。

写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了。

Tags: PHP创建文件 PHP写入数据

分享到: