标签:
一:file_get_contents(filename) 和 file_put_contents(filename, data)
1 <?php 2 /** 3 file_get_contents(filename) 可以获取一个文件的内容或一个网络资源的内容 4 该函数是读取文件/网络资源比较快捷方式,它封装了打开/关闭等操作 5 注意:该函数会把文件中的内容一次性全部读出,然后放到内存中,因此,过大的文件慎重用该函数打开 6 */ 7 //当前目录下的a.txt文件 8 $file = "./a.txt"; 9 //打开a.txt文件 10 $str = file_get_contents($file); 11 echo $str; 12 //读取网络资源 13 $url = ‘http://www.baidu.com‘; 14 echo file_get_contents($url); 15 /** 16 file_put_contents(filename, data) 该函数用来把内容写入到文件 17 该函数也封装了打开/关闭细节操作 18 */ 19 //将a.txt文件中的内容写入到当前目录下的b.txt文件中 20 file_put_contents(‘./b.txt‘, $str) 21 ?>
二:fopen(filename, mode) fwrite(handle, string) fclose(handle)
1 <?php 2 /** 3 fopen(filename, mode) 打开一个文件,返回一个句柄资源 4 第一个参数是文件名;第二个参数是文件打开“模式”,如只读模式,读写模式,追加模式等 5 返回值:资源 6 */ 7 //获取文件名 8 $file = ‘a.txt‘; 9 //以只读的方式打开该文件 10 $fh = fopen($file, ‘r‘); 11 //沿着上面返回的$fh这个资源通道来读文件 12 echo fread($fh, 10); 13 /** 14 fwrite(handle, string) 向打开的文件中写入内容 15 */ 16 //返回int(0),说明没有成功写入 17 //原因:在于第2个Mode参数,选的r,即只读打开。 18 var_dump(fwrite($fh, ‘写入的内容!‘)); 19 /** 20 fclose(handle) 关闭文件资源 21 */ 22 fclose($fh); 23 /** 24 r+ 读写模式。 把指针指向文件头 25 注意:从文件头写入时,会覆盖原文件中头部相应的内容 26 */ 27 $file = ‘a.txt‘; 28 $fh = fopen($file, ‘r+‘); 29 fwrite($fh, ‘hello‘); 30 fclose($fh); 31 /** 32 w:写入模式 该模式无法读取文件中的内容 33 该模式会把文件先清空,并将指针停在文件的开头出 34 */ 35 $file = ‘a.txt‘; 36 $fh = fopen($file, ‘w‘) 37 fwrite($fh, ‘hello‘); 38 fclose($fh); 39 /** 40 a 追加模式。该模式会把文件指针放在文件的最后。可以写入内容 41 */ 42 $file = ‘a.txt‘; 43 $fh = fopen($file, ‘a‘); 44 fwrite($fh, ‘我是追加的内容‘); 45 ?>
三:文件读取的几种方式(custom.txt文件在附件中)
1 <?php 2 /** 3 用文件操作函数,来批量处理客户名单 4 */ 5 /* 6 第一种方式:一次性读入文件的内容,然后分割成数组 7 file_get_contents()获取文件中的内容 8 再用\r\n切成数组 9 注意:各操作系统下,换行符不一致 10 win: \r\n 11 linux:\n 12 mac:\r 13 */ 14 //获取当前目录下的文件 15 $file = ‘./custom.txt‘; 16 //获取文件中的内容 17 $cont = file_get_contents($file); 18 //用explod分割 19 print_r( explode("\n", $cont) ); 20 /* ******** 21 第一种方法用\n区分,不能兼容各种系统,因此通用性不好。 22 而且file_get_contents()函数会将文件中的内容一次性读出,遇到大文件容易内存泄露 23 ******** */ 24 /* 25 第二种方式:打开文件,每次读一行; 26 用fgets(handle)每次读一行 27 feod ,end of file 的意思 ,判断是否是文件的结尾 28 */ 29 //可以在模式中加入b,表示以2进制来处理,可以不受各种系统的显示编码影响 30 $file = ‘./custom.txt‘; 31 $fh = fopen($file, "rb"); 32 while(!feof($fh)){ 33 echo fgets($fh); 34 echo "<br/>"; 35 } 36 /* 37 第三种方式 一次性读入,并拆分成数组 38 file() 直接读取文件的内容,并按行拆成数组。并返回该数组 39 该函数和file_get_contents()一样也是一次性读入文件,文件较大时,慎用 40 */ 41 $file = ‘./custom.txt‘; 42 $arr = file($file); 43 print_r($arr); 44 ?>
四:判断文件是否存在。获取文件的修改时间/创建时间
1 <?php 2 /** 3 判断文件是否存在 4 获取文件的创建时间/修改时间 5 */ 6 $file = ‘custom.txt‘; 7 if(file_exists($file)){ 8 echo $file.‘存在<br/>‘; 9 //date将日期显示为指定的格式 10 echo ‘该文件上次修改时间是‘.date(‘Y-m-d H:i:s‘,filemtime($file)); 11 }else{ 12 echo ‘该文件不存在!‘; 13 } 14 ?>
标签:
原文地址:http://www.cnblogs.com/ynhs/p/5124139.html