1. 程式人生 > >php操作文件

php操作文件

har lac -type 繼續 eof 換行 亂碼 封裝 else

一.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操作文件