首頁  >  文章  >  後端開發  >  php如何實現圖片上傳功能

php如何實現圖片上傳功能

藏色散人
藏色散人原創
2020-08-19 10:35:145195瀏覽

php實作圖片上傳功能的方法:先建立儲存圖片的資料夾;然後建立HTML部分;接著建立「uploadHandler.php」檔案;最後將檔案的圖片格式與陣列中的元素進行比較並實現上傳即可。

php如何實現圖片上傳功能

推薦:《PHP影片教學

PHP 中的圖片上傳動作

  前端程式設計中,有時需要允許瀏覽者上傳某張圖片,這樣的功能我們可以透過PHP 來實現。

一. 建立儲存圖片的資料夾

  在這裡,我們建立資料夾「 file 」 來存放使用者上傳的圖片,此時資料夾是空的,資料夾建立位址可以自己選擇,但是最好建立在方便使用的位置。

二. 建立HTML 部分(uploadfile.html)

  這裡我們使用了HTML 的form 表單標籤,以及表單中的

来选择图片文件
来提交图片相关信息

程式碼如下:



 
  
  
 
  
  
Upload Img:

注意:

  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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn