程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中讀寫文件實現代碼

PHP中讀寫文件實現代碼

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved