PHP檔案之上傳

來源:互聯網
上載者:User

一、$_FILES數組

  • $_FILES[“file”][“name”]:上傳檔案的原始名稱。
  • $_FILES[“file”][“type”]:上傳的檔案類型。
  • $_FILES[“file”][“size”]:上傳檔案的原始大小。
  • $_FILES[“file”][“tmp_name”]:上傳檔案後的暫存位置。
  • $_FILES[“file”][“error”]:如果上傳檔案有錯誤,則顯示錯誤碼

  • UPLOAD_ERR_OK 值:0; 沒有錯誤發生,檔案上傳成功。
  • UPLOAD_ERR_INI_SIZE 值:1; 上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。
  • UPLOAD_ERR_FORM_SIZE 值:2; 上傳檔案的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。(我們可以在form表單中指定input type=’hidden’ name=’MAX_FILE_SIZE’ value=’附件的最大位元組數’)
  • UPLOAD_ERR_PARTIAL 值:3; 檔案只有部分被上傳。
  • UPLOAD_ERR_NO_FILE 值:4; 沒有檔案被上傳。
  • 二、常見的檔案類型

  • xls:application/vnd.ms-excel
  • xlsx:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • ppt:application/vnd.ms-powerpoint
  • pptx:application/vnd.openxmlformats-officedocument.presentationml.presentation
  • doc:application/msword
  • docx:application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • zip:application/x-zip-compressed
  • rar:application/x-zip-compressed
  • wmv:video/x-ms-wmv
  • mp3:audio/mpeg
  • mp4:video/mp4
  • gif:image/git
  • jpeg:image/jpeg或image/pjpeg
    備忘:對於 IE,識別 jpg 檔案的類型必須是 pjpeg,對於 FireFox,必須是 jpeg。
  • 三、檔案上傳過程

  • 檔案被上傳結束後,預設地被儲存在了臨時目錄中,這時必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。也就是不管是否上傳成功,指令碼執行完後臨時目錄裡的檔案肯定會被刪除。所以在刪除之前要用PHP的 copy()或者move_upload_file() 函數將它複製或者移動到其它位置,此時,才算完成了上傳檔案過程。

  • 用form上傳檔案時,一定要加上屬性內容 enctype=”multipart/form-data”,否則用$_FILES[filename]擷取檔案資訊時會報異常。

  • 四、儲存上傳的檔案(move_uploaded_file)

    bool move_uploaded_file ( string $filename , string $destination )

    參數:

  • filename:上傳的檔案的檔案名稱。

  • destination:移動檔案到這個位置

  • 傳回值:

  • 成功時返回 TRUE。

  • 如果 filename 不是合法的上傳檔案,不會出現任何操作,move_uploaded_file() 將返回 FALSE。

  • 如果 filename 是合法的上傳檔案,但出於某些原因無法移動,不會出現任何操作,move_uploaded_file() 將返回 FALSE。此外還會發出一條警告。

  • 五、一個簡單的上傳檔案的例子

    註:

    2、處理檔案的指令碼1.php

    =30720){ #注意:此時檔案夾upload必須已經存在,否則會報錯! if(file_exists("upload/".$_FILES['imgfile']['name'])) echo "檔案已存在,請不要重複上傳。"; else move_uploaded_file($_FILES['imgfile']['tmp_name'],"upload/".$_FILES['imgfile']['name']); echo "檔案上傳成功!"; }else{ echo "不是jpeg或gif的圖片格式,或者檔案小於30k!請重新上傳。"; } } ?>

    六、致謝

  • PHP檔案上傳;
  • PHP:move_uploaded_file-Manual;
  • php中$_FILES變數的用法;
  • PHP上??案,透? PHP $_FILES ?列??上??案;
  • php上傳常見檔案類型和$_FILES[“file”][“type”].
  • 著作權聲明:本文為Lshare原創文章,需要轉載的請聯絡我,有問題歡迎評論或私信。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.