php操作文件
阿新 • • 發佈:2017-11-30
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操作文件