php實作圖片上傳功能的方法:先建立儲存圖片的資料夾;然後建立HTML部分;接著建立「uploadHandler.php」檔案;最後將檔案的圖片格式與陣列中的元素進行比較並實現上傳即可。
推薦:《PHP影片教學》
PHP 中的圖片上傳動作
前端程式設計中,有時需要允許瀏覽者上傳某張圖片,這樣的功能我們可以透過PHP 來實現。
一. 建立儲存圖片的資料夾
在這裡,我們建立資料夾「 file 」 來存放使用者上傳的圖片,此時資料夾是空的,資料夾建立位址可以自己選擇,但是最好建立在方便使用的位置。
二. 建立HTML 部分(uploadfile.html)
這裡我們使用了HTML 的form 表單標籤,以及表單中的
来选择图片文件 来提交图片相关信息
程式碼如下:
注意:
1. form 表單裡的action 連接到之後會建立的處理圖片上傳的.php 檔案。
2. 在 form 的屬性中必須註明enctype="multipart/form-data"。 enctype 屬性規定在將表單資料傳送到伺服器之前如何對其進行編碼。 multipart/form-data不對字元編碼。當使用有文件上傳控制項的表單時,該值是必要的。
3. 在這裡,我們使用的是 post 方法。
三.建立PHP 部分(uploadHandler.php)
1. 原理
我們建立一個php 文件,在其中只輸入
那麼我們會印到一個對應的陣列arr(1)。
arr(1)的陣列結構為:
array(1) { ["img"]=> array(5) { ["name"]=> string(**) "AAAAAAA.jpg" // 图片名 ["type"]=> string(10) "image/jpeg" // 图片格式 ["tmp_name"]=> string(45) "/Applications/XAMPP/xamppfiles/temp/phpVZQY0m" // 图片缓存地址 ["error"]=> int(0) // 上传图片错误数 ["size"]=> int(124246) // 图片大小 } }
在array 陣列下有一個元素["img"] ,而在["img"] 下是一個二維數組,這個二維數組有五個元素,分別為:name / type / tmp_name / error / size。
透過這幾個屬性我們得到了一個圖片的基本訊息,下一步我們要透過對這幾個基本屬性進行判斷而將圖片存進資料夾。
2. 實際操作
進行以下判斷:
error [有]:提示錯誤❌
error [無]:下一步✅
╙type[非img]:提示錯誤❌
╙type[img]:下一步✅
#_222204422[142020202020202020202020202020]:改變錯誤。 # ╙type[jpeg]:下一步✅
如果滿足如上的判斷,那麼我們認為這張圖片是可以保存的。
為避免圖片命名的重複,我們使用時間戳概念,拼接成一個新的檔案名,讓每張圖片的命名都是唯一的。
且我們可以創建一個數組,數組內的元素是各種圖片格式,將文件的圖片格式與數組中的元素進行比較,不是我們認可的圖片格式將不予保存。
程式碼如下:
四. 上傳圖片
此時,如果各項都符合要求,那麼在file 資料夾內就存有了我們上傳的圖片。上傳成功!
以上是php如何實現圖片上傳功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!