:::

17. 用PHP上傳檔案

一、 檔案上傳

  1. 請下載練習圖檔
  2. 要上傳檔案,需要用file元件<input type="file" name="pic">
  3. 若想限制上傳格式,加入accept="image/gif,image/jpeg,image/png"(搜尋副檔名mime格式:http://filext.com/
  4. 若表單中有file元件,表單一定要加上「enctype="multipart/form-data"」屬性
  5. 限制大小,需加在上傳欄位之前:<input type="hidden" name="MAX_FILE_SIZE" value="30000">
  6. 每上傳一張圖(假設file欄位名稱為pic),都會產生一組 $_FILES 超級全域變數:
    1. $_FILES['pic']['name']:上傳檔案原始名稱。
    2. $_FILES['pic']['type']:檔案的 MIME 類型,例如“image/gif”。
    3. $_FILES['pic']['size']:已上傳檔案的大小,單位為bytes。
    4. $_FILES['pic']['tmp_name']:檔案被上傳後的臨時檔案名。
    5. $_FILES['pic']['error']:和該檔案上傳相關的錯誤代碼。
  7. 上傳的步驟:送出上傳→圖會暫時放到主機的暫存目錄中(通常是tmp),接著要利用程式將該暫存檔搬移到您自己指定的位置。
  8. 搬移上傳檔方法:move_uploaded_file(暫存檔 , 新路徑檔名)
  9. 上傳多檔:<input type="file" name="pic[0]"><input type="file" name="pic[1]">,上傳後,取得檔名分別用$_FILES['pic']['name'][0]、$_FILES['pic']['name'][1],其餘的依此類推。

二、 php.ini裡面和上傳相關的設定

  1. file_uploads = on ;是否允許透過HTTP上傳文件。默認為ON。(表示允許)
  2. upload_tmp_dir ;文件上傳時暫存的地方,如果沒指定就會用系統默認的臨時文件夾
  3. upload_max_filesize = 2m ;即為允許上傳文件的最大值。默認為2M。
  4. post_max_size = 8m ;指透過表單(form)POST給伺服器所能接收的最大值,包括表單裡的所有值。默認為8M。
  5. max_execution_time = 30 ;每個PHP頁面運行的最大時間值(秒),默認值30秒。

三、 和後續處理檔案相關的函數

  1. file_exists (檔案路徑):判斷檔案是否存在
  2. unlink(檔案路徑):刪除檔案
  3. strrchr(檔名, ".") :找出指定字符在字串中的最後一次出現直到結尾的文字,可用來取得副檔名(會包含.)
  4. strtolower(文字):強制小寫

:::

搜尋

QR Code 區塊

https%3A%2F%2Fwww.tad0616.net%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D20%26tbdsn%3D580

書籍目錄

展開 | 闔起

線上使用者

23人線上 (5人在瀏覽線上書籍)

會員: 0

訪客: 23

更多…