




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
任務(wù)四設(shè)計上傳公司文檔資料動態(tài)網(wǎng)頁復(fù)習(xí)知識與技能任務(wù)描述為了支持工作任務(wù)的順利進(jìn)行,需要動態(tài)網(wǎng)頁來管理上傳的文檔資料。這個網(wǎng)頁將允許建立、保存和編輯日志文本文件,以及上傳四種類型的文件,即jpg、gif、doc和xls。為了滿足這一需求,公司委派工程師小明負(fù)責(zé)設(shè)計名為“060401.php”的文檔資料上傳管理動態(tài)網(wǎng)頁。這個網(wǎng)頁將具備以下功能:(1)文檔上傳:用戶可以選擇并上傳他們想要共享或存儲的文檔。支持的文件類型包括jpg、gif、doc和xls。(2)日志文本文件管理:用戶可以創(chuàng)建、編輯和保存日志文本文件。這些文件將用于記錄工作過程中的重要信息和進(jìn)展。(3)文件類型分類:上傳的文檔資料將根據(jù)文件類型進(jìn)行分類和整理。這將有助于快速查找和檢索需要的文件。(4)搜索和篩選:用戶可以通過關(guān)鍵詞搜索和篩選文件,以便快速找到所需的文檔資料。(5)文件版本控制:對于經(jīng)常需要更新的文檔,網(wǎng)頁將提供版本控制功能。這將確保團隊成員可以輕松查看和恢復(fù)之前的版本。(6)用戶權(quán)限管理:為了確保安全性和機密性,只有經(jīng)過授權(quán)的用戶才能訪問、編輯和下載上傳的文檔資料。該動態(tài)網(wǎng)頁可以幫助用戶快速上傳、管理和編輯各種類型的文件。它具有簡潔易用的界面,可以有效地提高工作效率。通過這個動態(tài)網(wǎng)頁,將能夠高效地管理和組織工作所需的文檔資料。這將促進(jìn)團隊合作,并確保所有部門成員都能方便地獲取和分享必要的信息及文件。要求工程師小明設(shè)計“060401.php”文檔資料上傳管理動態(tài)網(wǎng)頁,如圖6-4-1所示。任務(wù)分析根據(jù)任務(wù)需求描述,工程師小明設(shè)計了名為“060401.php”的動態(tài)網(wǎng)頁,用于上傳和管理文檔資料。以下是該網(wǎng)頁的功能和步驟。(1)網(wǎng)頁設(shè)計:工程師小明使用Dreamweaver軟件創(chuàng)建了PHP網(wǎng)頁,命名為“060401.php”,并設(shè)置了相應(yīng)的網(wǎng)站目錄。(2)上傳功能:在網(wǎng)頁中添加了文件上傳表單,用戶可以通過選擇文件并點擊提交按鈕來上傳文檔資料。(3)文件信息顯示:使用PHP代碼,在網(wǎng)頁中顯示了上傳文件的名稱、大小和類型。(4)文件驗證:通過PHP代碼,對上傳的文件進(jìn)行驗證。工程師小明規(guī)定只能上傳擴展名為“jpeg”和“png”的文件,并限制文件大小不超過2MB。(5)文件保存:如果上傳的文件符合規(guī)定,則通過PHP代碼將文件從臨時文件夾移動到當(dāng)前腳本所在的目錄,并顯示上傳成功的消息。(6)錯誤處理:如果上傳的文件不符合規(guī)定,則通過PHP代碼輸出錯誤信息。(7)界面設(shè)計:在網(wǎng)頁中插入了兩張圖片,用于美化界面和提高視覺效果。通過這個動態(tài)網(wǎng)頁,用戶可以方便地上傳、管理和查看各種類型的文檔資料。工程師小明的設(shè)計使得網(wǎng)頁界面簡潔易用,并結(jié)合了文件驗證和錯誤處理機制,確保只有符合規(guī)定的文件能夠成功上傳。這個網(wǎng)頁將有助于提高工作效率,促進(jìn)團隊協(xié)作,以及方便共享和獲取所需的文檔資料。1.準(zhǔn)備工作按照網(wǎng)站規(guī)劃參數(shù)進(jìn)行配置。Web站點路徑: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è)計“060401.php”動態(tài)網(wǎng)頁(1)鼠標(biāo)單擊“開始”→“動態(tài)網(wǎng)頁”啟動Dreamweaver軟件,單擊“文件”菜單,單擊“新建”創(chuàng)建PHP動態(tài)網(wǎng)頁“060401.php”。(2)輸入網(wǎng)頁標(biāo)題“上傳公司日志等文檔資料”。(3)從Web目錄的文件夾image中選擇插入圖片601.jpg,鍵盤輸入組合鍵“Shift+Enter”換行,再從文件夾image選擇插入圖片602.gif。(4)在兩張圖片之間,鍵盤輸入組合鍵“Shift+Enter”換行,鍵盤輸入文字“上傳公司日志等文檔資料”,選擇輸入的文字設(shè)置為標(biāo)題2格式<h2></h2>。(5)在文字“上傳公司日志等文檔資料”下方插入form表單,在表單中鍵盤輸入中文“選擇上傳文件:”,不換行接著插入文件域控件,鍵盤輸入組合鍵“Shift+Enter”換行2次。(6)鍵盤輸入中文“確定上傳的目錄文件夾:”,不換行接著插入文本框控件,該文本框參數(shù)屬性為<inputtype="text"name="uploadDirectory"id="uploadDirectory"placeholder="請輸入上傳目錄"/>,不換行接著插入文字“(默認(rèn)是服務(wù)器網(wǎng)站根目錄)”,不換行接著插入按鈕控件,該按鈕控件參數(shù)屬性為<inputtype="submit"value="上傳文件"name="submit"/>。(7)在源代碼第11行“<h2>上傳公司日志等文檔資料</h2>”之后,輸入PHP源代碼,具體源代碼參見第12~68行。3.“060401.php”動態(tài)網(wǎng)頁源代碼1<!doctypehtml>2<html>3<head>4<metacharset="utf-8">5<title>上傳文檔資料</title>6</head>7<body>8<!--顯示公司圖片-->9<imgsrc="/image/601.jpg"width="747"height="236"><br>10<!--顯示上傳標(biāo)題-->11<h2>上傳公司日志等文檔資料</h2>12<?php13//開始會話,用于跟蹤用戶上傳文件的狀態(tài)14session_start();15//允許上傳的文件類型16$allowedFileTypes=array('jpg','jpeg','png','gif','rar');17//允許的最大上傳文件大小(50MB)18$maxFileSize=50*1024*1024;19//用于標(biāo)記文件上傳是否成功20$uploadSuccess=false;21//如果請求是POST請求,執(zhí)行上傳操作22if($_SERVER['REQUEST_METHOD']==='POST'){23//檢查是否有文件被上傳,并且沒有錯誤24if(isset($_FILES['fileToUpload'])&&$_FILES['fileToUpload']['error']===UPLOAD_ERR_OK){25//獲取上傳的文件臨時路徑26$fileTmpPath=$_FILES['fileToUpload']['tmp_name'];27//獲取上傳的文件名28$fileName=$_FILES['fileToUpload']['name'];29//獲取上傳的文件大小30$fileSize=$_FILES['fileToUpload']['size'];31//獲取上傳的文件類型,并轉(zhuǎn)換為小寫32$fileType=strtolower(pathinfo($fileName,PATHINFO_EXTENSION));33//檢查文件類型是否被允許34if(!in_array($fileType,$allowedFileTypes)){35echo"錯誤:只允許上傳".implode(',',$allowedFileTypes)."文件類型。";36exit;37}38//檢查文件大小是否超過限制39if($fileSize>$maxFileSize){40echo"錯誤:文件大小超過限制(最大允許".($maxFileSize/(1024*1024))."MB)。";41exit;42}43//獲取用戶指定的上傳目錄44if(isset($_POST['uploadDirectory'])&&!empty($_POST['uploadDirectory'])){45//去除上傳目錄兩端的空白字符46$uploadDir=trim($_POST['uploadDirectory']);47//確保上傳目錄以反斜杠結(jié)尾48$uploadDir=rtrim($uploadDir,'/').'/';49//確保上傳目錄存在或新建目錄50if(!is_dir($uploadDir)){51//創(chuàng)建目錄,并設(shè)置權(quán)限為777(所有用戶都可讀、寫、執(zhí)行)52mkdir($uploadDir,0777,true);53}54}else{55echo"錯誤:請指定上傳目錄。";56exit;57}58//構(gòu)建文件的完整路徑59$filePath=$uploadDir.$fileName;60//移動文件到上傳目錄61if(move_uploaded_file($fileTmpPath,$filePath)){62$uploadSuccess=true;63}else{64echo"文件上傳失敗!";65}66}67}68?>69<!--顯示上傳表單-->70<formaction=""method="post"enctype="multipart/form-data">71選擇上傳文件:72<inputtype="file"name="fileToUpload"id="fileToUpload"/>73<br>74<br>75<labelfor="uploadDirectory">確定上傳的目錄文件夾:</label>76<inputtype="text"name="uploadDirectory"id="uploadDirectory"placeholder="請輸入上傳目錄"/>77(默認(rèn)是服務(wù)器網(wǎng)站根目錄)78<inputtype="submit"value="上傳文件"name="submit"/>79</form>80<br>81<!--如果上傳成功,顯示成功信息-->82<?phpif($uploadSuccess)?>83<h2style="colorred;">上傳<?phpecho$fileName;?>到指定文件夾<?phpecho$uploadDir?>成功!</h2>84<?phpendif;?>85<!--顯示公司GIF圖片-->86<imgsrc="/image/602.gif"width="750"height="80">87</body>88</html>4.代碼簡要說明與解釋(1)第1~9行是HTML文檔的頭部,包含文檔類型聲明和基本結(jié)構(gòu)。第1行<!doctypehtml>代碼聲明文檔類型為HTML5,告訴瀏覽器如何解析文檔。第2行<html>開始HTML文檔的根元素。第3行<head>HTML頭部部分的開始,通常包含文檔的元數(shù)據(jù)和引用。第4行<metacharset="utf-8">設(shè)置文檔的字符編碼為utf-8,確保正確顯示和處理中文字符和其他特殊字符。第5行<title>上傳文檔資料</title>定義文檔的標(biāo)題,顯示在瀏覽器標(biāo)簽頁上。第6行</head>HTML頭部部分的結(jié)束。第7行<body>HTML主體部分的開始,包含了頁面的實際內(nèi)容。第9行<imgsrc="/image/601.jpg"width="747"height="236"></br>插入一個圖片元素,從指定路徑加載圖片,顯示公司圖片,設(shè)置圖片的寬度和高度。(2)第10行在HTML中注釋的開始,用于給代碼添加注釋說明,不會在頁面上顯示。(3)第11~87行主體部分,包含HTML表單和PHP代碼。(4)第11行插入一個二級標(biāo)題顯示標(biāo)題<h2>,用于上傳公司日志等文檔資料的說明。(5)第12~67為PHP代碼,處理文件上傳功能。(6)第12行<?php是PHP代碼的起始標(biāo)簽,表示要開始PHP代碼的部分。(7)第14行session_start();作用是啟動會話,用于在服務(wù)器端跟蹤用戶會話狀態(tài),也就是跟蹤用戶上傳文件的狀態(tài)。session_start()函數(shù)能實現(xiàn)在不同頁面之間跟蹤用戶的會話狀態(tài),此處用于跟蹤用戶上傳文件的狀態(tài)。(8)第16行定義允許上傳的文件類型的數(shù)組。$allowedFileTypes=array('jpg','jpeg','png','gif','rar');定義了允許上傳的文件類型的數(shù)組,也就是聲明允許上傳的文件類型是jpg、jpeg、png、gif和rar。(9)第18行定義允許的最大上傳文件大小(50MB)。$maxFileSize=50*1024*1024;定義了允許的最大上傳文件大小。(10)第20行初始化一個名為$uploadSuccess的變量,用于標(biāo)記文件上傳是否成功,默認(rèn)值初始為false,表示文件上傳尚未成功。(11)第22~67行是PHP條件語句,用于判斷是否有文件被上傳并執(zhí)行上傳操作。(12)第22行if($_SERVER['REQUEST_METHOD']==='POST'){檢查提交表單請求是否為POST類型的請求,用來判斷用戶通過表單提交了上傳文件狀態(tài)POST,判定是則進(jìn)入上傳環(huán)節(jié)。(13)第24行檢查是否有文件被上傳,并且上傳情況經(jīng)檢查沒有錯誤。(14)第26~32行獲取上傳文件的臨時路徑、文件名、文件大小和文件類型。(15)第26行$fileTmpPath=$_FILES['fileToUpload']['tmp_name'];獲取上傳的文件臨時路徑。$_FILES['fileToUpload']['tmp_name']是上傳文件在服務(wù)器上的臨時存儲路徑。(16)第28行$fileName=$_FILES['fileToUpload']['name'];獲取上傳的文件名。$_FILES['fileToUpload']['name']存儲了上傳文件的原始文件名。(17)第30行$fileSize=$_FILES['fileToUpload']['size'];獲取上傳的文件大小。$_FILES['fileToUpload']['size']存儲了上傳文件的大小,文件大小的單位是字節(jié)。(18)第32行$fileType=strtolower(pathinfo($fileName,PATHINFO_EXTENSION));獲取上傳的文件類型,并將其轉(zhuǎn)換為小寫,strtolower()作用是將文件名轉(zhuǎn)換為小寫。(19)第34~37行檢查文件類型是否被允許,如果不被允許則輸出錯誤信息并終止腳本。這個條件語句檢查上傳文件的類型是否在允許的文件類型數(shù)組中。in_array($fileType,$allowedFileTypes)用于檢查$fileType是否存在于$allowedFileTypes數(shù)組中。(20)第39~42行檢查文件大小是否超過限制,超過限制則輸出錯誤信息并終止腳本。這個條件語句檢查上傳文件的大小是否超過了限制。如果上傳文件大小超過了$maxFileSize,則輸出錯誤信息并終止腳本。(21)第44~57行獲取用戶指定的上傳目錄,并進(jìn)行相關(guān)的檢查和處理。(22)第44行:if(isset($_POST['uploadDirectory'])&&!empty($_POST['uploadDirectory'])){檢查用戶是否指定了上傳文件的目錄,指定的目錄如果不存在,就需要建立該目錄。(23)第46行$uploadDir=trim($_POST['uploadDirectory']);獲取用戶指定的上傳目錄并去除兩端的空白字符,這個操作是為建立目錄做準(zhǔn)備工作。(24)第48行$uploadDir=rtrim($uploadDir,'/').'/';確保上傳目錄以反斜杠結(jié)尾,再次為創(chuàng)建目錄做準(zhǔn)備工作。(25)第50行if(!is_dir($uploadDir)){檢查上傳目錄是否存在,如果不存在則創(chuàng)建該目錄。(26)第52行是在指定路徑上創(chuàng)建上傳目錄,確保該目錄存在并且具備適當(dāng)?shù)臋?quán)限,以便在后續(xù)的文件上傳過程中可以將文件保存到該目錄中。mkdir($uploadDir,0777,true);作用是創(chuàng)建上傳目錄,$uploadDir表示要創(chuàng)建的目錄的路徑,0777表示對創(chuàng)建的目錄授予最大權(quán)限,允許所有用戶對該目錄進(jìn)行讀、寫和執(zhí)行操作。true是mkdir()函數(shù)的第三個參數(shù),設(shè)置為true表示如果需要的話,遞歸地創(chuàng)建目錄,這意味著如果指定的路徑中的某些子目錄不存在,也會被一并創(chuàng)建。(27)第54行}else{這是一個條件語句的結(jié)束,與第44行的if語句相對應(yīng)。如果之前的條件(是否指定了上傳目錄)為假,就執(zhí)行以下代碼塊。(28)第55行echo"錯誤:請指定上傳目錄。";這行代碼輸出一條錯誤信息,告訴用戶需要指定上傳的目錄,因為沒有指定上傳目錄會影響文件的保存位置。(29)第56行exit;這行代碼調(diào)用exit()函數(shù),終止程序的執(zhí)行。如果用戶沒有指定上傳目錄,程序會輸出錯誤信息并立即停止,不會繼續(xù)執(zhí)行下面的代碼。(30)第59行構(gòu)建上傳文件的完整路徑。$filePath=$uploadDir.$fileName;作用是構(gòu)建文件完整路徑,其中$uploadDir是用戶指定的上傳目錄,$fileName是上傳文件的原始文件名,將兩者拼接就構(gòu)成了完整的文件路徑。(31)第61~65行使用move_uploaded_file()函數(shù)將上傳的文件移動到目標(biāo)上傳目錄中,并檢查是否上傳成功。move_uploaded_file($fileTmpPath,$filePath)將臨時文件移動到目標(biāo)路徑,如果成功則將$uploadSuccess設(shè)置為true,否則輸出文件上傳失敗的錯誤信息。(32)第61行if(move_uploaded_file($fileTmpPath,$filePath)){這是一個條件語句,判斷是否成功將上傳的臨時文件移動到目標(biāo)文件路徑。如果移動成功,會執(zhí)行以下代碼塊。(33)第62行$uploadSuccess=true;將變量$uploadSuccess的值設(shè)置為true,表示文件上傳成功。這個變量會在后面用來判斷是否顯示成功信息。(34)第63行}else{這是與第61行的條件語句相對應(yīng)的else部分,如果文件移動失敗,就會執(zhí)行以下代碼塊。(35)第64行echo"文件上傳失??!";這行代碼輸出一條錯誤信息,告訴用戶文件上傳失敗。(36)第65行}標(biāo)記條件語句的結(jié)束。(37)第66~68行為PHP代碼配對使用語句的結(jié)束語句。(38)第70~79行是HTML表單,用于用戶選擇文件并指定上傳目錄。(39)第71行顯示文件選擇框,用戶可以通過該框選擇要上傳的文件。(40)第76行顯示文本框,用于用戶指定上傳目錄,用戶可以手動輸入目錄路徑。(41)第78行顯示提交按鈕,用于觸發(fā)文件上傳操作。(42)第82~84行條件語句用于在文件上傳成功后顯示成功信息。如果$uploadSuccess為true,則顯示上傳成功的提示信息,其中包含上傳的文件名和指定的上傳目錄。(43)第86行顯示另外一張公司GIF圖片。該動態(tài)網(wǎng)頁設(shè)計了文件上傳功能,用戶可以選擇要上傳的文件,并可以指定上傳的目錄路徑。PHP代碼負(fù)責(zé)處理上傳的文件,并檢查文件類型和大小是否符合要求,如果文件上傳成功,會顯示成功的提示信息。session_start()函數(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江蘇鹽城市射陽縣農(nóng)業(yè)水利投資開發(fā)集團有限公司招聘模擬試卷及答案詳解(奪冠)
- 高一地理模擬試題及答案
- 2025汾西礦業(yè)井下操作技能人員招聘300人(山西)考前自測高頻考點模擬試題及答案詳解參考
- 2025年黑河市孫吳縣衛(wèi)生健康局鄉(xiāng)村醫(yī)生公開招聘8人考前自測高頻考點模擬試題有完整答案詳解
- 2025湖南婁底市紀(jì)委監(jiān)委所屬事業(yè)單位引進(jìn)高層次人才自主組考1人模擬試卷及答案詳解(奪冠系列)
- 2025福建福州市羅源縣城市管理和綜合執(zhí)法局內(nèi)勤人員招聘5人模擬試卷及完整答案詳解一套
- 2025年天津市和平區(qū)面向靖遠(yuǎn)籍招聘事業(yè)單位工作人員模擬試卷及答案詳解(必刷)
- 2025年春季中國光大銀行校園招聘模擬試卷完整答案詳解
- 2025廣東揭陽市惠來縣校園現(xiàn)場招聘教師70人模擬試卷及完整答案詳解
- 2025江西省中小學(xué)教師及特崗教師招聘筆試有關(guān)事項提示考前自測高頻考點模擬試題附答案詳解(典型題)
- 2025年統(tǒng)編版七年級道德與法治上冊全冊教案設(shè)計+全冊期末復(fù)習(xí)清單
- T/CSWSL 021-2020飼料原料大豆酶解蛋白
- 2025-2030中國林業(yè)行業(yè)發(fā)展分析及投資風(fēng)險預(yù)警與發(fā)展策略研究報告
- 滬教版牛津小學(xué)英語五年級上冊大單元作業(yè)設(shè)計
- 高效節(jié)能燈具采購及售后服務(wù)保障協(xié)議
- 新醫(yī)科背景下的臨床醫(yī)學(xué)檢驗發(fā)展
- 牧場轉(zhuǎn)讓協(xié)議書
- 大學(xué)生物科學(xué)第1課課件
- 密閉式靜脈輸液的護(hù)理
- 藥品行業(yè)國際貿(mào)易進(jìn)出口流程標(biāo)準(zhǔn)
- 化工管道考試試題及答案
評論
0/150
提交評論