标签: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 ?>
标签:iconv get 封装 files sts 不用 大文件 适合 header
原文地址:http://www.cnblogs.com/phpers/p/7931801.html