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

PHP中讀寫文件

編輯:關於PHP編程

在php中讀寫文件有二個比較實用的函數 fopen fwrite函數,有它們兩就可以很好的對文件進行操作了,有需要的可以看看詳解。

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 everyone5.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!rn");
  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