版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章文件與目錄本章要點(diǎn):PHP中文件的操作PHP中目錄的操作技能目標(biāo):操作系統(tǒng)的文件與目錄能綜合運(yùn)用函數(shù)進(jìn)行數(shù)據(jù)處理第5章文件與目錄5.1項(xiàng)目導(dǎo)入【項(xiàng)目場(chǎng)景】開發(fā)一個(gè)文件讀取系統(tǒng)。能夠創(chuàng)建文件,在文件中寫內(nèi)容。又能讀取硬盤上的某個(gè)文件,在頁面中顯示文件的相應(yīng)內(nèi)容,運(yùn)行效果如圖所示:第5章文件與目錄【問題引導(dǎo)】(1)如何創(chuàng)建文件?(2)如何讀取文件的內(nèi)容?(3)如何把內(nèi)容寫入文件中?第5章文件與目錄5.2技術(shù)與知識(shí)準(zhǔn)備5.2.1目錄
1.新建目錄使用mkdir()函數(shù)可以根據(jù)提供的目錄名或目錄的全路徑創(chuàng)建新的目錄,如果創(chuàng)建成功,則返回True,否則返回False。例如在當(dāng)前目錄下創(chuàng)建一個(gè)hellosym的目錄。<?phpif(mkdir("hellosym"))echo"創(chuàng)建成功"?>第5章文件與目錄2.刪除目錄使用rmdir()函數(shù)可以刪除一個(gè)空目錄,如果目錄不為空,則必須先刪除目錄中的所有文件才能刪除目錄。例如將剛才的hellosym目錄刪除。<?phpif(rmdir("hellosym"))echo"刪除成功"?>3.獲取當(dāng)前工作目錄當(dāng)前工作目錄是指正在運(yùn)行的文件所在的目錄,使用getcwd()函數(shù)可以取得當(dāng)前的工作目錄,該函數(shù)沒有參數(shù),成功則返回當(dāng)前的工作目錄,失敗則返回False。<?phpechogetcwd()?>//輸出結(jié)果:c:\myweb第5章文件與目錄4.打開或關(guān)閉目錄句柄文件和目錄的訪問都是通過句柄來實(shí)現(xiàn)的,使用opendir()函數(shù)則可以打開一個(gè)目錄句柄,該函數(shù)的參數(shù)是打開的目錄路徑,打開成功則返回True,失敗則返回False。使用完一個(gè)已經(jīng)打開的目錄句柄后,要使用closedir()函數(shù)來關(guān)閉這個(gè)句柄。5.獲取指定路徑的目錄和文件scandir()函數(shù)可列出指定目錄中的文件和目錄,語法格式如下:arrayscandir(string$directory,int$sorting_order,resource$context)$directory為指定路徑$context是一個(gè)資源變量$sorting_order默認(rèn)按字母升序排列,如果設(shè)為1,則表示按字母的降序排列。第5章文件與目錄6.對(duì)象是否是目錄使用is_dir()函數(shù)檢查上級(jí)目錄下的目標(biāo)對(duì)象logo.jpg是否是目錄。如果目標(biāo)對(duì)象是目錄系統(tǒng)返回true,否則返回false。$checkResult=is_dir('../logo.jpg');7.獲取目錄中的所有文件名(1)先打開要操作的目錄,并用一個(gè)變量指向它。(2)循環(huán)的讀取目錄下的所有文件。第5章文件與目錄(3)目錄下都會(huì)有兩個(gè)文件,名字為‘.’和‘..’,不要對(duì)他們進(jìn)行操作(4)進(jìn)行處理(5)關(guān)閉目錄【示例1】要求使用opendir函數(shù)、readdir()、closedir()三個(gè)函數(shù)編寫讀取chapter05目錄下所有的文件及文件夾名稱。第5章文件與目錄5.2.2文件1.打開文件2.關(guān)閉文件文件處理完畢,需要使用fclose()函數(shù)關(guān)閉文件,語法格式如下:fclose(resource$handle)3.寫入文件fwrite()函數(shù):文件打開后,向文件中寫入內(nèi)容可以使用fwrite()函數(shù),語法格式如下:intfwrite(resource$handle,string$string,int$length)第5章文件與目錄4.讀取文件(1)fread()(2)file()、readfile()(3)fgets()fgets()函數(shù)用于從文件讀取單行。(4)fgetc()fgetc()函數(shù)用于從文件中讀取單個(gè)字符。(5)file_get_contents()將整個(gè)或部分文件內(nèi)容讀取到一個(gè)字符串中,功能與依次調(diào)用fopen()、fread()和fclose()的功能一樣。第5章文件與目錄5.刪除文件例如:刪除當(dāng)前目錄下的a.txt$deleteResult=unlink('a.txt');6.判斷文件是否存在file_exists例如:檢查上級(jí)目錄下的文件logo.jpg是否存在。$existResult=file_exists(“../logo.jpg”);說明:如果文件存在系統(tǒng)返回true,否則返回false。7.文件大小函數(shù)例如:獲取上級(jí)目錄下的文件logo.png的大小。$size=filesize('../logo.png');說明:系統(tǒng)會(huì)返回一個(gè)數(shù)字,表示文件的大小是多少字節(jié)(bytes)。第5章文件與目錄8.復(fù)制文件函數(shù)例如:將當(dāng)前目錄下的a.txt,復(fù)制到上一級(jí)目錄的chapter04目錄中,重命名為ab.txt。<?phpcopy("a.txt","../chapter04/ab.txt");?>9.重命名文件函數(shù)<?phprename("a.txt","ab.txt");?>10.文件指針操作函數(shù)(1)feof該函數(shù)檢測(cè)是否已到達(dá)文件末尾(eof)。(2)rewind該函數(shù)將文件指針的位置倒回文件的開頭。(3)ftell返回在打開文件中的當(dāng)前位置。(4)fseek第5章文件與目錄【示例2】創(chuàng)建一程序,讀取chapter05文件夾下的file.txt文件,并在頁面上顯示出來。第5章文件與目錄5.3項(xiàng)目訓(xùn)練通過對(duì)以上內(nèi)容的學(xué)習(xí),了解了文件和目錄的操作及其函數(shù),現(xiàn)在回到項(xiàng)目導(dǎo)入的任務(wù)中來?!静襟E1】創(chuàng)建站點(diǎn)mywebsite,站點(diǎn)文件夾為C:\myweb?!静襟E2】修改Apache的配置文件,改變網(wǎng)站的保存路徑?!静襟E3】新建文件,取名為ex5_3.php,保存到chapter05文件夾中。進(jìn)行頁面布局。
第5章文件與目錄【步驟4】編寫PHP代碼:<?phpif(isset($_POST["read"])){ $filename=$_POST["rfilename"]; $fp=fopen("$filename","r"); $content=""; while(!feof($fp)) { $data=fread($fp,8192); $content.=$data; }
第5章文件與目錄echo"<textareaname='textarea2'id='textarea2'rows='5'>$content</textarea>"; fclose($fp);}if(isset($_POST["write"])){ $content=$_POST["textarea"]; $filename=$_POST["wfilename"]; $fp=fopen("$filename","w"); $n=fwrite($fp,$content); if($n!=0) echo"<scriptlanguage='javascript'>alert('寫入成功!')</script>"; else echo"<scriptlanguage='javascript'>alert('寫入失敗!')</script>"; fclose($fp);}?>第5章文件與目錄5.4平行項(xiàng)目訓(xùn)練1.訓(xùn)練內(nèi)容實(shí)現(xiàn)文件的復(fù)制與移動(dòng)。運(yùn)行效果如圖所示:2.訓(xùn)練目的(1)進(jìn)一步訓(xùn)練和鞏固學(xué)生對(duì)文件的操作;(2)使學(xué)生對(duì)復(fù)制與移動(dòng)文件有一個(gè)比較清晰的了解。第5章文件與目錄3.訓(xùn)練過程【步驟1】新建文件ex5_4.php,保存在chapter05文件夾中。進(jìn)行頁面布局,代碼如下:【步驟2】編寫PHP代碼:<?phpif(isset($_POST["cbutton"])){ $source=$_POST["ycopy"]; $destination=$_POST["mcopy"]; $result=copy($source,$destination);
第5章文件與目錄if($result==true) echo"<scriptlanguage='javascript'>alert('復(fù)制成功!')</script>"; else echo"<scriptlanguage='javascript'>alert('復(fù)制失敗!')</script>";}if(isset($_POST["mbutton"])){ $source=$_POST["ymove"]; $destination=$_POST["mmove"]; $result=copy($source,$destination); unlink($source);
第5章文件與目錄if($result==true) echo"<scriptlanguage='javascript'>alert('移動(dòng)成功!')</script>"; else echo"<s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省龍巖市一級(jí)達(dá)標(biāo)校2026屆高一上數(shù)學(xué)期末綜合測(cè)試試題含解析
- 智能控制 課件 -第九章-智能控制展望
- 獸藥銷售團(tuán)隊(duì)培訓(xùn)課件
- 設(shè)備巡檢管理制度及流程(3篇)
- 防止誤操作安全管理制度(3篇)
- 獸醫(yī)診療技術(shù)分享
- 中學(xué)學(xué)生社團(tuán)活動(dòng)對(duì)外合作制度
- 企業(yè)人力資源規(guī)劃與發(fā)展制度
- 企業(yè)財(cái)務(wù)報(bào)銷審批制度
- 2026湖北省定向電子科技大學(xué)選調(diào)生招錄備考題庫附答案
- 民用建筑熱工設(shè)計(jì)規(guī)范
- 學(xué)堂在線 雨課堂 學(xué)堂云 唐宋詞鑒賞 期末考試答案
- 2025至2030中國輻射監(jiān)測(cè)儀表市場(chǎng)投資效益與企業(yè)經(jīng)營發(fā)展分析報(bào)告
- 工程力學(xué)(本)2024國開機(jī)考答案
- 產(chǎn)品認(rèn)證標(biāo)志管理制度
- 廣州西關(guān)大屋介紹
- 基于機(jī)器視覺的SLM金屬3D打印設(shè)備視覺標(biāo)定技術(shù)研究
- CJ/T 192-2017內(nèi)襯不銹鋼復(fù)合鋼管
- GB/T 31907-2025服裝測(cè)量方法
- 消毒供應(yīng)中心清洗流程
- 買賣合同爭(zhēng)議仲裁應(yīng)訴答辯書范本
評(píng)論
0/150
提交評(píng)論