fgets是PHP中常用的一個函數,用于從文件中讀取一行數據。與其他讀取文件的函數相比,其最大的優勢在于它可以在讀取文件時遇到特定字符或指定長度后就自動停止。
以下是一個對文件逐行讀取,并打印在屏幕上的示例代碼:
$file = fopen("example.txt", "r"); while(!feof($file)) { $line = fgets($file); echo $line."
"; } fclose($file);
上述代碼將打開一個名為example.txt的文件,并不斷從最上面開始讀取一行數據。每次讀取完后,$line變量中就會存儲該行數據,之后將其輸出到屏幕。
假設example.txt中的內容如下:
hello world how are you doing? I'm fine, thank you.
那么打印出的結果將是:
hello world how are you doing? I'm fine, thank you.
fgets函數還可以用于從標準輸入中讀取一行數據,并將其存儲在一個變量中。以下是一個簡單的示例代碼:
echo "Please enter your name: "; $name = fgets(STDIN); echo "Your name is: ".$name;
上述代碼將在命令行中提示用戶輸入他們的名字,并將該值存儲在$name變量中。之后,該變量將輸出到屏幕上。
fgets函數還有一個重要的應用場景是讀取CSV文件。CSV文件是一種專門用于存儲單元格數據的文件格式,該文件以逗號為分隔符將每個單元格的值存儲在一行中。以下是一個讀取CSV文件的示例代碼:
$file = fopen("example.csv", "r"); while(!feof($file)) { $line = fgets($file); $row = explode(",", $line); echo "Name: ".$row[0]." Age: ".$row[1]." Gender: ".$row[2]."
"; } fclose($file);
以上代碼將打開一個名為example.csv的CSV文件,并將每行數據讀取到一個變量中。之后,該行數據將被使用split函數拆成三個部分,并輸出到屏幕上。假設example.csv文件如下所示:
John,25,Male Sarah,30,Female
那么代碼的輸出結果將是:
Name: John Age: 25 Gender: Male Name: Sarah Age: 30 Gender: Female
總之,fgets是PHP中非常有用的一個函數,可以幫助我們輕松地從文件或標準輸入中讀取數據。無論是以逐行方式讀取文件,還是從CSV文件中提取數據,這個函數都會是您的好幫手!
上一篇fgets() php
下一篇fgets函數php