首頁  >  文章  >  後端開發  >  php 怎麼讀寫檔案?

php 怎麼讀寫檔案?

怪我咯
怪我咯原創
2017-07-07 09:26:304028瀏覽

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 怎麼讀寫檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn