《PHP網(wǎng)頁案例任務(wù)教程》課件 項目6 動態(tài)網(wǎng)頁制作對集團(tuán)公司服務(wù)器端文件操作_第1頁
《PHP網(wǎng)頁案例任務(wù)教程》課件 項目6 動態(tài)網(wǎng)頁制作對集團(tuán)公司服務(wù)器端文件操作_第2頁
《PHP網(wǎng)頁案例任務(wù)教程》課件 項目6 動態(tài)網(wǎng)頁制作對集團(tuán)公司服務(wù)器端文件操作_第3頁
《PHP網(wǎng)頁案例任務(wù)教程》課件 項目6 動態(tài)網(wǎng)頁制作對集團(tuán)公司服務(wù)器端文件操作_第4頁
《PHP網(wǎng)頁案例任務(wù)教程》課件 項目6 動態(tài)網(wǎng)頁制作對集團(tuán)公司服務(wù)器端文件操作_第5頁
已閱讀5頁,還剩75頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

項目六動態(tài)網(wǎng)頁制作對集團(tuán)公司服務(wù)器端文件操作項目引言隨著公司信息化建設(shè)的不斷推進(jìn),公司在信息化領(lǐng)域業(yè)務(wù)需求也不斷拓展,公司技術(shù)日志文檔等管理就顯現(xiàn)出重要性。首先針對日常工作中的技術(shù)信息記錄需求,任務(wù)的目標(biāo)在于提高信息記錄的便捷性,確保能夠及時有效地記錄工作中的關(guān)鍵技術(shù)信息。其次通過WAMP系統(tǒng)設(shè)計日志文件列表可以方便地查看保存的日志文件,旨在提高對項目進(jìn)展的了解,促進(jìn)團(tuán)隊成員之間的信息共享,查看其中的詳細(xì)內(nèi)容,實(shí)現(xiàn)了高效的文檔查閱與管理。再次用戶通過對日志內(nèi)容的編輯和刪除操作,可以靈活地修改和編輯已保存的日志內(nèi)容,這一功能不僅提高了對日志內(nèi)容的靈活處理,也為團(tuán)隊成員提供了更為定制化的文檔管理體驗。最后還需要滿足公司對上傳平臺資料進(jìn)行管理的需求。用戶可以上傳多種類型的文檔,實(shí)現(xiàn)文檔的分類、版本控制、搜索和篩選。通過文件權(quán)限管理,確保只有授權(quán)人員能夠訪問和修改文檔,提高公司文檔的安全性和可管理性。本項目就是在公司的WAMP網(wǎng)站中,設(shè)計PHP動態(tài)網(wǎng)頁,在服務(wù)器端實(shí)現(xiàn)日志技術(shù)文件創(chuàng)建、讀取、修改、寫入、刪除、上傳資料等功能。能力目標(biāo)能運(yùn)用fopen()、fwrite()、fclose()等函數(shù)設(shè)計創(chuàng)建日志文本文件動態(tài)網(wǎng)頁能運(yùn)用scandir()、pathinfo()、file_get_contents()等函數(shù)設(shè)計查看日志文本文件內(nèi)容動態(tài)網(wǎng)頁能運(yùn)用file_put_contents()、file()、unlink()等函數(shù)設(shè)計編輯保存或刪除日志文本文件動態(tài)網(wǎng)頁能運(yùn)用File類設(shè)計上傳公司文檔資料動態(tài)網(wǎng)頁任務(wù)一設(shè)計創(chuàng)建公司日志文本文件動態(tài)網(wǎng)頁復(fù)習(xí)知識與技能任務(wù)描述根據(jù)公司的設(shè)計標(biāo)準(zhǔn)化要求,網(wǎng)絡(luò)信息部門的負(fù)責(zé)人將任務(wù)委派給工程師小明。在設(shè)計公司網(wǎng)站的過程中,工程師小明需要記錄動態(tài)網(wǎng)頁設(shè)計過程中的代碼、思路和其他技術(shù)內(nèi)容。這些記錄將以文本文件的形式保存,并以日期時間作為文件名。此外,工程師小明還需要設(shè)計名為“060101.php”的動態(tài)網(wǎng)頁來實(shí)現(xiàn)這個任務(wù)。為了保留相關(guān)的文字信息,日志將以txt文件類型保存,每個日志文件的文件名將基于相應(yīng)的日期時間。工程師小明應(yīng)按照要求精確記錄并保存所有相關(guān)的技術(shù)細(xì)節(jié)和過程,以確保設(shè)計的完整性和可追溯性。這將有助于確保項目的順利進(jìn)行和未來的維護(hù)工作。通過詳細(xì)記錄,工程師小明可以提供清晰的技術(shù)檔案,以供團(tuán)隊成員和上級管理層參考,并在必要時進(jìn)行技術(shù)交流和知識共享。記錄的準(zhǔn)確性和及時性對于項目的順利進(jìn)行和團(tuán)隊協(xié)作至關(guān)重要,因此工程師小明應(yīng)認(rèn)真對待這一任務(wù),并確保每個文本文件都包含詳盡的技術(shù)信息。這將為公司網(wǎng)站的設(shè)計和維護(hù)提供有價值的參考,并為未來的技術(shù)改進(jìn)提供有力支持。按照公司設(shè)計標(biāo)準(zhǔn)化的要求,網(wǎng)絡(luò)信息部門負(fù)責(zé)人要求工程師小明在設(shè)計公司網(wǎng)站過程中,需要把動態(tài)網(wǎng)頁設(shè)計過程中一些代碼和思路等技術(shù)內(nèi)容記錄下來,格式為文本文件,以日期時間為文件名。工程師小明將設(shè)計名為“060101.php”的動態(tài)網(wǎng)頁來實(shí)現(xiàn)這一功能,如圖6-1-1所示。任務(wù)分析網(wǎng)頁的布局包括標(biāo)題、一張圖片和表單。表單中包含兩個輸入字段,用于填寫日志的文件名和內(nèi)容。提交按鈕則觸發(fā)保存操作。通過網(wǎng)頁上的表單,用戶可以輸入日志的文件名和內(nèi)容,并通過點(diǎn)擊提交按鈕來保存日志。這個功能的目的是滿足企業(yè)內(nèi)部部門經(jīng)理的要求,即要求工程師能夠記錄公司網(wǎng)站設(shè)計過程中的代碼、思路和其他技術(shù)內(nèi)容。通過保存日志文件,可以確保設(shè)計的完整性和可追溯性,并為團(tuán)隊成員和上級管理層提供參考和交流的依據(jù)。1.技術(shù)準(zhǔn)備工作(1)網(wǎng)站系統(tǒng)主要技術(shù)參數(shù)。Web站點(diǎn)路徑:C:\phpweb。Web測試IP地址:127.0.0.1。Web測試端口號:8899。(2)網(wǎng)頁文件名為“060101.php”。(3)完成設(shè)計后,進(jìn)行全面的測試、調(diào)試和驗收工作,確保頁面在各種瀏覽器和設(shè)備上的兼容性和正常顯示,記錄主要施工技術(shù)參數(shù)。2.設(shè)計公司網(wǎng)站任務(wù)要求是在設(shè)計公司網(wǎng)站的過程中完成相應(yīng)的工作。技術(shù)人員需要了解公司網(wǎng)站的設(shè)計需求和目標(biāo),包括界面布局、功能要求、用戶體驗等方面的要求。3.記錄代碼和思路在動態(tài)網(wǎng)頁設(shè)計過程中,技術(shù)人員需要記錄下代碼和思路等技術(shù)內(nèi)容。這些內(nèi)容可以包括編寫的代碼片段、解決問題的思路、算法設(shè)計等。記錄可以以文本文件的形式保存,以便后續(xù)查閱和參考。任務(wù)分析4.文件格式和命名規(guī)則記錄的內(nèi)容需要以文本文件的形式保存,并以日期時間作為文件名。技術(shù)人員需要確保正確使用適當(dāng)?shù)奈募袷剑ㄈ?txt文件)來存儲記錄,并根據(jù)日期時間來命名文件,以便日后查找和管理。5.動態(tài)網(wǎng)頁設(shè)計任務(wù)要求中提到工程師小明需要設(shè)計名為“060101.php”的動態(tài)網(wǎng)頁來實(shí)現(xiàn)該功能。技術(shù)人員需要具備動態(tài)網(wǎng)頁設(shè)計的技能和經(jīng)驗,使用適當(dāng)?shù)木幊陶Z言(如PHP)和技術(shù)來實(shí)現(xiàn)所需的功能。6.日志保存和管理要求將記錄保存為日志文件,并確保文件名和內(nèi)容的準(zhǔn)確記錄。技術(shù)人員需要編寫代碼來實(shí)現(xiàn)日志的保存和管理功能,包括創(chuàng)建命名文件、寫入文本文件內(nèi)容等操作。綜上所述,從技術(shù)人員的角度來看,這個任務(wù)涉及公司網(wǎng)站設(shè)計、代碼記錄、文件格式與命名、動態(tài)網(wǎng)頁設(shè)計以及日志的保存和管理等方面的工作。技術(shù)人員需要具備相關(guān)的技術(shù)知識和技能,以完成任務(wù),并確保設(shè)計的完整性、可追溯性和可維護(hù)性。同時,技術(shù)人員也應(yīng)該注重良好的溝通和協(xié)作,與團(tuán)隊成員和部門經(jīng)理保持密切溝通,確保任務(wù)的順利完成。1.準(zhǔn)備工作按照網(wǎng)站規(guī)劃參數(shù)進(jìn)行配置。Web站點(diǎn)路徑:C:\phpweb。Web測試IP地址:127.0.0.1。Web測試端口號:8899。參照項目一中任務(wù)一、任務(wù)二、任務(wù)三,配置并啟動WAMP環(huán)境,配置好Dreamweaver網(wǎng)站環(huán)境,如果已經(jīng)配置并啟動WAMP環(huán)境、Dreamweaver網(wǎng)站環(huán)境,本步驟可以略過。2.創(chuàng)建設(shè)計“060101.php”動態(tài)網(wǎng)頁(1)鼠標(biāo)單擊“開始”→“動態(tài)網(wǎng)頁”啟動Dreamweaver軟件,單擊“文件”菜單,單擊“新建”創(chuàng)建PHP動態(tài)網(wǎng)頁“060101.php”。(2)網(wǎng)頁屬性中鍵盤輸入網(wǎng)頁文字標(biāo)題“公司W(wǎng)AMP系統(tǒng)設(shè)計日志文本文件建立”。(3)在Web目錄的文件夾image中選擇插入圖片601.jpg,鍵盤輸入組合鍵“Shift+Enter”換行,插入標(biāo)題2格式<h1></h1>,h1中鍵盤輸入文字“公司W(wǎng)AMP系統(tǒng)設(shè)計日志文本文件建立”,鍵盤輸入組合鍵“Shift+Enter”換行,再從文件夾image選擇插入圖片602.gif。(4)參照源代碼,在</head>頭部后面輸入PHP代碼,具體見源代碼第7~30行。(5)在網(wǎng)頁文字“公司W(wǎng)AMP系統(tǒng)設(shè)計日志文本文件建立”處,鍵盤輸入組合鍵“Shift+Enter”換行。(6)插入form表單,表單中插入單行文本框,文本框?qū)傩宰址麑挾葹椤?0”,初始值為“<?phpechodate('Y-m-d_H-i-s');?>”,選擇只讀屬性,在單行文本框左邊,鍵盤輸入“日志TXT名稱:”,鍵盤輸入組合鍵“Shift+Enter”換行,表單中插入多行文本框,文本框?qū)傩宰址麑挾葹椤?0”,行數(shù)為“5”,初始值為“<?phpecho$n2;?>”。在多行文本框左邊,鍵盤輸入“日志TXT內(nèi)容:”,鍵盤輸入組合鍵“Shift+Enter”換行。表單中插入按鈕,按鈕屬性值為“保存公司W(wǎng)eb系統(tǒng)設(shè)計日志”,動作值為“提交表單”,按鈕屬性源代碼為<inputtype="submit"value="保存公司W(wǎng)eb系統(tǒng)設(shè)計日志">。3.源代碼中相關(guān)變量作用解釋(1)$n1:用于存儲從表單接收的“num1”數(shù)據(jù),表示日志文件名的一部分。$n1存儲用戶輸入的日志名稱,初始化為空字符串。$n2存儲用戶輸入的日志內(nèi)容,初始化為空字符串。$n2:用于存儲從表單接收的“num2”數(shù)據(jù),表示日志文件的內(nèi)容。(2)$saveSuccess:表示保存是否成功的狀態(tài)。在成功保存日志文件后,該變量會被設(shè)置為true,以便在后續(xù)的代碼中進(jìn)行判斷和處理。(3)$my_file:存儲文件名,由$n1拼接而成,用于將日志內(nèi)容寫入文件。它由當(dāng)前日期時間和用戶輸入的文件名部分($n1)組成,作為日志文件的名稱。(4)$handle:文件句柄,用于打開文件,執(zhí)行寫入操作,并在操作完成后關(guān)閉文件。它允許在代碼中對文件進(jìn)行操作,如寫入數(shù)據(jù)。(5)$data:用于暫存要寫入文件的數(shù)據(jù),即$n2

