利用檔案函數實現PHP檔案上傳案例分析_PHP教程

來源:互聯網
上載者:User
如果你是一個電腦愛好者,不知道PHP的話你就太落伍了,如果想知道PHP的相關知識,我們就一起來看看PHP檔案上傳的實現吧。這段代碼分為兩個檔案,一個為upload.html,一個是upload.php。

 
  1. <form enctype="multipart/form-data" action="upload.php" method="post">
  2. <input type="hidden" name="max_file_size" value="100000">
  3. <input name="userfile" type="file">
  4. <input type="submit" value="上傳檔案">
  5. form>

其中,請注意這是一個標籤,我們要實現檔案的上傳,必須指定為multipart/form-data,否則伺服器將不知道要幹什麼。值得注意的是檔案upload.html中表單選項 MAX_FILE_SIZE 的隱藏範圍,通過設定其Value(值)可以限制上傳檔案的大小。MAX_FILE_SIZE 的值只是對瀏覽器的一個建議,實際上它可以被簡單的繞過。因此不要把對瀏覽器的限制寄希望於該值。實際上,PHP 設定中的PHP檔案上傳最大值,是不會失效的。但是最好還是在表單中加上 MAX_FILE_SIZE,因為它可以避免使用者在花時間等待上傳大檔案之後才發現該檔案太大了的麻煩。

 
  1. upload.php
  2. $f=&$HTTP_POST_FILES['Myfile'];
  3. $dest_dir='uploads';//設定上傳目錄
  4. $dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//設定檔案名稱為日期加上檔案名稱避免重複
  5. $r=move_uploaded_file($f['tmp_name'],$dest);
  6. chmod($dest, 0755);//設定上傳的檔案的屬性

或者

 
  1. copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>

以上範例中 $_FILES 數組的內容如下所示。我們假設檔案上傳欄位的名稱為 userfile(名稱可隨意命名)

 
  1. $_FILES['userfile']['name']//用戶端機器檔案的原名稱。
  2. $_FILES['userfile']['type'] //檔案的 MIME 類型,需要瀏覽器提供該資訊的支援,例如“image/gif”。
  3. $_FILES['userfile']['size']// 已上傳檔案的大小,單位為位元組。
  4. $_FILES['userfile']['tmp_name'] //檔案被上傳後在服務端儲存的臨時檔案名稱。
  5. $_FILES['userfile']['error'] //和該檔案上傳相關的錯誤碼

PHP檔案上傳值分析:
◆值:0; 沒有錯誤發生,檔案上傳成功。
◆值:1; 上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。
◆值:2; 上傳檔案的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。
◆值:3; 檔案只有部分被上傳。
◆值:4; 沒有檔案被上傳。


http://www.bkjia.com/PHPjc/446562.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446562.htmlTechArticle如果你是一個電腦愛好者,不知道PHP的話你就太落伍了,如果想知道PHP的相關知識,我們就一起來看看PHP檔案上傳的實現吧。這段代碼分為...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.