fgets函數(shù)是PHP中一個(gè)非常有用的函數(shù),它可以讀取文件中的一行,并返回讀取的字符串。舉個(gè)例子,我們有一個(gè)文件test.txt,其中有以下內(nèi)容:
hello world! how are you?
如果我們想讀取文件中的第二行,可以使用fgets函數(shù):
$fp = fopen("test.txt", "r"); $line = fgets($fp); $line = fgets($fp); fclose($fp); echo $line;
上面的代碼中,我們首先使用fopen函數(shù)打開文件,并以只讀方式打開。然后使用fgets函數(shù)讀取文件中的第一行和第二行,最后關(guān)閉文件句柄并輸出讀取的內(nèi)容。
fgets函數(shù)還可以用于循環(huán)讀取文件中的行,直到文件結(jié)束,例如:
$fp = fopen("test.txt", "r"); while(!feof($fp)) { $line = fgets($fp); echo $line; } fclose($fp);
上面的代碼中,我們使用while循環(huán)讀取文件中的每一行,直到文件結(jié)束。feof函數(shù)用于判斷是否到達(dá)文件末尾。
fgets函數(shù)還有另外一個(gè)非常有用的用途,就是可以讀取HTTP請求中的數(shù)據(jù)。例如我們有一個(gè)表單,其中有一個(gè)文本框,用戶在文本框中輸入一些內(nèi)容并提交表單時(shí),我們可以使用fgets函數(shù)讀取用戶輸入的數(shù)據(jù):
if ($_SERVER["REQUEST_METHOD"] == "POST") { $data = fgets(STDIN); echo $data; }
上面的代碼中,我們首先判斷請求類型是否為POST,如果是,則使用STDIN常量獲取輸入流,并使用fgets函數(shù)讀取用戶輸入的數(shù)據(jù),并輸出到瀏覽器中。
總的來說,fgets函數(shù)是PHP中非常有用的一個(gè)函數(shù),可以用于讀取文件中的行,循環(huán)讀取文件中的行,以及讀取HTTP請求中的數(shù)據(jù),非常實(shí)用。