如何在PHP中讀寫文件
在PHP中讀寫文件,可以用到一下內(nèi)置函數(shù):
1.fopen(創(chuàng)建文件和打開文件)
語法:
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。
示例:
<?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 worldhello cnblogshello heihaozihello everyone
頁面輸出的結(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!rn');if(!$flag){echo '寫入文件失敗<br>';break;}$count+=$flag;}echo '共寫入'.$count.'個(gè)字符';}else{echo '打開文件失敗';}fclose($fp);?>
頁面輸出的結(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ù)沒有列出。
以上就是如何在PHP中讀寫文件的詳細(xì)內(nèi)容,更多關(guān)于PHP中讀寫文件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. JAMon(Java Application Monitor)備忘記2. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)3. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法4. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法5. Docker容器如何更新打包并上傳到阿里云6. VMware中如何安裝Ubuntu7. Springboot 全局日期格式化處理的實(shí)現(xiàn)8. python 浮點(diǎn)數(shù)四舍五入需要注意的地方9. idea配置jdk的操作方法10. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問題
