码迷,mamicode.com
首页 > Web开发 > 详细

php操作文件

时间:2017-11-30 21:43:46      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:iconv   get   封装   files   sts   不用   大文件   适合   header   

一.php读取文件 获得文件的信息

 1 <?php 
 2 
 3     $file_full_path=‘d:/test.txt‘;
 4     if(file_exists($file_full_path)){
 5         $fp=fopen($file_full_path, ‘r‘);
 6         //设置缓冲
 7         $buffer=‘‘;
 8         $buffer_size=1024;
 9         $con_str=‘‘;
10 
11         //!feof()表示如果没有到文件的结束位置 就继续读取
12         while (!feof($fp)) {
13             $buffer=fread($fp, $buffer_size);
14             $con_str.=$buffer;
15         }
16 
17         fclose($fp);
18         $con_str=str_replace("\r\n", ‘<br>‘, $con_str);
19         $con_str=str_replace("\n", ‘<br>‘, $con_str);
20         echo $con_str;
21     }else{
22         echo "<br> 文件不存在";
23     }
24  ?>

 二.读取文件的三种方式

1.方式一

 1 <?php 
 2 
 3     $file_full_path="d:/test.txt";
 4 
 5     if(file_exists($file_full_path)){
 6         //打开文件
 7         $fp=fopen($file_full_path, ‘r‘);
 8         //获取文件的大小
 9         $file_size=filesize($file_full_path);
10         //读取内容
11         $con_str=fread($fp, $file_size);
12         //关闭文件 很重要!!
13         fclose($fp);
14         //windows中的换行符和php中的换行符不一样  所以要替换
15         $con_str=str_replace("\r\n", ‘<br>‘, $con_str);
16         //兼容处理
17         $con_str=str_replace("\n", ‘<br>‘, $con_str);
18         echo $con_str;
19     }else{
20         echo ‘<br>文件不存在‘;
21     }
22  ?>

 

2.方式二(适合大文件的读取 用buffer缓冲)

 1 <?php 
 2 
 3     $file_full_path=‘d:/test.txt‘;
 4     if(file_exists($file_full_path)){
 5         $fp=fopen($file_full_path, ‘r‘);
 6         //设置缓冲
 7         $buffer=‘‘;
 8         $buffer_size=1024;
 9         $con_str=‘‘;
10 
11         //!feof()表示如果没有到文件的结束位置 就继续读取
12         while (!feof($fp)) {
13             $buffer=fread($fp, $buffer_size);
14             $con_str.=$buffer;
15         }
16 
17         fclose($fp);
18         $con_str=str_replace("\r\n", ‘<br>‘, $con_str);
19         $con_str=str_replace("\n", ‘<br>‘, $con_str);
20         echo $con_str;
21     }else{
22         echo "<br> 文件不存在";
23     }
24 
25  ?>

 

3.读取的内容不是很多的建议第三种

 1 <?php
 2     header(‘content-type:text/html;charset=utf-8‘);
 3     //第三种处理方式-简捷方式
 4 
 5     //1. 定义文件路径
 6     $file_full_path = ‘d:/test.txt‘;
 7 
 8     if(file_exists($file_full_path)){
 9         
10         //file_get_contents做了一个封装处理,底层使用仍然是fopen fread..
11         $con_str = file_get_contents($file_full_path);
12         //防止乱码 有些人貌似不用写这个 我反正是乱码的。。。
13         $con_str = iconv("gb2312", "utf-8//IGNORE",$con_str);   
14 
15         //替换换行
16         $con_str = str_replace("\r\n", ‘<br>‘, $con_str);
17         $con_str = str_replace("\n", ‘<br>‘, $con_str);
18 
19         echo $con_str;
20 
21     }else{
22         echo ‘<br> 文件不存在‘;
23     }
24 
25  ?>

 

php操作文件

标签:iconv   get   封装   files   sts   不用   大文件   适合   header   

原文地址:http://www.cnblogs.com/phpers/p/7931801.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!