程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 文件讀取 fread、fgets、fgetc、file_get_contents 與 file 函數,

PHP 文件讀取 fread、fgets、fgetc、file_get_contents 與 file 函數,

編輯:關於PHP編程

PHP 文件讀取 fread、fgets、fgetc、file_get_contents 與 file 函數,


fread()、fgets()、fgetc()、file_get_contents() 與 file() 函數用於從文件中讀取內容。

 

fread()

fread() 函數用於讀取文件(可安全用於二進制文件)。
語法:

string fread( int handle, int length )

fread() 從文件指針 handle 讀取最多 length 個字節。當遇到下列任何一種情況時,會停止讀取文件:

  • 在讀取完最多 length 個字節數時
  • 達到文件末尾的時候(EOF)
  • (對於網絡流)當一個包可用時
  • 或(在打開用戶空間流之後)已讀取了 8192 個字節時

從文件中讀取 10 個字節(包括空格):

<?php
// http://www.manongjc.com/article/1346.html
$filename = "test.txt";
$fh = fopen($filename, "r");
echo fread($fh, "10");
fclose($fh);
?>

提示

如果只是想將一個文件的內容讀入到一個字符串中,應該用性能更好的 file_get_contents() 。

 

fgets()

fgets() 函數用於從文件中讀取 一行 數據,並將文件指針指向下一行。
提示:如果想在讀取的時候去掉文件中的 HTML 標記,請使用 fgetss() 函數。
語法:

string fgets( int handle [, int length] )

fgets() 從 handle 指向的文件中讀取一行並返回長度最多為 length-1 字節的字符串。碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length-1 字節後停止。如果沒有指定 length ,則默認為 1K ,或者說 1024 字節。
例子:

<?php
$fh = @fopen("test.txt","r") or die("打開 test.txt 文件出錯!");
// if條件避免無效指針
// http://www.manongjc.com/article/1347.html
if($fh){
    while(!feof($fh)) {
        echo fgets($fh), '<br />';
    }
}
fclose($fh);
?>

補充說明

feof() 函數測試文件指針是否到了文件結束的位置,該文件指針必須有效,如果是無效的資源,則會陷入無限循環中。參見《PHP 文件指針函數》

 

fgetc()

fgetc() 函數用於 逐字 讀取文件數據,直到文件結束。
語法:

string fgetc( resource handle )

例子:

<?php
$fh = @fopen("test.txt","r") or die("打開 test.txt 文件出錯!");
// http://www.manongjc.com/article/1348.html
if($fh){
    while(!feof($fh)) {
        echo fgetc($fh);
    }
}
fclose($fh);
?>

 

file_get_contents()

file_get_contents() 函數用於把 整個文件 讀入一個字符串,成功返回一個字符串,失敗則返回 FALSE。
語法:

string file_get_contents( string filename [, int offset [, int maxlen]] )

參數說明:
參數    說明
filename    要讀取的文件名稱
offset    可選,指定讀取開始的位置,默認為文件開始位置
maxlen    可選,指定讀取文件的長度,單位字節
例子:

<?php
// 讀取時同事將換行符轉換成 <br />
echo nl2br(file_get_contents('test.txt'));
?>

 

file()

file() 函數用於把 整個文件 讀入一個數組中,數組中的每個單元都是文件中相應的一行,包括換行符在內。成功返回一個數組,失敗則返回 FALSE。
語法:

array file( string filename )

例子:

<?php
$lines = file('test.txt');
// 在數組中循環並加上行號
// http://www.manongjc.com/article/1349.html
foreach ($lines as $line_num => $line) {
    echo "Line #{$line_num} : ",$line,'<br />';
}
?>

test.txt 文件內容:
你好!
這是第二行文字。
浏覽器顯示:
Line #0 : 你好!
Line #1 : 這是第二行文字。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved