PHP檔案處理—讀取檔案(一個字元,字串)
讀取檔案不僅僅能讀取整個檔案,也不單單唯讀取一行資料,還可以讀取一個字元,可以讀取指定長度的字串!
在上一篇文章《PHP檔案處理—如何讀取檔案(一行,整個檔案)》中,就是介紹了怎麼樣讀取檔案的一行和整個檔案的詳解,那麼在這節文章中我們為大家繼續介紹兩個fgetc()函數和fread()函數!
一:讀取一個字元:fgetc()函數
在對檔案某一個字元進行尋找,替換的時候,需要針對性的對某一個字元進行讀取,在 PHP 中可以使用 fgetc()函數實現此功能。函數的文法格式如下;
string fgetc ( resource $handle )
該函數返回的是一個字元,該字元從handle 指向的檔案中得到的。遇到EOF 那麼就會返回 false。
在下面的執行個體中呢,就是使用 fgetc()函數逐個字元讀取檔案裡的內容,並且輸出,具體範例程式碼如下:
<?phpheader("Content-Type:text/html; charset=utf-8");$fopen = fopen("tm.txt","rb"); //建立檔案資源while (false!==($chr =fgetc($fopen))){ //使用fgetc()函數取得一個字元,判斷是否為false echo $chr; //如果不是輸出該字元}fclose($fopen); //關閉資源?>
輸出結果為:
二:讀取指定長度的字串:fread()函數
fread()可以沖檔案中讀取指定長度的資料,函數文法格式如下:
string fread ( resource $handle , int $length )
參數 handle 為要讀取的檔案,參數 length 是指定要讀取的位元組數。當函數讀取 length 個位元組或到達 EOF時停止執行。
下面就是使用 fread()函數讀取檔案裡的內容,具體範例程式碼如下:
<?phpheader("Content-Type:text/html; charset=utf-8");$filename = "tm.txt"; //要讀取的檔案$fp = fopen($filename,"rb");//開啟檔案echo fread($fp,32); //使用 fread()函數讀取檔案內容的前32個位元組echo "<p>";echo fread($fp,filesize($filename)); //輸出其餘的檔案內容?>
輸出結果如下:
本章的內容就到這結束了,下一篇我們為大家介紹關於PHP如何將資料寫入檔案以及操作檔案,具體請閱讀《PHP檔案處理—寫入檔案及操作檔案》!