如何在PHP中讀寫(xiě)文件
在PHP中讀寫(xiě)文件,可以用到一下內(nèi)置函數(shù):
1.fopen(創(chuàng)建文件和打開(kāi)文件)
語(yǔ)法:
fopen(filename,mode)
filename,規(guī)定要打開(kāi)的文件。mode,打開(kāi)文件的模式,可能的值見(jiàn)下表。
mode | 說(shuō)明 |
---|---|
"r" | 只讀方式打開(kāi),將文件指針指向文件開(kāi)頭。 |
"r+" | 讀寫(xiě)方式打開(kāi),將文件指針指向文件開(kāi)頭。 |
"w" | 寫(xiě)入方式打開(kāi),將文件指針指向文件開(kāi)頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建。 |
"w+" | 讀寫(xiě)方式打開(kāi),將文件指針指向文件開(kāi)頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建。 |
"a" | 寫(xiě)入方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建。 |
"a+" | 讀寫(xiě)方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建。 |
如果成功打開(kāi)文件,fopen函數(shù)的返回值是一個(gè)文件指針,如果出錯(cuò),返回 FALSE。
示例:
<?php $fp = fopen("test.txt", "r"); ?>
2.fclose(關(guān)閉文件)
語(yǔ)法:
fclose(filepointer)
filepointer,要關(guān)閉的文件指針。如果成功,fclose 函數(shù)返回 TRUE,如果失敗,fclose 函數(shù)返回 FALSE。
示例:
<?php $fp = fopen("test.txt", "r"); fclose($fp); ?>
3.feof(檢測(cè)是否已到達(dá)文件末尾)
語(yǔ)法:
feof(filepointer)
filepointer,要檢測(cè)的文件指針,該指針必須指向成功打開(kāi)沒(méi)有關(guān)閉的文件。如果文件指針到了文件末尾或者出錯(cuò)時(shí),feof函數(shù)返回 TRUE。
示例:
<?php $fp = fopen("test.txt", "r"); while(! feof($fp)) { echo fgets($fp). "<br />"; } fclose($fp); ?>
4.fgets(從文件指針中讀取一行)
語(yǔ)法:
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 "打開(kāi)文件失敗"; } 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(寫(xiě)入文件)
語(yǔ)法:
fwrite(filepointer,string)
filepointer,要寫(xiě)入的文件指針。string,要寫(xiě)入的字符串。如果成功,返回寫(xiě)入的字符數(shù),如果失敗,返回 FALSE。
示例:
<?php $fp = fopen("test.txt", "w");//文件被清空后再寫(xiě)入 if($fp) { $count=0; for($i=1;$i<=5;$i++) { $flag=fwrite($fp,"行".$i." : "."Hello World!\r\n"); if(!$flag) { echo "寫(xiě)入文件失敗<br>"; break; } $count+=$flag; } echo "共寫(xiě)入".$count."個(gè)字符"; } else { echo "打開(kāi)文件失敗"; } fclose($fp); ?>
頁(yè)面輸出的結(jié)果為:
共寫(xiě)入100個(gè)字符
test.txt文件會(huì)被寫(xiě)入:
行1 : Hello World!
行2 : Hello World!
行3 : Hello World!
行4 : Hello World!
行5 : Hello World!
注:為了簡(jiǎn)化操作,部分函數(shù)的可選參數(shù)沒(méi)有列出。
以上就是如何在PHP中讀寫(xiě)文件的詳細(xì)內(nèi)容,更多關(guān)于PHP中讀寫(xiě)文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- PHP文件打開(kāi)關(guān)閉及讀寫(xiě)操作示例解析
- PHP5.6讀寫(xiě)excel表格文件操作示例
- php 讀寫(xiě)json文件及修改json的方法
- PHP基于文件鎖解決多進(jìn)程同時(shí)讀寫(xiě)一個(gè)文件問(wèn)題示例
- PHP程序中的文件鎖、互斥鎖、讀寫(xiě)鎖使用技巧解析
- php使用fputcsv()函數(shù)csv文件讀寫(xiě)數(shù)據(jù)的方法
- PHP文件讀寫(xiě)操作相關(guān)函數(shù)總結(jié)
- php中使用PHPExcel讀寫(xiě)excel(xls)文件的方法
- php的SimpleXML方法讀寫(xiě)XML接口文件實(shí)例解析
- php中讀寫(xiě)文件與讀寫(xiě)數(shù)據(jù)庫(kù)的效率比較分享
相關(guān)文章
PHP獲取當(dāng)前日期所在星期(月份)的開(kāi)始日期與結(jié)束日期(實(shí)現(xiàn)代碼)
本篇文章是對(duì)PHP獲取當(dāng)前日期所在星期(月份)的開(kāi)始日期與結(jié)束日期的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php下通過(guò)curl抓取yahoo boss 搜索結(jié)果的實(shí)現(xiàn)代碼
php下通過(guò)curl抓取yahoo boss 搜索結(jié)果的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-06-06PHP服務(wù)器頁(yè)面間跳轉(zhuǎn)實(shí)現(xiàn)方法
在ASP中,我們可以使用Server.Transfer來(lái)實(shí)現(xiàn)在服務(wù)器端重定向,PHP中雖然沒(méi)有這樣的函數(shù),但是要實(shí)現(xiàn)類似的跳轉(zhuǎn)也不難2012-08-08php array_walk array_map array_filter區(qū)別案例詳解
這篇文章主要介紹了php array_walk array_map array_filter區(qū)別案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09PHP與MySQL開(kāi)發(fā)中頁(yè)面出現(xiàn)亂碼的一種解決方法
PHP與MySQL開(kāi)發(fā)中頁(yè)面出現(xiàn)亂碼的一種解決方法...2007-07-07c#中的實(shí)現(xiàn)php中的preg_replace
最近在按照一個(gè)php項(xiàng)目用c#重寫(xiě),一邊學(xué)習(xí)同時(shí)發(fā)現(xiàn)了他們的神似神不似的很多地方2009-12-12