




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、文件處理 本講大綱:1、打開/關(guān)閉文件 2、讀寫文件 3、操作文件 支持網(wǎng)站: 文件處理概述 文件處理包括讀取、關(guān)閉、重寫等,掌握文件的處理需要讀者理清思路,掌握文件處理的關(guān)鍵步驟和常用函數(shù),完全可以運(yùn)用自如。 例如,訪問一個文件需要3步:打開文件、讀寫文件和關(guān)閉文件。其他的操作要么是包含在讀寫文件中(如顯示內(nèi)容、寫入內(nèi)容等),要么與文件自身的屬性有關(guān)系(如文件遍歷、文件改名等)。 打開/關(guān)閉文件 1打開文件 在PHP中使用fopen()函數(shù)打開文件,fopen()函數(shù)的語法如下:resource fopen ( string filename, string mode , bool use_
2、include_path);filename是要打開的包含路徑的文件名,可以是相對路徑,也可以是絕對路徑。如果沒有任何前綴則表示打開的是本地文件。mode是打開文件的方式,可取的值如表13.1所示。use_include_path是可選的,該參數(shù)在配置文件php.ini中指定一個路徑,如F:AppServ wwwmess.php,如果希望服務(wù)器在這個路徑下打開所指定的文件,可以設(shè)置為1或 true。2關(guān)閉文件 對文件的操作結(jié)束后應(yīng)該關(guān)閉這個文件,否則可能引起錯誤。在PHP中使用fclose()函數(shù)關(guān)閉文件,該函數(shù)的語法如下:bool fclose ( resource handle ) ; 該
3、函數(shù)將參數(shù)handle指向的文件關(guān)閉,如果成功,返回true,否則返回false。其中的文件指針必須是有效的,并且是通過fopen()函數(shù)成功打開的文件。例如:讀寫文件1從文件中讀取數(shù)據(jù) 從文件中讀取數(shù)據(jù),可以讀取一個字符、一行字串或整個文件,還可以讀取任意長度的字串。1)讀取整個文件:readfile()、file()和file_get_contents()(1)readfile()函數(shù) readfile()函數(shù)用于讀入一個文件并將其寫入到輸出緩沖,如果出現(xiàn)錯誤則返回false。函數(shù)語法如下:int readfile(string filename) 使用readfile()函數(shù),不需要打開
4、/關(guān)閉文件,不需要echo/print等輸出語句,直接寫出文件路徑即可。(2)file()函數(shù) file()函數(shù)也可以讀取整個文件的內(nèi)容,只是file()函數(shù)將文件內(nèi)容按行存放到數(shù)組中,包括換行符在內(nèi)。如果失敗則返回false。函數(shù)語法如下:array file(string filename)(3)file_get_contents()函數(shù) 該函數(shù)將文件內(nèi)容(filename)讀入一個字符串。如果有offset和maxlen參數(shù),將在參數(shù)offset所指定的位置開始讀取長度為maxlen的內(nèi)容。如果失敗,返回false。函數(shù)語法如下:string file_get_contents(stri
5、ng filename,int offset,int maxlen)該函數(shù)適用于二進(jìn)制對象,是將整個文件的內(nèi)容讀入到一個字符串中的首選方式。 讀寫文件2)讀取一行數(shù)據(jù):fgets()和fgetss()(1)fgets()函數(shù) fgets()函數(shù)用于一次讀取一行數(shù)據(jù)。函數(shù)語法如下:string fgets( int handle , int length )handle是被打開的文件,length是要讀取的數(shù)據(jù)長度。 函數(shù)能夠?qū)崿F(xiàn)從handle指定文件中讀取一行并返回長度最大值為length-1個字節(jié)的字符串。在遇到換行符、EOF或者讀取了length-1個字節(jié)后停止。如果忽略length參數(shù),
6、那么讀取數(shù)據(jù)直到行結(jié)束。(2)fgetss()函數(shù) fgetss()函數(shù)是fgets()函數(shù)的變體,用于讀取一行數(shù)據(jù),同時,fgetss()函數(shù)會過濾掉被讀取內(nèi)容中的html和php標(biāo)記。函數(shù)語法如下string fgetss ( resource handle , int length , string allowable_tags ) 該函數(shù)能夠從讀取的文件中過濾掉任何html和php標(biāo)記??梢允褂胊llowable_tags參數(shù)來控制哪些標(biāo)記不被過濾掉。讀寫文件3)讀取一個字符:fgetc() 在對某一個字符進(jìn)行查找、替換時,需要有針對性地對某個字符進(jìn)行讀取,在PHP中可以使用fgetc
7、()函數(shù)實(shí)現(xiàn)此功能。函數(shù)語法如下:string fgetc ( resource handle )該函數(shù)返回一個字符,該字符從handle指向的文件中得到。遇到EOF則返回false。 4)讀取任意長度的字串:fread() fread()可以從文件中讀取指定長度的數(shù)據(jù),函數(shù)語法如下:string fread ( int handle, int length )參數(shù)handle為指向的文件資源,length是要讀取的字節(jié)數(shù)。當(dāng)函數(shù)讀取length個字節(jié)或到達(dá)EOF時停止執(zhí)行。 讀寫文件2將數(shù)據(jù)寫入文件 寫入數(shù)據(jù)也是PHP中常用的文件操作,在PHP中使用fwrite()和file_put_con
8、tents()函數(shù)向文件中寫入數(shù)據(jù)。fwrite()函數(shù)也稱為fputs(),它們的用法相同。fwrite()函數(shù)的語法如下:int fwrite ( resource handle, string string , int length )該函數(shù)把內(nèi)容string寫入文件指針handle處。如果指定了長度length,則寫入length個字節(jié)后停止。如果文件內(nèi)容長度小于length,則會輸出全部文件內(nèi)容。file_put_contents()函數(shù)是PHP 5新增的函數(shù),其語法為:int file_put_contents ( string filename, string data , in
9、t flags)filename為寫入數(shù)據(jù)的文件。data為要寫入的數(shù)據(jù)。flags可以是FILE_USE_INCLUDE_PATH、FILE_APPEND或LOCK_EX,LOCK_EX為獨(dú)占鎖定。注意:使用file_put_contents()函數(shù)和依次調(diào)用fopen()、fwrite()、fclose()函數(shù)的功能一樣。 操作文件 除了可以對文件內(nèi)容進(jìn)行讀寫,對文件本身同樣也可以進(jìn)行操作,如復(fù)制、重命名、查看修改日期等。PHP內(nèi)置了大量的文件操作函數(shù)。bool copy( string path1, string path2):將文件從path1復(fù)制到path2。如果成功,返回true,
10、失敗則返回false。例如:copy(tm.txt,./tm.txt)boolrename(stringfilename1,string filename2):把name1重命名為Name2。例如:rename(1.txt,tm.txt)bool unlink( string filename )刪除文件,成功返回true,失敗則返回False。例如:unlink(./tm.txt)int fileatime( string filename )返回文件最后一次被訪問的時間,時間以UNIX時間戳的方式返回。例如:fileatime(1.txt)int filemtime( string fil
11、ename )返回文件最后一次被修改的時間,時間以UNIX時間戳的方式返回。例如:date(Y-m-d H:i:s, filemtime(1.txt)int filesize( string filename )取得文件filename的大?。╞ytes)。例如:filesize(1.txt)array pathinfo(string name , int options)返回一個數(shù)組,包含文件name的路徑信息。有dirname、basename和extension??梢酝ㄟ^option設(shè)置要返回的信息,有PATHINFO_DIRNAME、PATHINFO_BASENAME和PATHINFO_EXTENSION。默認(rèn)為返回全部。例如:$arr = pathinfo(/tm/sl/12/5/1.txt);foreach($arr as $method = $value)echo $method.“: ”.$value.“”;string realpath ( string filename )返回文件filename的絕對路徑。如c:tmp1.txtrea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋租賃合同分期付款
- 三農(nóng)村基礎(chǔ)設(shè)施改善工程方案
- 項(xiàng)目時間線及進(jìn)度表制定
- 中外貨物買賣合同書
- 農(nóng)行個人貸款合同
- 橋梁加寬加固施工方案
- 維修補(bǔ)漏施工方案
- 路基清表施工方案
- TCSHB 0021-2024 全自動真空焊接爐設(shè)備軟件技術(shù)規(guī)范
- 玻璃鋼保溫管道施工方案
- 結(jié)膜炎課件完整版
- 初中英語中考總復(fù)習(xí)
- 學(xué)習(xí)弘揚(yáng)楓橋精神與楓橋經(jīng)驗(yàn)PPT楓橋經(jīng)驗(yàn)蘊(yùn)含的精神和內(nèi)涵PPT課件(帶內(nèi)容)
- 鈑金噴漆承包協(xié)議書
- 高血壓病例課件
- 煤礦瓦斯防治八招及釋義
- (6.4)-6.4和聲性吹奏樂器-笙
- GB/T 35452-2017再生粘合軟質(zhì)聚氨酯泡沫塑料
- GB/T 27903-2011電梯層門耐火試驗(yàn)完整性、隔熱性和熱通量測定法
- GB/T 15242.2-2017液壓缸活塞和活塞桿動密封裝置尺寸系列第2部分:支承環(huán)尺寸系列和公差
- 部編人教版六年級下冊小學(xué)數(shù)學(xué)全冊課時練(一課一練)
評論
0/150
提交評論