php文件操作函数详解

在php中提供了大量的对文件操作的函数,下面我来给大家总结php文件函数对文件读入,写入操作,有需了解的这些函数的朋友可进入参考.

一、操作文件,获取文件信息,代码如下:

  1. <?php
  2. //打开文件
  3. $file_path="text.txt";
  4. if($fp=fopen($file_path,"r")){
  5. //取出文件的信息
  6. $file_info=fstat($fp);
  7. echo "<pre>";
  8. print_r($file_info);
  9. echo "</pre>";
  10. //单个的取出
  11. $file_size=$file_info['size'];
  12. //文件大小按字节来计算的
  13. echo "文件的大小为:".$file_size;
  14. echo "<br/>文件上次访问的时间:".date("Y-m-d H:i:s",$file_info['atime']); //atime表示【该文件上次被访问的时间】
  15. echo "<br/>文件上次修改的时间:".date("Y-m-d H:i:s",$file_info['mtime']); //mtime表示【该文件上次内容被修改的时间】
  16. echo "<br/>文件上次change的时间:".date("Y-m-d H:i:s",$file_info['ctime']); //ctime表示【该文件上次 文件所有者/文件组 修改的时间】
  17. }else{
  18. echo "打开文件失败";
  19. }
  20. //关闭文件,这个非常重要
  21. fclose($fp);
  22. ?>

2、第二种获取文件信息方式,代码如下:

  1. <?php
  2. //第二种获取文件信息
  3. $file_path="text.txt";
  4. if(!file_exists($file_path)){
  5. echo "文件不存在";
  6. exit();
  7. }
  8. echo "<br>".date("Y-m-d H:i:s",fileatime($file_path));
  9. echo "<br>".date("Y-m-d H:i:s",filemtime($file_path));
  10. echo "<br>".date("Y-m-d H:i:s",filectime($file_path));
  11. //echo "<br>".filemtime($file_path);
  12. //echo "<br>".filectime($file_path);
  13. ?>

二、读取文件操作,代码如下:

  1. <?php
  2. //读取文件
  3. $file_path="text.txt";
  4. if(!file_exists($file_path)){
  5. echo "文件不存在";
  6. exit();
  7. }
  8. //打开文件
  9. $fp=fopen($file_path,"a+");
  10. //读取文件
  11. $content=fread($fp,filesize($file_path));
  12. echo "文件内容是:<br/>";
  13. //默认情况下把内容输出到网页后,不会换行显示,因为网页不识别rn
  14. //所有要把rn =><br/>
  15. $content=str_replace("rn","<br/>",$content);
  16. echo $content;
  17. fclose($fp);
  18. ?>

2、第二种读取文件的方式,代码如下:

  1. <?php
  2. //第二种读取文件的方式
  3. $file_path="text.txt";
  4. if(!file_exists($file_path)){
  5. echo "文件不存在";
  6. exit();
  7. }
  8. $content=file_get_contents($file_path);
  9. $content=str_replace("rn","<br/>",$content);
  10. echo $content;
  11. ?>

3、第三种读取方法,循环读取(对付大文件),代码如下:

  1. <?php
  2. //第三种读取方法,循环读取(对付大文件)
  3. $file_path="text.txt";
  4. if(!file_exists($file_path)){
  5. echo "文件不存在";
  6. exit();
  7. }
  8. //打开文件
  9. $fp=fopen($file_path,"a+");
  10. //定义每次读取的多少字节
  11. $buffer=1024;
  12. //一边读取。一边判断是否达到文件末尾
  13. while(!feof($fp)){
  14. //按1024个字节读取数据
  15. $content=fread($fp,$buffer);
  16. echo $content;
  17. }
  18. fclose($fp);
  19. ?>

4、文件读取实际应用:当我们连接数据库的时候,可以把指定的数据配置到一个文件中,然后再PHP运行时,实时获取信息,代码如下:

db.ini 文件

host=127.0.0.1 user=root pwd=root db=test

获取文件,代码如下:

  1. <?php
  2. $arr=parse_ini_file("db.ini");
  3. echo "<pre>";
  4. print_r($arr);
  5. echo "</pre>";
  6. echo $arr['host'];
  7. //连接数据库
  8. $conn = mysql_connect($arr['host'], $arr['user'], $arr['pwd']);
  9. if(!$conn){
  10. echo "error";
  11. }
  12. echo "OK";
  13. ?>

三、写文件,代码如下:

  1. <?php
  2. //写文件
  3. $file_path="text.txt";
  4. if(!file_exists($file_path)){
  5. echo "文件不存在";
  6. exit();
  7. }
  8. //"a+" 在文件后面追加 "w+"重新写入
  9. $fp=fopen($file_path,"w+");
  10. $con="rn你好";
  11. for($i=0;$i<10;$i++){
  12. fwrite($fp,$con);}
  13. echo "添加成功";
  14. fclose($fp);
  15. ?>

2、第二中方式,通过file_put_contents函数,代码如下:

  1. <?php
  2. //第二种方式写文件
  3. $file_path="text.txt";
  4. $content="hello,worldrn";
  5. //开源代码phpfensi.com
  6. //将一个字符串写入文件 默认是【FILE_USE_INCLUDE_PATH 】"w+"重新写入
  7. file_put_contents($file_path,$content,FILE_APPEND);
  8. echo "OK";
  9. ?>