天天看點

php檔案上傳步驟

  我們在開發網站的時候,經常會遇到需要制作檔案上傳功能,下面我們就為大家介紹一下php制作檔案上傳功能的詳細步驟。

第一步:建立一個檔案上傳表單

  允許使用者從表單上傳檔案是非常有用的。

  請看下面這個供上傳檔案的 HTML 表單:

php檔案上傳步驟

請留意如下有關此表單的資訊:

  

标簽的 enctype 屬性規定了在送出表單時要使用哪種内容類型。在表單需要二進制資料時,比如檔案内容,請使用 "multipart/form-data"。

   标簽的 type="file" 屬性規定了應該把輸入作為檔案來處理。舉例來說,當在浏覽器中預覽時,會看到輸入框旁邊有一個浏覽按鈕。

  注釋:允許使用者上傳檔案是一個巨大的安全風險。請僅僅允許可信的使用者執行檔案上傳操作。

第二步:建立上傳腳本

  "upload_file.php" 檔案含有供上傳檔案的代碼:

php檔案上傳步驟

 通過使用 PHP 的全局數組 $_FILES,你可以從客戶計算機向遠端伺服器上傳檔案。

  第一個參數是表單的 input name,第二個下标可以是 "name", "type", "size", "tmp_name" 或 "error"。就像這樣:

    ●$_FILES"file" - 被上傳檔案的名稱

    ●$_FILES"file" - 被上傳檔案的類型

    ●$_FILES"file" - 被上傳檔案的大小,以位元組計

    ●$_FILES"file" - 存儲在伺服器的檔案的臨時副本的名稱

    ●$_FILES"file" - 由檔案上傳導緻的錯誤代碼

  這是一種非常簡單檔案上傳方式。基于安全方面的考慮,您應當增加有關什麼使用者有權上傳檔案的限制。

第三步:上傳限制

  在這個腳本中,我們增加了對檔案上傳的限制。使用者隻能上傳 .gif 或 .jpeg 檔案,檔案大小必須小于 20 kb:

php檔案上傳步驟

  注釋:對于 IE,識别 jpg 檔案的類型必須是 pjpeg,對于 FireFox,必須是 jpeg。

第四步:儲存被上傳的檔案

  上面的例子在伺服器的 PHP 臨時檔案夾建立了一個被上傳檔案的臨時副本。

  這個臨時的複制檔案會在腳本結束時消失。要儲存被上傳的檔案,我們需要把它拷貝到另外的位置:

<?php

if ((($_FILES"file" == "image/gif")

|| ($_FILES"file" == "image/jpeg")

|| ($_FILES"file" == "image/pjpeg"))

&& ($_FILES"file" < 20000))

{

if ($_FILES"file" > 0)

{

echo "Return Code: " . $_FILES["file"]["error"] . "<br />";

}
           

else

{

echo "Upload: " . $_FILES["file"]["name"] . "<br />";

echo "Type: " . $_FILES["file"]["type"] . "<br />";

echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";

echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
           
if (file_exists("upload/" . $_FILES["file"]["name"]))

  {

  echo $_FILES["file"]["name"] . " already exists. ";

  }

else

  {

  move_uploaded_file($_FILES["file"]["tmp_name"],

  "upload/" . $_FILES["file"]["name"]);

  echo "Stored in: " . "upload/" . $_FILES["file"]["name"];

  }

}
           

}

echo "Invalid file";

?>

 上面的腳本檢測了是否已存在此檔案,如果不存在,則把檔案拷貝到指定的檔案夾。

  注釋:這個例子把檔案儲存到了名為 "upload" 的新檔案夾。

以上就是php檔案上傳步驟的詳細内容,更多請關注php交流群:

link