[PHP]27.讀取檔案 fopen 使用方式

  • 2404
  • 0
  • php
  • 2022-12-03

文、意如


1.認識nl2br()函數
2.認識fopen()函數
3.認識fclose()函數
4.認識fread()函數
5.範例
6.認識file_get_contents()函數
7.加入try{}catch{}捕捉例外錯誤

 

1.認識nl2br()函數

當字串遇到\n 斷行時,會自動加上<Br>標籤

<?php
	#\n代表斷行 
	$mystr="hello \n world \n";
	echo nl2br($mystr);//遇到\n  加上<Br>標籤
	

 

 

 

 

2.認識fopen()函數

開啟檔案,參數("檔名",'r')

r代表讀取

$myfile = fopen($filename,"r");//開啟檔案
3.認識fclose()函數

有使用fopen(),有開啟檔案就要記得關閉檔案

fclose($myfile); //關閉檔案
4.認識fread()函數

讀取檔案,參數(檔名,最多讀取幾個字)

fread($myfile, filesize($filename)); //讀取檔案(檔案,最多讀取幾個字)
5.範例

建立一個檔案:myfile1.txt

在二軍待了超過3個月,旅日台將王柏融終於
重新出現在火腿隊一軍陣中,今天台灣時間下
午1點將在札幌巨蛋出戰西武獅隊,火腿目前取得
一波6連勝,監督新庄剛志要領軍挑戰火腿隊史菜
鳥教頭最長的7連勝。

王柏融前一次在一軍出賽已是4月9日,本季出
賽8場、19打數僅敲出1支一壘打,打擊率是淒涼的0.053,隨後即被下放調整,在二軍期間出賽30場,81打數敲出25安打、2轟,打擊率為3成09,終於在今天再次合流一軍。

火腿昨天下放4人,分別是投手鈴木健矢、捕手
郡拓也、內野手阪口樂、外野手
宮田輝星,今天王柏融、今川優馬、清水優心、北浦龍次皆赴一軍報到,火腿官方推特也分享了王柏融在今天賽前熱身時綻放笑顏的照片。

 

<?php
	#\n代表斷行 
	$mystr="hello \n world \n";
	echo nl2br($mystr);//遇到\n  加上<Br>標籤
	
	$filename = "myfile1.txt";
	$myfile = fopen($filename,"r");//開啟檔案
	
	if($myfile)//若成功開啟檔案,就讀取全部內容
    {
		$contents = nl2br(fread($myfile, filesize($filename)));
		//讀取檔案(檔案,最多讀取幾個字)
		
		echo $contents; //印出檔案內容
		fclose($myfile); //關閉檔案
		
	}else{
		echo "檔案不存在,開啟失敗";
	}
	
	
?>

 

參考

 

6.認識file_get_contents()函數

單純只讀取檔案

<?php
echo nl2br(file_get_contents("myfile1.txt"));
?>

參考

 

7.加入try{}catch{}捕捉例外錯誤
<?php
try{
	$filename = "myfile1.txt";
	$myopen=fopen($filename,"r");
	if($myopen){
		 $content = nl2br(fread($myopen,filesize($filename)));
		 fclose($myopen);
		 echo $content;
		 
		
	}else{
		
		throw new Exception("檔案不存在");
	}
	
	
	
}catch(Exception $ex){
	echo '錯誤訊息:' . $ex->getMessage() . '<br>';       
    echo '錯誤代碼:' . $ex->getCode() . '<br>';
    echo '檔案路徑:' . $ex->getFile() . '<br>';
    echo '錯誤行數:' . $ex->getLine() . '<br>';  
}
?>

成功讀取檔案

 

 

 

 

 

 

 

 

 

當檔案不存在時,跳出來的錯誤訊息

 

 

 

 

 

 

參考

 

Yiru@Studio - 關於我 - 意如