版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、行知堂教育Document Processing文件處理行知堂教育學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)掌握文件的打開與關(guān)閉掌握讀寫文件的多種方式掌握目錄的打開與瀏覽掌握文件的上傳下載異常定義異常處理方式行知堂教育格式:int fopen(string filename, string mode , int use_include_path); 參數(shù)filename是要打開的包含路徑的文件名。參數(shù)mode是打開文件的方式。文件處理技術(shù)的基本操作文件處理技術(shù)的基本操作 打開文件 mode說明r只讀方式打開文件r+讀寫方式打開文件 w只寫方式打開文件,若文件不存在則創(chuàng)建該文件 w+讀寫方式打開文件,若文件不存在則創(chuàng)建該
2、文件 a寫方式打開文件,指針指向文件尾,表示可以在文件中追加數(shù)據(jù),若文件不存在則創(chuàng)建該文件 a+讀寫方式打開文件指針指向文件尾,表示可以在文件中追加數(shù)據(jù),若文件不存在則創(chuàng)建該文件 b以二進(jìn)制方式打開文件行知堂教育格式:格式:string fgetc(resource handle); fgetc()函數(shù)從文件指針中讀取字符,返回包含一個(gè)字符的字符串。該字符從函數(shù)從文件指針中讀取字符,返回包含一個(gè)字符的字符串。該字符從handle指向的文件中得到。指向的文件中得到。 文件處理技術(shù)的基本操作文件處理技術(shù)的基本操作 讀取文件 行知堂教育q讀取一行數(shù)據(jù):fgets()和fgetss() fgets()
3、函數(shù) 函數(shù)聲明:string fgets(int handle , int length);參數(shù)handle是被打開的文件,參數(shù)length是要讀取的數(shù)據(jù)長(zhǎng)度。函數(shù)能夠?qū)崿F(xiàn)從handle指向文件中讀取一行并返回長(zhǎng)度最大值為length-1個(gè)字節(jié)的字符串。在遇到換行符、EOF或者讀取了length-1個(gè)字節(jié)后停止。 fgetss()函數(shù) fgetss()函數(shù)是fgets()函數(shù)的變體,用于讀取一行數(shù)據(jù),同時(shí)fgetss()會(huì)過濾掉內(nèi)容中的HTML和PHP標(biāo)記。函數(shù)聲明如下:string fgetss(resouce handle, int length , string allowable_ta
4、gs);文件處理技術(shù)的基本操作文件處理技術(shù)的基本操作 讀取文件 行知堂教育qreadfile()函數(shù)readfile()函數(shù)用于讀入一個(gè)文件并將其寫入輸出緩沖 函數(shù)聲明如下:int readfile(string filename, bool use_include_path , resouce context);該函數(shù)用于讀入一個(gè)文件并將其寫入到輸出緩沖。文件處理技術(shù)的基本操作文件處理技術(shù)的基本操作 讀取整個(gè)文件行知堂教育文件處理技術(shù)的基本操作文件處理技術(shù)的基本操作 在PHP中可以使用fwrite()函數(shù)和fputs()函數(shù)向文件中寫入數(shù)據(jù)。fputs()函數(shù)是fwrite()函數(shù)的別名,它
5、們的用法相同。fwrite()函數(shù)的語(yǔ)法如下:int fwrite(resource handle, string str , int length);把內(nèi)容string寫入文件指針handle處。如果指定了長(zhǎng)度length,當(dāng)寫入了length個(gè)字節(jié),寫入就會(huì)停止。如果文件內(nèi)容長(zhǎng)度小于length,則輸出全部文件內(nèi)容。寫入文件 行知堂教育unlink()函數(shù)用于刪除文件,函數(shù)聲明如下:bool unlink(string filename);使用時(shí)文件必須是關(guān)閉的。如果成功則返回true值,否則返回false值。 文件處理技術(shù)的基本操作文件處理技術(shù)的基本操作 刪除文件 對(duì)文件的操作結(jié)束后,應(yīng)
6、該關(guān)閉這個(gè)文件,否則可能引起錯(cuò)誤。在PHP中可以使用fclose()函數(shù)來關(guān)閉文件,函數(shù)聲明如下:bool fclose(resource handle);關(guān)閉文件 行知堂教育要實(shí)現(xiàn)拷貝文件可以使用copy()函數(shù)。該函數(shù)能夠復(fù)制文件,函數(shù)聲明如下:bool copy(string source , string dest);該函數(shù)將文件從source復(fù)制到dest。成功則返回true,否則返回false。下面將test.txt文件拷貝到本地目錄下,并重命名為test1.txt,核心代碼如下:運(yùn)行結(jié)果如圖所示。文件處理技術(shù)的基本操作文件處理技術(shù)的基本操作 拷貝文件 行知堂教育函數(shù)聲明如下:bo
7、ol rename(string oldname,string newname);該函數(shù)把oldname重新命名為newname,成功則返回true,否則返回false。此處把這兩個(gè)應(yīng)用在一個(gè)實(shí)例中展示出來,先給文件重命名,然后移動(dòng)到父目錄中,核心代碼如下:?php$old_name=test.txt;$new_name=test1;if(rename($old_name,$new_name)echo 重命名成功;if (rename($new_name,./$new_name) echo 移動(dòng)文件成功文件內(nèi)容為:;readfile(./$new_name);?文件處理技術(shù)的基本操作文件處理技
8、術(shù)的基本操作 移動(dòng)和重命名文件 rename()函數(shù)行知堂教育目錄作為一種特殊的文件,同樣操作它的第一步也是打開。PHP使用opendir()函數(shù)來打開目錄,函數(shù)聲明如下:resource opendir(string path);函數(shù)opendir()的參數(shù)path是一個(gè)合法的目錄路徑,成功執(zhí)行后返回目錄的指針。下面介紹opendir()函數(shù)打開目錄的一般流程,核心代碼如下:目錄操作技術(shù)目錄操作技術(shù) 打開目錄打開目錄 行知堂教育在PHP中要讀取已經(jīng)打開目錄中的數(shù)據(jù)可以使用readdir()函數(shù),函數(shù)聲明如下:string readdir(resource dir_handle);參數(shù)dir_
9、handle為使用opendir()函數(shù)打開一個(gè)目錄返回的目錄指針。該函數(shù)執(zhí)行,返回目錄下的一個(gè)文件的文件名,文件名以文件系統(tǒng)的順序返回。讀取結(jié)束時(shí)返回false值。目錄操作技術(shù)目錄操作技術(shù) 讀取目錄讀取目錄 行知堂教育創(chuàng)建目錄是通過file_exists ()和mkdir()函數(shù)來實(shí)現(xiàn)的,函數(shù)的語(yǔ)法結(jié)構(gòu)如下:bool file_exists ( string filename )file_exists()函數(shù)用來檢查文件或目錄是否存在,如果由 filename 指定的文件或目錄存在則返回true,否則返回 falsebool mkdir(string pathname , int mode
10、);本函數(shù)建立名為pathname的目錄,參數(shù)mode 以八進(jìn)制的方式指定(0 xxx),在Windows下會(huì)被忽略。成功則返回true,失敗返回false。目錄操作技術(shù)目錄操作技術(shù) 建立目錄建立目錄 行知堂教育既然可以創(chuàng)建一個(gè)目錄,那么也可以刪除一個(gè)目錄。刪除目錄主要是通過is_dir()和rmdir()兩個(gè)函數(shù)來實(shí)現(xiàn)的。bool is_dir ( string filename )如果文件名存在并且為目錄則返回 true。如果 filename 是一個(gè)相對(duì)路徑,則按照當(dāng)前工作目錄檢查其相對(duì)路徑。 bool rmdir ( string dirname )嘗試刪除 dirname 所指定的目
11、錄。 該目錄必須是空的,而且要有相應(yīng)的權(quán)限。如果成功則返回 true,失敗則返回 false。 目錄操作技術(shù)目錄操作技術(shù) 刪除目錄刪除目錄 行知堂教育在PHP中對(duì)于已經(jīng)打開的目錄,如果要轉(zhuǎn)到另外一個(gè)目錄,可以使用chdir()函數(shù)來實(shí)現(xiàn)該操作。函數(shù)聲明如下:bool chdir(string directory);其中參數(shù)directory為新的目錄,成功執(zhí)行返回true,否則返回false。目錄操作技術(shù)目錄操作技術(shù) 改變目錄改變目錄 行知堂教育關(guān)閉目錄可以使用closedir()函數(shù),函數(shù)聲明如下:void closedir(resource dir_handle);參數(shù)dir_handle
12、為使用opendir()函數(shù)打開的目錄返回的目錄指針。 目錄操作技術(shù)目錄操作技術(shù) 關(guān)閉目錄關(guān)閉目錄 行知堂教育要實(shí)現(xiàn)文件上傳,首先要確認(rèn)php.ini配置文件中的上傳功能是否開啟。在php.ini中找到FILE UploadS項(xiàng)查看上傳功能是否開啟。注意注意:enctype一定要設(shè)為multipart/form-data,否則不能上傳文件。 文件上傳和下載的技術(shù)文件上傳和下載的技術(shù) 開啟PHP文件上傳功能 行知堂教育上傳文件涉及到的參數(shù)上傳文件涉及到的參數(shù) file_uploads p是否允許通過HTTP上傳文件,默認(rèn)為ON即是開 upload_tmp_dir p用來說明PHP上傳的文件放置的
13、臨時(shí)目錄 upload_max_filesize p允許上傳文件大小的最大值,默認(rèn)為2M post_max_size p控制在采用POST方法進(jìn)行一次表單提交中PHP所能夠接收的最大數(shù)據(jù)量。行知堂教育文件上傳相關(guān)屬性文件上傳相關(guān)屬性 使用$_FILE來接收上傳的文件p$_FILESuserfilename 客戶端機(jī)器文件的原名稱。 p$_FILESuserfiletype 文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如“image/gif”。 p$_FILESuserfilesize 已上傳文件的大小,單位為字節(jié)。 p$_FILESuserfiletmp_name 文件被上傳后在服務(wù)
14、端儲(chǔ)存的臨時(shí)文件名。 行知堂教育q通過鏈接方式下載 對(duì)于如何實(shí)現(xiàn)下載的功能有很多方法,最為常用的就是通過鏈接方式下載,格式如下:?phpecho 下載文件;?q應(yīng)用header()函數(shù)實(shí)現(xiàn)下載 int header(string str);本函數(shù)實(shí)現(xiàn)送出HTTP協(xié)議的標(biāo)頭到瀏覽器,標(biāo)頭(header)是服務(wù)器以HTTP協(xié)議上傳HTML資料到瀏覽器前所送出的字符串。header(Location:http:/localhost:8080/PHPDemo1/uploads/1.rar);文件上傳和下載的技術(shù)文件上傳和下載的技術(shù) 下載文件 行知堂教育q應(yīng)用header()函數(shù)實(shí)現(xiàn)下載 在下面的實(shí)例中
15、,在index.php頁(yè)中,用戶必須接受服務(wù)條款才可以下載,單擊“同意”按鈕后,頁(yè)面跳轉(zhuǎn)到index_ok.php通過header()函數(shù)下載需要的文件。核心代碼如下:index.php頁(yè)面:如果你想下載該文件,請(qǐng)?jiān)敿?xì)閱讀下面的服務(wù)條款,你同意后方可下載index_ok.php頁(yè)面:運(yùn)行結(jié)果如圖所示。文件上傳和下載的技術(shù)文件上傳和下載的技術(shù) 下載文件 行知堂教育異常(異常(Exception)的定義)的定義 異常:是在運(yùn)行的代碼序列中產(chǎn)生的一種異常情況 異常定義了程序中遇到的非致命的錯(cuò)誤,而不是編譯時(shí)的語(yǔ)法錯(cuò)誤,例如:程序要打開一個(gè)不存在的文件、網(wǎng)絡(luò)連接中斷、數(shù)據(jù)庫(kù)打開失敗,裝載一個(gè)不存在的類
16、等。當(dāng)異常被觸發(fā)時(shí),通常會(huì)發(fā)生: 當(dāng)前代碼狀態(tài)被保存 代碼執(zhí)行被切換到預(yù)定義的異常處理器函數(shù) 根據(jù)情況,處理器也許會(huì)從保存的代碼狀態(tài)重新開始執(zhí)行代碼,終止腳本執(zhí)行,或從代碼中另外的位置繼續(xù)執(zhí)行腳本 。行知堂教育Try, throw 和和 catch 處理處理程序應(yīng)當(dāng)包括: Try - 使用異常的函數(shù)應(yīng)該位于 try 代碼塊內(nèi)。如果沒有觸發(fā)異常,則代碼將照常繼續(xù)執(zhí)行。但是如果異常被觸發(fā),會(huì)拋出一個(gè)異常。 Throw - 這里規(guī)定如何觸發(fā)異常。每一個(gè) throw 必須對(duì)應(yīng)至少一個(gè) catch Catch - catch 代碼塊會(huì)捕獲異常,并創(chuàng)建一個(gè)包含異常信息的對(duì)象行知堂教育1) throw ne
17、w Exception(你所輸入的值大于1); return true; try checkNum(2); echo 運(yùn)行成功!; catch(Exception $e) echo Message: .$e-getMessage();?行知堂教育忽略異常忽略異常 前綴p將屏蔽表達(dá)式所有的錯(cuò)誤信息p常常與die()或exit()函數(shù)一起使用p在開發(fā)過程中,記得多用print / echo和print_r / var_dump來跟蹤得到的變量、對(duì)象或數(shù)組內(nèi)容行知堂教育 $a=(1/0);/$a=(1/0);/$a=(1/0); $a=(1/0)or die(“正在執(zhí)行操作!”); 如果有錯(cuò)則不會(huì)往下繼續(xù)執(zhí)行,正確時(shí)才不執(zhí)行die; $a=(1/0)or exit(); 出錯(cuò)時(shí)才會(huì)執(zhí)行exit,將會(huì)終斷不再執(zhí)行后面的. Trigger_error(“ 稍等”);發(fā)出一條通知但還會(huì)繼續(xù)執(zhí)行后面的.行知堂教育異常機(jī)制關(guān)鍵的好處異常機(jī)制關(guān)鍵的好處 (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版有關(guān)運(yùn)輸合同模板集合
- 二零二五版辦公設(shè)備耗材行業(yè)規(guī)范制定與執(zhí)行合同3篇
- 2025年度企業(yè)信息化建設(shè)與網(wǎng)絡(luò)安全合同3篇
- 2024版智慧城市系統(tǒng)集成合同
- 2025年度集裝箱貨運(yùn)代理業(yè)務(wù)合作伙伴管理協(xié)議3篇
- 2025不銹鋼室內(nèi)門定制及安裝服務(wù)合同3篇
- 2025年度出納崗位競(jìng)聘及考核聘用合同書3篇
- 2025年度汽車零部件生產(chǎn)商質(zhì)量標(biāo)準(zhǔn)執(zhí)行協(xié)議3篇
- 二零二五年度科技公司兼職軟件開發(fā)人員聘用合同3篇
- 二零二五版股權(quán)分紅權(quán)轉(zhuǎn)讓補(bǔ)充協(xié)議3篇
- 配電安規(guī)課件
- 中國(guó)高血壓防治指南(2024年修訂版)解讀課件
- 瀝青路面施工安全培訓(xùn)
- 機(jī)電設(shè)備安裝施工及驗(yàn)收規(guī)范
- 倉(cāng)庫(kù)安全培訓(xùn)考試題及答案
- 第六單元 中華民族的抗日戰(zhàn)爭(zhēng) 教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版八年級(jí)歷史上冊(cè)
- 初中古詩(shī)文言文背誦內(nèi)容
- 天然氣分子篩脫水裝置吸附計(jì)算書
- 檔案管理項(xiàng)目 投標(biāo)方案(技術(shù)方案)
- 蘇教版六年級(jí)上冊(cè)100道口算題(全冊(cè)完整版)
- 2024年大學(xué)試題(宗教學(xué))-佛教文化筆試考試歷年典型考題及考點(diǎn)含含答案
評(píng)論
0/150
提交評(píng)論