灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4072回复:0

php读写文件操作 详解

楼主#
更多 发布于:2012-12-13 13:43

1,PHP如何打开文件
 使用PHP函数fopen()打开一个文件,fopen()一般使用2个参数表示打开文件的路径和文件模式。比如:
 $fp=fopen("../test.txt",'w');
 其中"../test.txt"就表示打开的test.txt文件的路径(相对当前执行程序文件的路径),'w'表示以只写的方式打开该文本文件。
 附录:fopen()函数的文件模式总结
 r   只读——读模式,打开文件,从文件头开始读
 r+    可读可写方式打开文件,从文件头开始读写
 w   只写——写方式打开文件,同时把该文件内容清空,把文件指针指向文件开始处。如果该文件已经存在,将删除文件已有内容;如果该文件不存在,则建立该文件
 w+   可读可写方式打开文件,同时把该文件内容清空,把文件指针指向文件开始处。如果该文件不存在,则建立该文件
 a    追加   以只写方式打开文件,把文件指针指向文件末尾处。如果该文件不存在,则建立该文件
 a+    追加   以可读可写方式打开文件,把文件指针指向文件末尾处。如果该文件不存在,则建立该文件
 b    二进制   用于于其他模式进行连接。建议使用该选项,以获得更大程度的可移植性
 注意,如果fopen()函数调用失败,函数将返回false。否则返回指针数据。所以一般在打开了文件后读写文件前需要检测下文件是否存在。
 <?php
 @$fp=fopen("http://sos.hx95.com/abc123",'w');
 if(!$fp)
 {
     echo'文件不存在';
    exit;
 }
 ?>
 其中@符号表示PHP将抑制所有由当前函数调用产生的错误。
 2,PHP读文件
 在PHP打开了文件之后就需要对文件进行读取,一般是使用fgets()函数。
 该函数可以从文件中每次读取一行内容,其不断读入数据,值到遇到本行的换行符,或者全文的结束符号EOF。
 介于fgets()函数只能读取一行数据,所以若需要读取文件的所有数据,须使用循环语句来完成。比如:
 while(!feof($fp))
 {
     $bruce=fgets($fp);    //php读文件
     echo$bruce;
 }
 其中feof()函数是用来检测文件是否结束的。该函数唯一参数就是文件指针(即$fp对应打开的文件)。
 当然,在PHP中还可以使用readfile()函数一次读取整个文件。该函数包括了打开文件、读取文件并输出到浏览器中和关闭文件。比如:
 <?php
 $bruce=readfile("http://sos.hx95.com");
 echo$bruce;
 ?>
 3,PHP关闭文件
 使用函数fclose()就可以将文件关闭。
 二,PHP写文件
 与PHP读文件一样,PHP写文件也需要:打开文件、写入数据和关闭文件。打开和关闭文件的方法上面已经说明,那PHP中写入数据到文件是怎样的呢。
 使用fwrite()函数,比如fwrite(文件路径,写入内容):
 <?php
 $bruce=fopen("http://www.atcpu.com/","r")
 if(!$bruce)
 {
    echo'文件不存在';
     exit;
 }
 while (!feof($bruce))
 {
    $rose=fgets($bruce);    //php读文件
        $james=fopen("index.htm","a");
         fwrite($james,$rose);   //php写文件
        fclose($james);
 }
 fclose($bruce);
 ?>
 <ahref="index.htm">将sos.hx95.com的内容生成了本地文件</a>
 了解了PHP的读写文件,就可以把最简单的数据存入文本保存了。
 =============================
 其他有用的文件函数:
 file_exists():查看文件是否存在,返回布尔值
 filesize():查看文件大小,可直接echo输出
 unlink():删除文件,注意PHP中没有delete函数。

喜欢0 评分0
游客

返回顶部