PHP中讀寫文件實(shí)現(xiàn)代碼
更新時(shí)間:2011年10月20日 15:33:43 作者:
PHP中讀寫文件實(shí)現(xiàn)代碼,整理的還不錯(cuò),需要的朋友可以參考下。
在PHP中讀寫文件,可以用到一下內(nèi)置函數(shù):
1.fopen(創(chuàng)建文件和打開文件)
語法:
filename,規(guī)定要打開的文件。mode,打開文件的模式,可能的值見下表。
mode 說明
"r" 只讀方式打開,將文件指針指向文件開頭。
"r+" 讀寫方式打開,將文件指針指向文件開頭。
"w" 寫入方式打開,將文件指針指向文件開頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建。
"w+" 讀寫方式打開,將文件指針指向文件開頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建。
"a" 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建。
"a+" 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建。
如果成功打開文件,fopen函數(shù)的返回值是一個(gè)文件指針,如果出錯(cuò),返回 FALSE。
示例:
<?php
$fp = fopen("test.txt", "r");
?>
2.fclose(關(guān)閉文件)
語法:
fclose(filepointer)
filepointer,要關(guān)閉的文件指針。如果成功,fclose 函數(shù)返回 TRUE,如果失敗,fclose 函數(shù)返回 FALSE。
示例:
<?php
$fp = fopen("test.txt", "r");
fclose($fp);
?>
3.feof(檢測(cè)是否已到達(dá)文件末尾)
語法:
feof(filepointer)
filepointer,要檢測(cè)的文件指針,該指針必須指向成功打開沒有關(guān)閉的文件。如果文件指針到了文件末尾或者出錯(cuò)時(shí),feof函數(shù)返回 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);
?>
假設(shè)test.txt的內(nèi)容為:
hello world
hello cnblogs
hello heihaozi
hello everyone
頁(yè)面輸出的結(jié)果為:
行1 : hello world
行2 : hello cnblogs
行3 : hello heihaozi
行4 : hello everyone
5.fwrite(寫入文件)
語法:
fwrite(filepointer,string)
filepointer,要寫入的文件指針。string,要寫入的字符串。如果成功,返回寫入的字符數(shù),如果失敗,返回 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."個(gè)字符";
}
else
{
echo "打開文件失敗";
}
fclose($fp);
?>
頁(yè)面輸出的結(jié)果為:
共寫入100個(gè)字符
test.txt文件會(huì)被寫入:
行1 : Hello World!
行2 : Hello World!
行3 : Hello World!
行4 : Hello World!
行5 : Hello World!
注:為了簡(jiǎn)化操作,部分函數(shù)的可選參數(shù)沒有列出。
1.fopen(創(chuàng)建文件和打開文件)
語法:
復(fù)制代碼 代碼如下:
fopen(filename,mode)
filename,規(guī)定要打開的文件。mode,打開文件的模式,可能的值見下表。
mode 說明
"r" 只讀方式打開,將文件指針指向文件開頭。
"r+" 讀寫方式打開,將文件指針指向文件開頭。
"w" 寫入方式打開,將文件指針指向文件開頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建。
"w+" 讀寫方式打開,將文件指針指向文件開頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建。
"a" 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建。
"a+" 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建。
如果成功打開文件,fopen函數(shù)的返回值是一個(gè)文件指針,如果出錯(cuò),返回 FALSE。
示例:
復(fù)制代碼 代碼如下:
<?php
$fp = fopen("test.txt", "r");
?>
2.fclose(關(guān)閉文件)
語法:
fclose(filepointer)
filepointer,要關(guān)閉的文件指針。如果成功,fclose 函數(shù)返回 TRUE,如果失敗,fclose 函數(shù)返回 FALSE。
示例:
復(fù)制代碼 代碼如下:
<?php
$fp = fopen("test.txt", "r");
fclose($fp);
?>
3.feof(檢測(cè)是否已到達(dá)文件末尾)
語法:
feof(filepointer)
filepointer,要檢測(cè)的文件指針,該指針必須指向成功打開沒有關(guān)閉的文件。如果文件指針到了文件末尾或者出錯(cuò)時(shí),feof函數(shù)返回 TRUE。
示例:
復(fù)制代碼 代碼如下:
<?php
$fp = fopen("test.txt", "r");
while(! feof($fp))
{
echo fgets($fp). "<br />";
}
fclose($fp);
?>
4.fgets(從文件指針中讀取一行)
語法:
fgets(filepointer)
filepointer,要讀取的文件指針。如果成功,從文件中讀取一行并返回字符串,如果失敗,返回 FALSE。
示例:
復(fù)制代碼 代碼如下:
<?php
$fp = fopen("test.txt", "r");
if($fp)
{
for($i=1;! feof($fp);$i++)
{
echo "行".$i." : ".fgets($fp). "<br />";
}
}
else
{
echo "打開文件失敗";
}
fclose($fp);
?>
假設(shè)test.txt的內(nèi)容為:
hello world
hello cnblogs
hello heihaozi
hello everyone
頁(yè)面輸出的結(jié)果為:
行1 : hello world
行2 : hello cnblogs
行3 : hello heihaozi
行4 : hello everyone
5.fwrite(寫入文件)
語法:
fwrite(filepointer,string)
filepointer,要寫入的文件指針。string,要寫入的字符串。如果成功,返回寫入的字符數(shù),如果失敗,返回 FALSE。
示例:
復(fù)制代碼 代碼如下:
<?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."個(gè)字符";
}
else
{
echo "打開文件失敗";
}
fclose($fp);
?>
頁(yè)面輸出的結(jié)果為:
共寫入100個(gè)字符
test.txt文件會(huì)被寫入:
行1 : Hello World!
行2 : Hello World!
行3 : Hello World!
行4 : Hello World!
行5 : Hello World!
注:為了簡(jiǎn)化操作,部分函數(shù)的可選參數(shù)沒有列出。
您可能感興趣的文章:
相關(guān)文章
那些年我們錯(cuò)過的魔術(shù)方法(Magic Methods)
PHP 對(duì)象的一個(gè)優(yōu)勢(shì)是可以使用魔術(shù)方法,這些方法可以不需要修改外部代碼而重寫一個(gè)類的默認(rèn)行為,這使得PHP 語法有更少的冗余性和更具有擴(kuò)展性。這些方法很好識(shí)別,他們都是以雙下劃線(__)開始的2014-01-01php實(shí)現(xiàn)的表單驗(yàn)證類完整示例
這篇文章主要介紹了php實(shí)現(xiàn)的表單驗(yàn)證類,結(jié)合完整實(shí)例形式分析了php封裝的表單相關(guān)的正則驗(yàn)證、字符串轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08PHP 循環(huán)刪除無限分類子節(jié)點(diǎn)的實(shí)現(xiàn)代碼
本篇文章是對(duì)PHP中循環(huán)刪除無限分類子節(jié)點(diǎn)的代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php查看當(dāng)前Session的ID實(shí)例
這篇文章主要介紹了php查看當(dāng)前Session的ID的方法,實(shí)例分析了兩種常見的獲取session中ID的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03