的值,臨時存儲要寫入文件的數(shù)據(jù),就是用戶要準(zhǔn)備保存的日志內(nèi)容。(6)$_REQUEST['num1']和$_REQUEST['num2']:從表單接收的用戶輸入數(shù)據(jù),分別表示日志文件名的一部分和日志文件的內(nèi)容。(7)$_SERVER['DOCUMENT_ROOT']:用于獲取服務(wù)器上文檔根目錄的路徑,構(gòu)造保存成功彈窗中的文件路徑。在構(gòu)造保存成功彈窗中的文件路徑時使用,以顯示保存文件的完整路徑。4.“060101.php”動態(tài)網(wǎng)頁源代碼1<!doctypehtml><!--聲明文檔類型為HTML5-->2<html>3<head>4<metacharset="utf-8"><!--設(shè)置字符編碼為utf-8,支持多種語言和符號-->5<title>保存公司W(wǎng)EB系統(tǒng)設(shè)計日志</title><!--設(shè)置網(wǎng)頁標(biāo)題-->6</head>7<?php8$n1="";//初始化PHP變量$n1為空字符串9$n2="";//初始化PHP變量$n2為空字符串100if(isset($_REQUEST['num1']))//檢查是否接收到名為"num1"的表單數(shù)據(jù)11{12$n1=$_REQUEST['num1'];//將表單提交的"num1"數(shù)據(jù)賦值給PHP變量$n113$n2=$_REQUEST['num2'];//將表單提交的"num2"數(shù)據(jù)賦值給PHP變量$n214$saveSuccess=false;//初始化保存成功狀態(tài)為false15/*寫入文件:*/16$my_file=$n1.'.txt';//使用當(dāng)前日期時間作為文件名,將文件名拼接得到17$handle=fopen($my_file,'w')ordie('Cannotopenfile'.$my_file);//打開文件,以寫入模式('w')打開,若無法打開則輸出錯誤信息并終止腳本執(zhí)行18$data=$n2;//將$n2的值賦給PHP變量$data19fwrite($handle,$data);//將$data的內(nèi)容寫入打開的文件20fclose($handle);//關(guān)閉文件句柄,釋放資源21$saveSuccess=true;//將保存成功狀態(tài)設(shè)置為true,表示保存成功 22}23?>24<body>25<?php26if($saveSuccess){27//構(gòu)造JavaScript代碼,使用alert函數(shù)彈出確認(rèn)對話框28echo'<script>';29echo'alert("保存成功,文件名為:'.$my_file.'\\n保存路徑為:'.$_SERVER['DOCUMENT_ROOT'].'");';30echo'</script>';31}32?>33<h1><imgsrc="/image/601.jpg"width="747"height="236"><br>34<strong>公司W(wǎng)AMP系統(tǒng)設(shè)計日志文本文件建立</strong></h1><!--設(shè)置標(biāo)題和加粗的文本-->35<formaction="060101.php"method="post"><!--創(chuàng)建表單,提交到"060101.php"頁面,使用POST方法-->36日志TXT名稱:37<inputname="num1"type="text"value="<?phpechodate('Y-m-d_H-i-s');?>"size="20"readonly><!--文本輸入框,用戶可以輸入數(shù)據(jù),并以PHP變量$n1作為默認(rèn)值,設(shè)置寬度為20個字符-->38<br><br>39日志TXT內(nèi)容:40<textareaname="num2"cols="40"rows="5"><?phpecho$n2;?></textarea><!--多行文本輸入框,用戶可以輸入多行文本,以PHP變量$n2作為默認(rèn)值,設(shè)置寬度為40個字符,高度為5行-->41<br><br>42<inputtype="submit"value="保存公司W(wǎng)EB系統(tǒng)設(shè)計日志"><!--提交按鈕,用戶點(diǎn)擊后提交表單數(shù)據(jù)到服務(wù)器-->43</form><imgsrc="/image/602.gif"width="750"height="80"><!--顯示圖片-->44</body>45</html>5.源代碼主要功能說明(1)第1~6行聲明文檔類型為HTML5,設(shè)置字符編碼為utf-8,設(shè)置網(wǎng)頁標(biāo)題。<!doctypehtml>:聲明文檔類型為HTML5。<html>:開始HTML文檔。<head>:定義文檔頭部。<metacharset="utf-8">:設(shè)置字符編碼為utf-8,以支持多種語言和符號。<title>保存公司W(wǎng)eb系統(tǒng)設(shè)計日志.</title>:設(shè)置網(wǎng)頁標(biāo)題為“保存公司W(wǎng)eb系統(tǒng)設(shè)計日志”。</head>:結(jié)束頭部定義。(2)第7~23行為PHP代碼,主要作用是在服務(wù)器中使公司W(wǎng)AMP系統(tǒng)設(shè)計日志以txt文本文件格式保存。初始化兩個PHP變量$n1和$n2為空字符串。檢查是否接收到名為“num1”的表單數(shù)據(jù)。如果接收到表單數(shù)據(jù),則將“num1”和“num2”的值分別賦給$n1和$n2,分別用于存儲日志文件名、日志內(nèi)容。然后初始化保存成功狀態(tài)$saveSuccess為false。接下來將表單提交的內(nèi)容寫入文件中,并在保存成功后將$saveSuccess設(shè)置為true,用于存儲日志保存成功的狀態(tài)標(biāo)志。(3)第24行為HTML代碼開始<body>部分。(4)第25~32行PHP代碼塊主要作用是日志文件保存成功后,彈出對話框顯示保存成功信息。如果保存成功(即$saveSuccess為true),則構(gòu)造一段JavaScript代碼,在頁面加載時通過alert函數(shù)彈出對話框,顯示保存成功的消息,包括保存的文件名和路徑。第25行開始PHP代碼塊,如果保存成功,則執(zhí)行下面的代碼塊。第26行構(gòu)造JavaScript代碼,使用alert函數(shù)彈出保存成功的確認(rèn)對話框。第27行輸出<script>標(biāo)簽開始。第28行輸出alert()函數(shù),顯示保存成功的消息,包括文件名和保存路徑。第29行輸出文件名和保存路徑的內(nèi)容,并換行。第30行輸出<script>標(biāo)簽結(jié)束。第31行結(jié)束if語句塊。第32行:結(jié)束PHP代碼塊。(5)第33~34行HTML代碼顯示公司標(biāo)志的頂部圖片,顯示文字標(biāo)題,設(shè)置h1標(biāo)題屬性加粗,包含圖片和文本。(6)第35行表單form開始,使用POST方法,將數(shù)據(jù)提交到“060101.php”頁面,就是參數(shù)屬性為表單提交至“060101.php”頁面。(7)第36~38行文字提示信息,文本框默認(rèn)初始值顯示當(dāng)前時間作為日志文件名,默認(rèn)值是通過PHP函數(shù)date('Y-m-d_H-i-s')生成的當(dāng)前日期時間,文本框默認(rèn)為只讀屬性,意思是日志文本文件名是不可編輯的。(8)第39~41行文字提示信息,文本區(qū)域(或者多行文本框)用于輸入日志內(nèi)容,默認(rèn)顯示之前保存的內(nèi)容,文本框?qū)傩宰址麑挾葹椤?0”,行數(shù)為“5”,初始值為“<?phpecho$n2;?>”,就是設(shè)置一個多行文本輸入框,用戶可以輸入多行文本,默認(rèn)值初始是PHP變量$n2的值。(9)第42行提交按鈕“保存公司W(wǎng)eb系統(tǒng)設(shè)計日志”,用于保存日志。(10)第43行結(jié)束表單,并顯示公司友情鏈接的底部圖片。(11)第44行結(jié)束HTMLbody部分。第45行結(jié)束HTML文檔。1.文件操作函數(shù)fopen()fopen()函數(shù)是一個重要的文件操作函數(shù),用于打開文件以便后續(xù)進(jìn)行讀取、寫入、追加等操作。根據(jù)指定的模式,它具有創(chuàng)建、打開、寫入、追加等功能,同時提供了豐富的選項,具有靈活性。格式:fopen($filename,$mode[,$use_include_path=FALSE[,$context]])參數(shù):$filename為要打開的文件名或者URL。$mode為打開文件的模式。模式字符串指定了文件的操作類型,可以是只讀、寫入、追加等。常用模式有‘r’(只讀)、‘w’(寫入,如果文件存在則截斷內(nèi)容)、‘a(chǎn)’(追加)等。$use_include_path為可選參數(shù),如果設(shè)置為true,將在include_path中查找文件。$context為可選參數(shù),一個可選的上下文資源,通常在stream上下文中使用。用法:fopen()函數(shù)結(jié)合不同參數(shù)用于打開、追加、寫入文件。如果成功打開文件或URL,則返回一個表示文件句柄的資源類型(resource),用于后續(xù)的文件讀取、寫入等操作。如果打開文件失敗,函數(shù)會返回false。如果使用‘w’模式打開文件,若文件不存在,則會創(chuàng)建一個新文件;若文件已存在,會清空其內(nèi)容。如果使用‘a(chǎn)’模式打開文件,文件指針會定位到文件末尾,允許追加寫入。例:ex6101.php。以只讀‘r’方式打開test.txt文本文件。<?php$abc=fopen('test.txt','r');//打開'test.txt'文件以只讀模式?>2.文件操作函數(shù)fread()fread()函數(shù)可從文件句柄中讀取指定長度的文件內(nèi)容數(shù)據(jù)。格式:fread($handle,$length)參數(shù):$handle為文件句柄。$length為要讀取的字節(jié)數(shù)。用法:使用fread($handle,$length)從文件句柄讀取指定數(shù)量的字節(jié),讀取的內(nèi)容會被存儲為字符串。如果讀取失敗,返回空字符串('')或者在出錯時返回false。如果讀取文件結(jié)束,或者已經(jīng)讀取了指定的長度,函數(shù)將返回讀取到的數(shù)據(jù)。文件句柄的位置指針會根據(jù)讀取的數(shù)據(jù)移動相應(yīng)的位置。例如“ex6102.php”代碼。打開名為“test.txt”的文本文件,從文本文件中讀取內(nèi)容,然后將讀取的內(nèi)容直接輸出。1<?php2$abc=fopen('test.txt','r');3echofread($abc,filesize('test.txt'));4?>3.文件操作函數(shù)fwrite()fwrite()函數(shù)可將數(shù)據(jù)寫入已打開的文件中。格式:fwrite($handle,$string[,$length])參數(shù):$handle為已打開的文件句柄。$string為要寫入的字符串。$length(可選)為要寫入的字符串最大字節(jié)數(shù)。用法:fwrite()函數(shù)將指定的字符串寫入已打開的文件句柄中。如果寫入成功則返回成功寫入的字節(jié)數(shù);如果寫入失敗,則返回false。文件句柄的位置指針會根據(jù)寫入的數(shù)據(jù)移動相應(yīng)的位置。如果提供了$length參數(shù),將只寫入指定長度的數(shù)據(jù);如果不提供這個參數(shù),將寫入整個字符串。例如“ex6103.php”代碼。打開名為“test.txt”的文本文件,從文本文件中讀取內(nèi)容,然后將讀取的內(nèi)容直接輸出。1<?php2header('Content-Type:text/html;charset=utf-8');//瀏覽器中正確顯示文本避免亂碼情況3$abc=fopen('test.txt','a');4$wenzi='這是準(zhǔn)備寫入文本文件的一段文字。';5//fwrite($abc,$wenzi);//直接fwrite無法知道寫入文本文件成功還是失敗所以判斷一下6//條件語句判斷fwrite是否不等于false,就是判斷寫入文件是否成功7if(fwrite($abc,$wenzi)!==false){8echo"寫入文件test.txt成功!";9}else{10echo"寫入文件test.txt失敗!";11}12?>4.文件操作函數(shù)fclose()fclose()函數(shù)用于關(guān)閉文件指針,釋放系統(tǒng)資源。當(dāng)您完成文件操作后,應(yīng)該調(diào)用此函數(shù)以確保文件內(nèi)容被正確保存并釋放與文件相關(guān)的資源。格式:fclose($handle)。參數(shù):$handle為要關(guān)閉的文件句柄。用法:fclose()函數(shù)用于關(guān)閉已打開的文件句柄,釋放資源。用途:完成文件操作后關(guān)閉文件資源,確保文件內(nèi)容被寫入并保存,釋放與文件操作相關(guān)的系統(tǒng)資源。例如“ex6104.php”代碼。結(jié)合前面例子,在代碼結(jié)尾使用fclose()函數(shù)關(guān)閉之前打開的文件資源句柄$abc,確保操作完成后釋放文件資源。1<?php2header('Content-Type:text/html;charset=utf-8');//瀏覽器中正確顯示文本避免亂碼情況3//以追加寫入模式('a')通過fopen打開test.txt的文件賦值給變量$abc4$abc=fopen('test.txt','a');5$wenzi='這是準(zhǔn)備寫入文本文件的一段文字。';6//條件語句判斷fwrite是否不等于false,就是判斷寫入文件是否成功7if(fwrite($abc,$wenzi)!==false){8echo"寫入文件test.txt成功!";9}else{10echo"寫入文件test.txt失敗!";11}12fclose($abc);13?>5.檢查文件是否存在函數(shù)file_exists()函數(shù)用于檢查指定路徑的文件或目錄是否存在。格式:file_exists($filename)參數(shù):$filename表示對特定文件或目錄進(jìn)行的描述。用途:主要用于確定特定文件或目錄是否存在,可用于編寫代碼,以避免在操作文件或目錄之前遇到不存在的情況。常用于文件上傳、文件操作等情況下,確定要處理的文件或目錄是否存在。例如“ex6105.php”代碼。1<?Php2header('Content-Type:text/html;charset=utf-8');//瀏覽器中正確顯示文本避免亂碼情況3$wjm='test.txt';//定義了一個名為$wjm的變量,并將字符串'test.txt'賦值給它4if(file_exists($wjm)){//條件語句檢查變量$wjm所指定的文件是否存在5echo"文件test.txt存在";6}else{7echo"文件test.txt不存在";8}?>6.創(chuàng)建目錄函數(shù)mkdir()mkdir()函數(shù)用于在指定路徑創(chuàng)建新的目錄文件夾。格式:mkdir($pathname[,$mode=0777[,$recursive=FALSE[,$context]]])參數(shù):$pathname為要創(chuàng)建的目錄的路徑。$mode(可選)為新創(chuàng)建的目錄的權(quán)限模式,默認(rèn)為0777(最高訪問權(quán)限)。$recursive(可選)如果設(shè)置為true則會遞歸地創(chuàng)建路徑中的所有缺失目錄,遞歸的意思是如果文件夾有多層會自動創(chuàng)建過程文件夾;如果設(shè)置為false,則只創(chuàng)建最后一級目錄。$context(可選)用于傳遞上下文信息。用途:用于在Web系統(tǒng)中指定路徑創(chuàng)建新文件夾。例如:ex6106.php。在Web服務(wù)器的根目錄下創(chuàng)建一個新的文件夾,文件夾名稱為567testml。如果文件夾創(chuàng)建成功,會顯示“文件夾創(chuàng)建成功!”以及創(chuàng)建的文件夾路徑;如果創(chuàng)建失敗,會顯示“文件夾創(chuàng)建失敗!”。1<?php2header('Content-Type:text/html;charset=utf-8');//瀏覽器中正確顯示文本避免亂碼情況3$mlm='567testml';//$mlm賦值為要創(chuàng)建的文件夾的名稱4$webRoot=$_SERVER['DOCUMENT_ROOT'];//獲取Web根目錄的絕對路徑5$wzml=$webRoot.'/'.$mlm;//構(gòu)建要創(chuàng)建新文件夾的絕對路徑6if(mkdir($wzml,0777,true)){//條件判斷檢查文件夾是否成功創(chuàng)建7echo"文件夾創(chuàng)建成功!";8echo"文件夾路徑:$wzml";9}else{10echo"文件夾創(chuàng)建失敗!";11}12?>7.刪除目錄函數(shù)rmdir()rmdir()函數(shù)用于刪除空的文件夾目錄。格式:rmdir($dirname[,$context])參數(shù):$dirname為要刪除的空文件夾的名稱和路徑。$context(可選)為上下文信息。用途:用于刪除空的文件夾,只有在目標(biāo)文件夾沒有任何文件或子文件夾時才能正常刪除。適用于清理臨時文件、整理文件夾結(jié)構(gòu)等情況。例如“ex6107.php”代碼。1<?php2header('Content-Type:text/html;charset=utf-8');//設(shè)置響應(yīng)頭以避免亂碼3$mlm='666testml';//替換為您想要的文件夾名稱4$webRoot=$_SERVER['DOCUMENT_ROOT'];//獲取Web根目錄的絕對路徑5$wzml=$webRoot.'/'.$mlm;//構(gòu)建新文件夾的絕對路徑6if(mkdir($wzml,0777,true)){7echo"文件夾創(chuàng)建成功!";8echo"文件夾路徑:$wzml";9}else{10echo"文件夾創(chuàng)建失敗!";11}12//刪除文件夾13if(rmdir($wzml)){14echo"文件夾刪除成功!";15}else{16echo"文件夾刪除失敗!";17}18?>本次課小結(jié)與課后作業(yè)敘述題1.簡述文件操作函數(shù)fopen()的功能、格式、參數(shù)和用途。2.簡述文件操作函數(shù)fread()的功能、格式、參數(shù)和用途。3.簡述文件操作函數(shù)fwrite()的功能、格式、參數(shù)和用途。4.簡述文件操作函數(shù)fclose()的功能、格式、參數(shù)和用途。5.簡述檢查文件是否存在函數(shù)file_exists()的功能、格式、參數(shù)和用途。6.簡述創(chuàng)建目錄函數(shù)mkdir()的功能、格式、參數(shù)和用途。7.簡述刪除目錄函數(shù)rmdir()的功能、格式、參數(shù)和用途。任務(wù)二設(shè)計查看日志文本文件動態(tài)網(wǎng)頁復(fù)習(xí)知識與技能任務(wù)描述動態(tài)網(wǎng)頁設(shè)計的過程中,有對需要查詢保存過的日志文本文件。為滿足新的任務(wù)要求,將設(shè)計一個動態(tài)網(wǎng)頁這個動態(tài)網(wǎng)頁將包含兩個主要功能,一是列表顯示公司W(wǎng)AMP系統(tǒng)設(shè)計的日志文本文件列表,二是顯示選定文件的日志內(nèi)容。為了實(shí)現(xiàn)第一項功能,需要編寫代碼來讀取并顯示保存的日志文件列表。工程師小明將使用服務(wù)器端腳本語言(如PHP)來訪問服務(wù)器上的文件系統(tǒng),并獲取保存在指定目錄中的日志文件列表。然后,他將使用HTML和CSS來設(shè)計清晰的用戶界面,以便用戶可以輕松查看日志文件列表。每個列表項將顯示文件的名稱、大小和創(chuàng)建日期等信息,以便用戶可以快速瀏覽和選擇需要查看的文件。為了實(shí)現(xiàn)第二項功能,工程師小明將創(chuàng)建交互式的界面,以便用戶可以選擇要查看的日志文件。一旦用戶選擇了文件,服務(wù)器端腳本將根據(jù)用戶選擇的文件名稱讀取文件內(nèi)容,并將其呈現(xiàn)在網(wǎng)頁上。這可以通過將文件內(nèi)容插入到HTML模板中實(shí)現(xiàn)。工程師小明將確保呈現(xiàn)的內(nèi)容易于閱讀,可以按行或按段落顯示,并且適當(dāng)?shù)剡M(jìn)行格式化,以提高可讀性。整個過程中,工程師小明將確保對服務(wù)器資源的高效利用。他將在代碼中實(shí)施錯誤處理機(jī)制,以防止意外錯誤導(dǎo)致系統(tǒng)崩潰或數(shù)據(jù)丟失。此外,他還將考慮對日志文件進(jìn)行分頁處理,以防止加載過多內(nèi)容導(dǎo)致性能下降。工程師小明還將進(jìn)行適當(dāng)?shù)臏y試和調(diào)試,以確保網(wǎng)頁的正常運(yùn)行和用戶體驗的流暢性。通過這個新設(shè)計的動態(tài)網(wǎng)頁,公司網(wǎng)絡(luò)信息部門將能夠方便地查看和管理保存的日志文本文件。這將提高他們工作效率,減少手動查找和處理日志文件的工作量,并為部門經(jīng)理提供更快速、更直觀的方式來訪問和分析所需的信息。工程師小明有將設(shè)計“060201.php”動態(tài)網(wǎng)頁,如圖6-2-1所示。任務(wù)分析1.需求分析(1)動態(tài)網(wǎng)頁設(shè)計:根據(jù)任務(wù)要求,需要設(shè)計動態(tài)網(wǎng)頁來滿足功能需求。(2)日志文件列表顯示:用戶需要能夠查看公司W(wǎng)AMP系統(tǒng)設(shè)計的日志文本文件的列表。(3)日志文件內(nèi)容顯示:用戶需要能夠選擇文件,并查看選定文件的日志內(nèi)容。2.技術(shù)選型(1)服務(wù)器端腳本語言:選擇適合處理服務(wù)器端邏輯的腳本語言,如PHP。(2)HTML和CSS:用于設(shè)計用戶界面,呈現(xiàn)清晰的列表和內(nèi)容顯示。3.功能實(shí)現(xiàn)(1)文件讀取:使用服務(wù)器端腳本語言,如PHP,讀取保存的日志文件。(2)文件列表顯示:通過服務(wù)器端腳本獲取日志文件列表,并使用HTML和CSS設(shè)計用戶界面,以清晰顯示文件名稱、大小和創(chuàng)建日期等信息。(3)文件內(nèi)容顯示:實(shí)現(xiàn)用戶選擇文件后,通過服務(wù)器端腳本讀取選定文件的內(nèi)容,并將其以易于閱讀的方式呈現(xiàn)在網(wǎng)頁上。任務(wù)分析4.用戶界面設(shè)計(1)列表顯示:使用HTML和CSS創(chuàng)建表格或列表,以呈現(xiàn)日志文件信息。每個文件可以包含文件名、大小和創(chuàng)建日期等。(2)內(nèi)容顯示:通過HTML和CSS設(shè)計區(qū)域,顯示選定文件的日志內(nèi)容。可以考慮按行或按段落顯示,并適當(dāng)進(jìn)行格式化以提高可讀性。5.錯誤處理和優(yōu)化(1)錯誤處理:在服務(wù)器端腳本中實(shí)現(xiàn)錯誤處理機(jī)制,以防止系統(tǒng)崩潰或數(shù)據(jù)丟失。例如,處理文件不存在、讀取錯誤等異常情況。(2)性能優(yōu)化:考慮對日志文件進(jìn)行分頁處理,以防止加載過多內(nèi)容導(dǎo)致性能下降。可以通過按需加載或使用分頁控件來提高用戶體驗和系統(tǒng)性能。6.測試和調(diào)試進(jìn)行適當(dāng)?shù)臏y試和調(diào)試,確保動態(tài)網(wǎng)頁能夠正常運(yùn)行。檢查文件讀取、列表顯示和內(nèi)容顯示的功能是否按預(yù)期實(shí)現(xiàn)。確保網(wǎng)頁的響應(yīng)性和用戶體驗的流暢性。通過以上細(xì)化的任務(wù)分析,可以更清晰地了解動態(tài)網(wǎng)頁設(shè)計的需求和實(shí)現(xiàn)步驟。這樣的任務(wù)分析有助于在開發(fā)過程中更好地規(guī)劃和執(zhí)行任務(wù),以實(shí)現(xiàn)預(yù)期的功能和用戶體驗。1.準(zhǔn)備工作按照網(wǎng)站規(guī)劃參數(shù)進(jìn)行配置。Web站點(diǎn)路徑:C:\phpweb。Web測試IP地址:127.0.0.1。Web測試端口號:8899。參照項目一中任務(wù)一、任務(wù)二、任務(wù)三,配置并啟動WAMP環(huán)境,配置好Dreamweaver網(wǎng)站環(huán)境,如果已經(jīng)配置并啟動WAMP環(huán)境、Dreamweaver網(wǎng)站環(huán)境,本步驟可以略過。2.創(chuàng)建設(shè)計“060201.php”動態(tài)網(wǎng)頁(1)鼠標(biāo)單擊“開始”→“動態(tài)網(wǎng)頁”啟動Dreamweaver軟件,單擊“文件”菜單,單擊“新建”創(chuàng)建PHP動態(tài)網(wǎng)頁“060201.php”。(2)輸入網(wǎng)頁標(biāo)題“顯示查看選擇的公司W(wǎng)EB系統(tǒng)設(shè)計日志文本文件內(nèi)容”。(3)從Web目錄的文件夾image中選擇插入圖片700.jpg,修改圖片700.jpg默認(rèn)寬度為750,鍵盤輸入組合鍵“Shift+Enter”換行,再從文件夾image選擇插入圖片602.gif。(4)在兩張圖片之間,鍵盤輸入組合鍵“Shift+Enter”換行,鍵盤輸入文字“顯示查看選擇的公司W(wǎng)EB系統(tǒng)設(shè)計日志文本文件內(nèi)容”,選擇輸入的文字設(shè)置為標(biāo)題1格式<h1></h1>,鍵盤輸入組合鍵“Shift+Enter”換行。(5)插入form表單,在表單中鍵盤輸入中文“查看顯示日志TXT名稱:”,不換行接著插入選擇菜單控件,選擇菜單控件屬性詳見源代碼TX20~24行。(6)鍵盤輸入組合鍵“Shift+Enter”換行,鍵盤輸入文字“查看顯示日志TXT內(nèi)容:”,插入多行文本框控件,多行文本框控件寬50個字符,高5行,多行文本框控件屬性詳見源代碼第26~32行。(7)鍵盤輸入組合鍵“Shift+Enter”換行,插入按鈕控件,按鈕控件屬性為<inputtype="submit"value="顯示選中文件內(nèi)容">。3.概略說明“060201.php”動態(tài)網(wǎng)頁設(shè)計思路基于Web的用戶界面,目的在于方便用戶選擇并查看公司W(wǎng)eb系統(tǒng)設(shè)計的日志文件。(1)文件檢索與過濾通過使用PHP中的scandir()函數(shù),代碼實(shí)現(xiàn)了目錄內(nèi)容的掃描,即獲取特定目錄中的所有文件列表。借助array_filter()函數(shù),能夠針對文件列表進(jìn)行過濾,只保留擁有“.txt”擴(kuò)展名的文本文件。這確保了下拉菜單中僅顯示與日志相關(guān)的可選項,從而避免用戶混淆和做不必要的選擇。(2)交互式用戶界面通過HTML中的<select>元素,代碼構(gòu)建了下拉選擇框,其中列舉了可供用戶選擇的txt日志文件。用戶可以從這個下拉列表中挑選感興趣的文件。(3)日志內(nèi)容呈現(xiàn)一旦用戶選擇了txt文件,代碼運(yùn)用file_get_contents()函數(shù)來讀取所選文件的內(nèi)容。經(jīng)處理后,文件內(nèi)容會以純文本形式顯示在多行文本輸入框中。這使得用戶可以在界面上直接閱讀日志文件的內(nèi)容。(4)用戶交互體驗通過嵌套在<form>元素中,代碼構(gòu)建了可以提交的表單,表單中還包括提交按鈕。在用戶選擇了txt文件后,點(diǎn)擊提交按鈕將觸發(fā)表單提交操作。此操作會導(dǎo)致選中的txt文件內(nèi)容在多行文本輸入框中呈現(xiàn)。(5)圖像元素展示插入的兩個圖像元素分別位于頁面的頂部和底部,代碼增強(qiáng)了頁面的可視吸引力和用戶體驗。4.源代碼中相關(guān)變量作用解釋(1)$directory:存儲Web根目錄的路徑。此處使用當(dāng)前目錄,但在實(shí)際應(yīng)用中,可以根據(jù)需要修改為適當(dāng)?shù)哪夸浡窂健#?)$files:存儲通過scandir()函數(shù)獲取的目錄中的文件列表。(3)$txt_files:存儲被過濾出的txt文件名列表。(4)$_POST['num1']:選中的查看顯示日志txt文件名。(5)$selected_file存儲選中的查看顯示日志txt文件名。5.“060201.php”動態(tài)網(wǎng)頁源代碼1<!doctypehtml>2<html>3<head>4<metacharset="utf-8">5<title>顯示查看選擇的公司W(wǎng)EB系統(tǒng)設(shè)計日志文本文件內(nèi)容</title>6</head>7<body>8<imgsrc="/image/601.jpg"width="747"height="236"><br>9<h2>顯示查看選擇的公司W(wǎng)EB系統(tǒng)設(shè)計日志文本</h2>10<?php11$directory='./';//Web根目錄,此處使用當(dāng)前目錄,您可以根據(jù)實(shí)際情況修改目錄路徑12$files=scandir($directory);//獲取目錄中的文件列表13//過濾出TXT文件14$txt_files=array_filter($files,function($file){15returnpathinfo($file,PATHINFO_EXTENSION)==='txt';16});17?>18<!--列出TXT文件列表-->19<formaction=""method="post">20查看顯示日志TXT名稱:21<selectname="num1">22<?phpforeach($txt_filesas$txt_file):?>23<optionvalue="<?phpecho$txt_file;?>"><?phpecho$txt_file;?></option>24<?phpendforeach;?>25</select>26<br><br>27查看顯示日志TXT內(nèi)容:28<textareaname="num2"cols="40"rows="5"><?php29if(isset($_POST['num1'])){30$selected_file=$_POST['num1'];31echofile_get_contents($selected_file);//顯示選擇的TXT文件內(nèi)容32}33?></textarea>34<br>35<inputtype="submit"value="顯示選中文件內(nèi)容">36</form>37<imgsrc="/image/602.gif"width="750"height="80">38</body>39</html>5.“060201.php”動態(tài)網(wǎng)頁源代碼1<!doctypehtml>2<html>3<head>4<metacharset="utf-8">5<title>顯示查看選擇的公司W(wǎng)EB系統(tǒng)設(shè)計日志文本文件內(nèi)容</title>6</head>7<body>8<imgsrc="/image/601.jpg"width="747"height="236"><br>9<h2>顯示查看選擇的公司W(wǎng)EB系統(tǒng)設(shè)計日志文本</h2>10<?php11$directory='./';//Web根目錄,此處使用當(dāng)前目錄,您可以根據(jù)實(shí)際情況修改目錄路徑12$files=scandir($directory);//獲取目錄中的文件列表13//過濾出TXT文件14$txt_files=array_filter($files,function($file){15returnpathinfo($file,PATHINFO_EXTENSION)==='txt';16});17?>18<!--列出TXT文件列表-->19<formaction=""method="post">20查看顯示日志TXT名稱:21<selectname="num1">22<?phpforeach($txt_filesas$txt_file):?>23<optionvalue="<?phpecho$txt_file;?>"><?phpecho$txt_file;?></option>24<?phpendforeach;?>25</select>26<br><br>27查看顯示日志TXT內(nèi)容:28<textareaname="num2"cols="40"rows="5"><?php29if(isset($_POST['num1'])){30$selected_file=$_POST['num1'];31echofile_get_contents($selected_file);//顯示選擇的TXT文件內(nèi)容32}33?></textarea>34<br>35<inputtype="submit"value="顯示選中文件內(nèi)容">36</form>37<imgsrc="/image/602.gif"width="750"height="80">38</body>39</html>6.源代碼功能作用簡要說明(1)第1~9行代碼定義了HTML頁面的基本結(jié)構(gòu),包括文檔類型、html標(biāo)簽、頭部信息以及頁面主體。(2)第1行聲明文檔類型為HTML5。(3)第2~6行定義了HTML頁面的開始和頭部信息,包括字符集(utf-8)和頁面標(biāo)題。(4)第8行插入圖片,用于頁面的裝飾。(5)第9行使用<h2>標(biāo)簽插入標(biāo)題,顯示為頁面的主要標(biāo)題。(6)第10~17行代碼使用PHP處理服務(wù)器端的邏輯。(7)第10行開始PHP代碼塊。(8)第11行定義變量$directory,存儲了Web根目錄的路徑,也可以根據(jù)實(shí)際情況修改該路徑,設(shè)置變量$directory的值為“./”就是當(dāng)前目錄的意思,用于確定存放文件。(9)第12行使用scandir()函數(shù)獲取指定目錄中的所有文件和子目錄的列表,調(diào)用scandir()函數(shù)來獲取指定目錄中的文件列表,并將結(jié)果存入$files變量。(10)第14~16行使用array_filter()函數(shù)對文件列表進(jìn)行過濾,過濾篩選出擴(kuò)展名為.txt的文本文件,將文本文件列表存儲在$txt_files數(shù)組中。(11)第19~36行創(chuàng)建表單,用POST方法提交數(shù)據(jù),該表單使用戶能夠選擇要查看的日志文件。(12)第19行表單開始,表單用POST方法提交數(shù)據(jù)。(13)第20行提示用戶選擇要查看的日志文件,顯示文字“查看顯示日志TXT名稱”。(14)第21行創(chuàng)建下拉選擇框select,用于顯示可用的日志文件列表,名稱為“num1”。(15)第22~24行通過foreach循環(huán)遍歷$txt_files數(shù)組,為每個文本文件創(chuàng)建選項,選項的值是文件名,顯示文本就是文件名。(16)第25行關(guān)閉選擇控件</select>,與第21行配對使用。(17)第26行插入2個換行<br><br>。(18)第27~33行允許用戶查看選定日志文件的內(nèi)容。(19)第27行顯示文本標(biāo)簽,提示用戶查看日志文件的內(nèi)容,顯示日志txt文件內(nèi)容。(20)第28行創(chuàng)建文本區(qū)域控件名稱為“num2”,用戶可以在這里查看選擇的txt文件的內(nèi)容。(21)第29行在文本區(qū)域內(nèi)部,使用條件判斷檢查,是否有提交的數(shù)據(jù)$_POST['num1'],即用戶選擇的文本文件名。(22)第30行如果有提交的數(shù)據(jù),將用戶選擇的文本文件名存儲在$selected_file變量中。(23)第31行使用file_get_contents()函數(shù)讀取選擇的文本文件內(nèi)容,并在文本區(qū)域控件中顯示出來。(24)第33行關(guān)閉PHP代碼塊。</textarea>關(guān)閉文本區(qū)域控件。(25)第34~37行添加了提交按鈕,用于顯示選中文件的內(nèi)容。(26)第34行插入換行<br>。(27)第35行顯示提交按鈕,上面顯示文字“顯示選中文件內(nèi)容”。(28)第36行結(jié)束表單</form>。(29)第37行插入圖片,用于頁面的結(jié)尾展示。(30)第38行代碼定義了頁面的結(jié)尾。(31)第39行結(jié)束了HTML頁面</html>。1.函數(shù)scandir()scandir()函數(shù)功能是獲取目錄中的文件列表。通俗地說,該函數(shù)就像是在電腦文件夾中查看文件,你告訴函數(shù)文件夾路徑,函數(shù)就會列出文件夾里的所有文件和文件夾,然后將列表提供給你。格式:scandir(directory,sorting_order,context)參數(shù):directory為要掃描的目錄路徑。sorting_order(可選)為排序順序,默認(rèn)按照文件名升序排序,可以使用SCANDIR_SORT_ASCENDING(升序)和SCANDIR_SORT_DESCENDING(降序)來自定義排序。context(可選)為可選的上下文資源,用于更精細(xì)的目錄掃描控制。用法:掃描目錄,返回文件和子目錄的數(shù)組列表,包含指定目錄中的文件和子目錄的列表。WAMP可以使用可選的排序參數(shù)來自定義排序順序。2.函數(shù)array_filter()array_filter()函數(shù)功能是從數(shù)組中過濾出滿足條件的元素。比如你有一張名單,然后你將篩起條件先搞告訴給該函數(shù),它會根據(jù)條件幫你篩選出滿足條件的元素。格式:array_filter(array,callback)參數(shù):array為要過濾的數(shù)組。callback(可選)為回調(diào)函數(shù),用于定義過濾條件。如果省略此參數(shù),函數(shù)將刪除數(shù)組中所有等價于false的元素。用法:從數(shù)組中過濾滿足條件的元素。3.函數(shù)pathinfo()pathinfo()函數(shù)功能是解析文件路徑,返回文件信息。這個函數(shù)就像是文件路徑的分析器。你給它文件路徑,它會幫你分析出文件的各種信息,比如文件名、文件夾名和擴(kuò)展名。格式:pathinfo(path,options)參數(shù):path為文件路徑。options(可選)為可選參數(shù),用于指定要返回的信息,如PATHINFO_DIRNAME、PATHINFO_BASENAME、PATHINFO_EXTENSION和PATHINFO_FILENAME。用法:解析文件路徑,返回文件信息,可以通過傳遞可選的options參數(shù)來獲取不同的路徑信息,比如文件名、擴(kuò)展名等。4.函數(shù)file_get_contents()file_get_contents()函數(shù)功能是讀取文件內(nèi)容為字符串。這個函數(shù)就像是讀取書中的內(nèi)容。你告訴函數(shù)文件的名字,它會幫你把文件的內(nèi)容讀取出來,然后可對文字進(jìn)行相應(yīng)的操作。格式:file_get_contents(filename,flags,context,start,max_length)參數(shù):filename為要讀取的文件名。flags(可選)為可選的標(biāo)志參數(shù),用于修改讀取行為,如FILE_USE_INCLUDE_PATH、FILE_IGNORE_NEW_LINES等。context(可選)為可選的上下文資源,用于更精細(xì)的文件讀取控制。start(可選)為從文件的哪個位置開始讀取。max_length(可選)為最大讀取長度。用法:讀取文件內(nèi)容并返回作為字符串。本次課小結(jié)與課后作業(yè)敘述題1.簡述函數(shù)scandir()的格式、參數(shù)及功能。2.簡述函數(shù)array_filter()的格式、參數(shù)及功能。3.簡述函數(shù)pathinfo()的格式、參數(shù)及功能。4.簡述函數(shù)file_get_contents()的格式、參數(shù)及功能。任務(wù)三設(shè)計日志文本文件編輯與刪除動態(tài)網(wǎng)頁復(fù)習(xí)知識與技能任務(wù)描述為了滿足工作需要,公司委派網(wǎng)絡(luò)信息部門的工程師小明負(fù)責(zé)設(shè)計名為“060301.php”的動態(tài)網(wǎng)頁,用于編輯和刪除日志文本文件。該網(wǎng)頁將提供以下功能:(1)瀏覽顯示:用戶可以通過網(wǎng)頁查看保存的日志文本文件內(nèi)容,以便了解工作任務(wù)的進(jìn)展情況。(2)修改編輯:用戶可以在網(wǎng)頁上對日志文本文件進(jìn)行修改和編輯操作,可以添加、刪除或更新日志條目,以便準(zhǔn)確記錄和反映工作進(jìn)展。(3)刪除操作:用戶可以選擇要刪除的特定日志條目,網(wǎng)頁將提供刪除功能,使用戶能夠輕松地從日志文本文件中刪除不再需要的內(nèi)容。工程師小明將使用適當(dāng)?shù)木幊陶Z言和技術(shù)來實(shí)現(xiàn)這個動態(tài)網(wǎng)頁。他將確保網(wǎng)頁具有友好的用戶界面和良好的用戶體驗,使用戶能夠輕松地瀏覽、編輯和刪除日志文本文件。此外,小明還將考慮安全性問題,確保只有經(jīng)過授權(quán)的用戶才能訪問和修改日志文件。通過這個動態(tài)網(wǎng)頁,部門經(jīng)理和其他相關(guān)人員將能夠方便地管理日志文本文件,記錄工作進(jìn)展并及時更新。這將有助于提高工作效率、促進(jìn)團(tuán)隊協(xié)作,并確保日志文件的準(zhǔn)確性和完整性。“060301.php”動態(tài)網(wǎng)頁如圖6-3-1所示。任務(wù)分析根據(jù)提供的源代碼和任務(wù)描述,可以看出整個任務(wù)涉及設(shè)計和開發(fā)一系列動態(tài)網(wǎng)頁,用于編輯和刪除日志文本文件。工程師小明將按照模塊來進(jìn)行任務(wù)分析和描述。“060301.php”動態(tài)網(wǎng)頁主要有三個功能:(1)第一個功能是打開顯示選擇的公司日志文本文件內(nèi)容,主要用于瀏覽和顯示公司日志文本文件。頁面包括下拉列表,顯示可選的日志文件。用戶可以選擇日志文件并點(diǎn)擊“打開顯示選中的公司日志文本文件”按鈕來顯示選中的日志文件的內(nèi)容。選中的日志文件的內(nèi)容將以文本框的形式顯示在頁面上。(2)第二個功能是對打開顯示的公司日志文本文件內(nèi)容進(jìn)行修改,并通過“保存”按鈕來保存文件,主要用于選擇要編輯的公司日志文本文件。在下拉列表選擇顯示可選的日志文件,對打開選中的日志文件進(jìn)行編輯修改,修改之后可以點(diǎn)擊“保存更改”按鈕來保存結(jié)果。用戶點(diǎn)擊“保存”按鈕后,網(wǎng)頁將更新選中的日志文件,并顯示保存成功的消息。(3)第三個功能就是對選擇的公司日志文本文件進(jìn)刪除。任務(wù)分析細(xì)化的任務(wù)分析如下。1.“060301.php”動態(tài)網(wǎng)頁(1)顯示可選的公司日志文本文件列表。(2)提供下拉列表供用戶選擇要打開和顯示的日志文件。(3)用戶選擇日志文件后,點(diǎn)擊按鈕以打開并顯示選中的日志文件的內(nèi)容。(4)頁面上顯示選中的日志文件的內(nèi)容,以文本框的形式呈現(xiàn)。2.“060302.php”動態(tài)網(wǎng)頁(1)顯示可選的公司日志文本文件列表。(2)提供下拉列表供用戶選擇要編輯的日志文件。(3)用戶選擇日志文件后,點(diǎn)擊按鈕以打開選中的日志文件進(jìn)行編輯。(4)頁面跳轉(zhuǎn)到“060302-open.php”動態(tài)網(wǎng)頁,并將選中的日志文件的內(nèi)容傳遞給該頁面。3.“060302-open.php”動態(tài)網(wǎng)頁通過動態(tài)網(wǎng)頁的設(shè)計和交互,用戶可以方便地瀏覽、編輯和保存公司的日志文本文件。用戶可以按照自己的需求選擇執(zhí)行相應(yīng)的操作,這樣設(shè)計使得日志文件的管理更加高效和靈活,提升了工作效率和數(shù)據(jù)準(zhǔn)確性。1.準(zhǔn)備工作按照網(wǎng)站規(guī)劃參數(shù)進(jìn)行配置。Web站點(diǎn)路徑:C:\phpweb。Web測試IP地址:127.0.0.1。Web測試端口號:8899。參照項目一中任務(wù)一、任務(wù)二、任務(wù)三,配置并啟動WAMP環(huán)境,配置好Dreamweaver網(wǎng)站環(huán)境,如果已經(jīng)配置并啟動WAMP環(huán)境、Dreamweaver網(wǎng)站環(huán)境,本步驟可以略過。2.創(chuàng)建設(shè)計“060301.php”動態(tài)網(wǎng)頁(1)鼠標(biāo)單擊“開始”→“動態(tài)網(wǎng)頁”啟動Dreamweaver軟件,單擊“文件”菜單,單擊“新建”創(chuàng)建PHP動態(tài)網(wǎng)頁“060301.php”。(2)輸入網(wǎng)頁標(biāo)題“打開顯示選中的公司日志文本文件”。(3)參照圖6-3-1,從Web目錄的文件夾image中選擇插入圖片700.jpg,修改圖片700.jpg默認(rèn)寬度750,鍵盤輸入組合鍵“Shift+Enter”換行,再從文件夾image選擇插入圖片602.gif。(4)在兩張圖片之間,鍵盤輸入組合鍵“Shift+Enter”換行,鍵盤輸入文字“打開顯示選中的公司日志文本文件”,選擇輸入的文字設(shè)置為標(biāo)題1格式<h1></h1>,鍵盤輸入組合鍵“Shift+Enter”換行。(5)插入form表單,<formaction="060301test03.php"method="post">表單屬性見源代碼第10行。(6)在表單中插入select控件,屬性類型為列表,<selectname="templ"size="1">屬性name為“temp1”、size高度為“1”,見源代碼第11行。(7)控件<select></select>中需要鍵盤輸入一段PHP源代碼,見源代碼第12~18行。(8)在select控件后,鍵盤輸入組合鍵“Shift+Enter”換行,見源代碼第20行。(9)插入表單按鈕控件,<inputname="open"type="submit"value="打開顯示選中的公司日志文本文件">屬性見源代碼第21行。(10)鍵盤輸入組合鍵“Shift+Enter”換行,見源代碼第22行。(11)鍵盤輸入PHP源代碼,見源代碼第23~47行。(12)插入隱藏表單控件<inputtype="hidden"name="selected_file_hidden"value="<?phpecho$file;?>">,屬性值見源代碼第48行。(13)插入表單<textarea>控件,設(shè)置為50個字符寬,設(shè)置為6行高,詳細(xì)屬性見源代碼第49行。(14)鍵盤輸入組合鍵“Shift+Enter”換行,見源代碼第50行。設(shè)置h2標(biāo)題格式,鍵盤輸入文字“打開顯示選中的公司日志文本文件是:<?phpecho$file;?>”,見源代碼第51~52行。(15)鍵盤輸入PHP源代碼,見源代碼第53~57行。3.設(shè)計“060301.php”動態(tài)網(wǎng)頁1<!doctypehtml>2<html>3<head>4<metacharset="utf-8">5<title>打開顯示選中的公司日志文本文件</title>6</head>7<body>8<imgsrc="/image/601.jpg"width="747"height="236">9<h1>打開顯示選中的公司日志文本文件</h1>10<formaction="060301.php"method="post">11<selectname="templ"size="1">12<?php13//遍歷當(dāng)前文件夾中所有的文本文件,并在下拉列表中顯示文件名14foreach(glob(dirname(__FILE__).'/*.txt')as$filename){15$filename=basename($filename);16echo"<optionvalue='".$filename."'>".$filename."</option>";17}18?>19</select>20<br>21<inputname="open"type="submit"value="打開顯示選中的公司日志文本文件">22<br>23<?php24if(isset($_POST['open'])||isset($_POST['save'])||isset($_POST['delete'])){25if(isset($_POST['templ'])){26$file=$_POST['templ'];//獲取選擇的文件27//存儲選中的文件名到隱藏字段28echo'<inputtype="hidden"name="selected_file"value="'.$file.'">';29if(isset($_POST['save'])&&isset($_POST['content'])){30//保存對文件的更改31$content=str_replace("\r\n","\n",$_POST['content']);//去除文本中的\r,保留\n32file_put_contents($_POST['selected_file'],$content);//將修改后的內(nèi)容寫回文件33echo"<p>文件".$_POST['selected_file']."已成功保存。</p>";34}elseif(isset($_POST['delete'])){35//刪除選中的文件36unlink($_POST['selected_file']);//從服務(wù)器上刪除文件37//使用JavaScript彈出提示框38echo'<script>alert("文件'.$_POST['selected_file'].'已成功刪除。");</script>';39}40//讀取文件內(nèi)容41$nnn="";42$cbody=file($file);43for($i=0;$i<count($cbody);$i++){44$nnn=$nnn.$cbody[$i]."\n";//顯示文本內(nèi)容時保留換行符45}46}47?>48<inputtype="hidden"name="selected_file_hidden"value="<?phpecho$file;?>">49<textareacols="50"rows="6"name="content"><?phpecho$nnn;?></textarea>50<br>51<h2>打開顯示選中的公司日志文本文件是:<?phpecho$file;?></h2>52<!--使用PHP變量顯示保存和刪除按鈕的文件名-->53<?phpif(isset($file)){?>54<!--設(shè)置按鈕為type="submit"-->55<buttontype="submit"name="save">保存更改(<?phpecho$file;?>)</button>56<buttontype="submit"name="delete">刪除文件(<?phpecho$file;?>)</button>57<?php}}?>58</form>59<imgsrc="/image/602.gif"width="750"height="80">60</body>61</html>4.代碼簡要說明與解釋(1)第1~7行代碼定義了HTML文檔的基本結(jié)構(gòu),其中<meta>元素指定了字符編碼為utf-8,確保在顯示和處理文本時不會出現(xiàn)亂碼問題。<title>元素設(shè)置了頁面的標(biāo)題,這將在瀏覽器的標(biāo)簽頁上顯示。(2)第8~9行通過<img>元素插入圖片。(3)第10~19行是表單<form>標(biāo)簽,action屬性指向自身“060301.php”,意味著當(dāng)用戶點(diǎn)擊提交按鈕時,表單將提交到相同的頁面。<form>標(biāo)簽內(nèi)包含下拉列表<select>,用于顯示當(dāng)前目錄中所有以.txt結(jié)尾的文本文件的文件名,其中的下拉列表使用PHP代碼動態(tài)生成。通過glob()函數(shù),代碼遍歷了當(dāng)前PHP腳本所在文件夾中的所有txt文本文件,這樣使用glob(函數(shù)就獲取)目錄中的文本文件名,并將它們逐個顯示在下拉列表中的選項<option>標(biāo)簽內(nèi),文本文件名就作為選項顯示在下拉列表中。(4)第20行插入了換行,用于在頁面上增加一些垂直間距,以提高排版的可讀性。(5)第21行插入了提交按鈕<input>,type="submit",標(biāo)簽顯示為“打開顯示選中的公司日志文本文件”。當(dāng)用戶點(diǎn)擊這個按鈕時,將會提交表單并觸發(fā)相關(guān)的后臺操作,這些操作將顯示所選文件的內(nèi)容,同時也會觸發(fā)編輯、保存或刪除功能。當(dāng)用戶點(diǎn)擊該按鈕時,表單將被提交。(6)第22行插入了換行,以進(jìn)一步增加排版的可讀性。(7)第23行使用了<?php>標(biāo)簽,將PHP代碼的起始標(biāo)記放置在此處,表明后續(xù)代碼是PHP代碼塊。(8)第24~39行是PHP代碼塊,用于處理表單的提交。首先檢查表單是否被提交(用戶點(diǎn)擊了某個按鈕)。然后檢查是否選擇了文件,如果是,則執(zhí)行相應(yīng)的操作。如果用戶點(diǎn)擊了“保存更改”按鈕,并且表單中包含“content”字段(文本區(qū)域,<textarea>標(biāo)簽),則將$_POST['content']的內(nèi)容存儲在$content變量中,并將修改后的內(nèi)容寫回到選中的文件中。如果用戶點(diǎn)擊了“刪除文件”按鈕,則從服務(wù)器上刪除選中的文件。第24行通過檢查$_POST數(shù)組中是否存在提交按鈕的鍵名(open、save或delete),來判斷用戶是否執(zhí)行了操作。(9)第25~26行檢查是否存在$_POST['templ'],即用戶在下拉列表中所選擇的文件名。如果有文件名被選中,將該文件名存儲在變量$file中,以便后續(xù)使用。(10)第28行將選中的文件名作為隱藏字段的值嵌入表單。這么做是為了在后續(xù)提交表單時,能夠在服務(wù)器端獲取所選文件的信息。(11)第29~34行如果用戶點(diǎn)擊了“保存”按鈕并且在文本區(qū)域中輸入了內(nèi)容,則將進(jìn)行文件保存操作。首先,代碼會檢查$_POST['save']和$_POST['content']是否存在,這表示用戶想要保存文件。然后,將$_POST['content']中的內(nèi)容寫入所選的文件中,以實(shí)現(xiàn)文件的編輯和保存。同時,在頁面上顯示一條成功保存的消息。(12)第35~39行如果用戶點(diǎn)擊了“刪除”按鈕,則進(jìn)行文件刪除操作。代碼通過unlink()函數(shù)刪除了$_POST['selected_file']所指定的文件,并在頁面上使用JavaScript彈出提示框,告知用戶文件刪除成功。(13)第40~46行如果存在選中的文件名($file),則會讀取該文件的內(nèi)容并將其存儲在變量$nnn中。通過逐行讀取文件內(nèi)容并保留每行的換行符,實(shí)現(xiàn)將文件內(nèi)容在頁面上顯示的功能。(14)第48行是隱藏字段<input>,用于存儲選中的文件名,這樣可以在后續(xù)的表單提交中繼續(xù)使用。(15)第49行是文本區(qū)域<textarea>,用于顯示選中文件的內(nèi)容。文本區(qū)域的內(nèi)容是$nnn,即選中文件的內(nèi)容。(16)第51行是標(biāo)題<h2>,用于顯示當(dāng)前選中的文件名。(17)第53~57行是PHP代碼塊,用于在選中文件時顯示兩個按鈕行用于保存修改后的內(nèi)容,另用于刪除選中的文件。(18)第58行結(jié)束表單</form>。(19)第59行插入圖片,src屬性指向"/image/602.gif",設(shè)置圖片寬、高為750×80像素。(20)第60~61行結(jié)束body和html標(biāo)簽。060301.php動態(tài)網(wǎng)頁表單中包含下拉菜單,用來顯示默認(rèn)文件夾中的所有文本日志文件列表,可以選擇其中文本日志文件,單擊按鈕后在文本框中顯示其內(nèi)容。頁面允許用戶編輯日志文件內(nèi)容后,將更改內(nèi)容保存回選擇的文本文件中,或者刪除選擇文本文件。代碼使用PHP來處理表單提交、讀寫文件內(nèi)容和執(zhí)行文件刪除。在成功刪除文件時,頁面使用JavaScript彈出提示框。這樣,用戶可以方便地管理這些日志文件。總之本動態(tài)網(wǎng)頁的核心功能是根據(jù)用戶的操作請求,執(zhí)行對選擇的文本文件進(jìn)行打開、編輯、保存和刪除等操作,并在頁面上給予相應(yīng)的文字提示與反饋。1.函數(shù)glob()glob()函數(shù)是用來在文件系統(tǒng)中查找文件的,假設(shè)文件名描述如*.txt,函數(shù)會搜索符合這個描述的文件,并返回文件名列表,供進(jìn)一步處理。通俗地說該函數(shù)就像是你在文件夾里尋找文件,你告訴函數(shù)描述如“*.txt”,函數(shù)會找到所有符合這個描述的文件,并返回文件名的列表。格式:glob(pattern,flags)參數(shù):pattern為要匹配的模式,可以包含通配符,用于指定文件名或路徑的模式。flags(可選)為可選的標(biāo)志參數(shù),用于修改glob()函數(shù)的行為。常用的標(biāo)志包括GLOB_MARK(在目錄后面添加斜杠)和GLOB_ONLYDIR(只返回目錄項)等。用法:glob()函數(shù)將返回數(shù)組,包含所有匹配模式的文件路徑。可以在foreach循環(huán)中遍歷這個數(shù)組,獲取每個文件的路徑。2.函數(shù)basename()basename()函數(shù)用于從完整的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論