在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! 
   
注:為了簡化操作,部分函數的可選參數沒有列出。