网站地图    收藏   

主页 > php专栏 > php文件操作 >

php 常用文件操作学习笔记 - php文件操作

来源:自学PHP网    时间:2014-11-28 00:07 作者: 阅读:

[导读] 在php中如果你要对文件进行一些操作是很方便的事情了,因为php提供了大量的php文件操作函数,下面我来给大家总结一下php文件操作方法与函数 1、获取文件名:basename();2、获取文件所在的目...

php 常用文件操作学习笔记

在php中如果你要对文件进行一些操作是很方便的事情了,因为php提供了大量的php文件操作函数,下面我来给大家总结一下php文件操作方法与函数.

1、获取文件名:basename();

2、获取文件所在的目录:dirname();

3、pathinfo()获取文件信息,返回结果为一个array,包括路径、文件全名、文件名和扩展名,例如如下代码:

  1. $file = '/com/netingcn/error.log'
  2. print_r(pathinfo($file)); 
  3. /* 
  4. 结果为: 
  5. Array( 
  6.     [dirname] => /com/netingcn 
  7.     [basename] => error.log 
  8.     [extension] => log 
  9.     [filename] => error 
  10. ) 
  11. */ 

4、判断文件是否存在:is_file();

5、判断目录是否存在:is_dir();

6、判断文件或目录是否存在:file_exists();

7、读取文件所有内容:file()或file_get_contents(),其中file()返回的是一个一行为元素的array,file_get_contents()把文件全部内容作为一个String返回;

8、写文件fwrite,代码如下:

  1. $handler = fopen($file'w'); // w 会冲掉以前的内容、a 是追加 
  2. fwrite($handler'content'); 
  3. fclose($handler);   //记得关闭打开的文件句柄9、文件读取操作有很多,下面简单介绍几个: 
  4. $handler = fopen($file'r');
  5. while(!feof($handler)) { 
  6.     $datas[] = fgets($handler);  //读取一行内容 
  7. }
  8. while(!feof($handler)) { 
  9.     $datas[] = fgetss($handler); //读取一行内容并过来html标记 
  10. }
  11. while(!feof($handler)) { 
  12.     $datas[] = fgetcsv($handler); //读取一行内容并解析csv字段 
  13. }
  14. $content = fread($handler$strLength); //读取指定长读的字符 
  15. fclose($handler); 

PHP 读文件内容,此文件为txt,路径$filePath为'list.txt',即放在和php文件同一个目录.

注意:本人的txt的内容样式如下:

Email,FirstName,LastName...

neil@ddd.com,neil,zhou...

...

具体实现根据自身情况修改,代码如下:

  1. $fp = fopen($filePath,"r "); 
  2.     $a = read_content_to_array($fp);   // 取得文本文件中的内容 
  3.     fclose($fp); 
  4. /** 
  5.     @desc read file content to array 
  6.     @params $fp: file resource 
  7.     @return array 
  8. */ 
  9. function read_content_to_array($fp){ 
  10.     $i=0; 
  11.     $a = array(); 
  12.     while (!feof ($fp)) {//while循环,条件:没到文件的末端。 
  13.         $buffer = fgets($fp, MAX_BYTES_PER_ROW);  //fgets() 函数用于从文件中逐行读取文件,,读取的字节数。默认是 1024 字节。MAX_BYTES_PER_ROW为自定义的一个常量,读取的字节数 
  14.         $block=explode(STR_TD_DIVIDER,$buffer); //用分隔符对操作的一行($buffer)进行分割,返回由字符串组成的数组。STR_TD_DIVIDER为自定义的一个常量,每行中各个字段之间的分隔符。 
  15.         $a[$i]=$block
  16.         $i=$i+1;   //通过while循环,带动i值递增,实现数组构建。 
  17.     } 
  18.     return $a

PHP 写内容到txt文件中,代码如下:

  1. $handle = fopen($filePath"w "); 
  2. fwrite($handle,$str); 
  3. fclose($handle); 

怎么样,是不是看起来很简单呢?下面是一些简单知识的总结:

fopen():fopen() 函数用于在 PHP 中打开文件,此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件.

模式      描述

r         只读,在文件的开头开始。 

r+        读/写,在文件的开头开始。 

w         只写,打开并清空文件的内容,如果文件不存在,则创建新文件.

w+        读/写,打开并清空文件的内容,如果文件不存在,则创建新文件。 

a        追加,打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。 

a+        读/追加,通过向文件末端写内容,来保持文件内容.

x         只写,创建新文件,如果文件以存在,则返回 FALSE.

x+        读/写,创建新文件,如果文件已存在,则返回 FALSE 和一个错误.

注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。

feof()

检测 End-of-file

feof() 函数检测是否已达到文件的末端 (EOF),在循环遍历未知长度的数据时,feof() 函数很有用,注释:在 w 、a 以及 x 模式,您无法读取打开的文件!

if (feof($file)) echo "End of file";

fgets()

fgets() 函数用于从文件中逐行读取文件,在调用该函数之后,文件指针会移动到下一行.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论