小編給大家分享一下怎樣在PHP中讀寫文件,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
在PHP中讀寫文件,可以用到一下內置函數:
1.fopen(創建文件和打開文件)
語法:
fopen(filename,mode)
filename,規定要打開的文件。mode,打開文件的模式,可能的值見下表。
| mode | 說明 |
|---|---|
| "r" | 只讀方式打開,將文件指針指向文件開頭。 |
| "r+" | 讀寫方式打開,將文件指針指向文件開頭。 |
| "w" | 寫入方式打開,將文件指針指向文件開頭并將文件大小截為零。如果文件不存在則嘗試創建。 |
| "w+" | 讀寫方式打開,將文件指針指向文件開頭并將文件大小截為零。如果文件不存在則嘗試創建。 |
| "a" | 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建。 |
| "a+" | 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建。 |
如果成功打開文件,fopen函數的返回值是一個文件指針,如果出錯,返回 FALSE。
示例:
<?php
$fp = fopen("test.txt", "r");
?>2.fclose(關閉文件)
語法:
fclose(filepointer)
filepointer,要關閉的文件指針。如果成功,fclose 函數返回 TRUE,如果失敗,fclose 函數返回 FALSE。
示例:
<?php
$fp = fopen("test.txt", "r");
fclose($fp);
?>3.feof(檢測是否已到達文件末尾)
語法:
feof(filepointer)
filepointer,要檢測的文件指針,該指針必須指向成功打開沒有關閉的文件。如果文件指針到了文件末尾或者出錯時,feof函數返回 TRUE。
示例:
<?php
$fp = fopen("test.txt", "r");
while(! feof($fp))
{
echo fgets($fp). "<br />";
}
fclose($fp);
?>4.fgets(從文件指針中讀取一行)
語法:
fgets(filepointer)
filepointer,要讀取的文件指針。如果成功,從文件中讀取一行并返回字符串,如果失敗,返回 FALSE。
示例:
<?php
$fp = fopen("test.txt", "r");
if($fp)
{
for($i=1;! feof($fp);$i++)
{
echo "行".$i." : ".fgets($fp). "<br />";
}
}
else
{
echo "打開文件失敗";
}
fclose($fp);
?>假設test.txt的內容為:
hello world
hello cnblogs
hello heihaozi
hello everyone
頁面輸出的結果為:
行1 : hello world
行2 : hello cnblogs
行3 : hello heihaozi
行4 : hello everyone
5.fwrite(寫入文件)
語法:
fwrite(filepointer,string)
filepointer,要寫入的文件指針。string,要寫入的字符串。如果成功,返回寫入的字符數,如果失敗,返回 FALSE。
示例:
<?php
$fp = fopen("test.txt", "w");//文件被清空后再寫入
if($fp)
{
$count=0;
for($i=1;$i<=5;$i++)
{
$flag=fwrite($fp,"行".$i." : "."Hello World!\r\n");
if(!$flag)
{
echo "寫入文件失敗<br>";
break;
}
$count+=$flag;
}
echo "共寫入".$count."個字符";
}
else
{
echo "打開文件失敗";
}
fclose($fp);
?>頁面輸出的結果為:
共寫入100個字符
test.txt文件會被寫入:
行1 : Hello World!
行2 : Hello World!
行3 : Hello World!
行4 : Hello World!
行5 : Hello World!
注:為了簡化操作,部分函數的可選參數沒有列出。
看完了這篇文章,相信你對“怎樣在PHP中讀寫文件”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。