天天看點

php中檔案上傳的幾個注意事項

1.對于上傳的檔案處理前檢測是否是正規上傳.

可以使用is_uploaded_file函數來檢測是否是合法post到伺服器的檔案.

2.對于上傳的檔案非特殊必要,要從臨時檔案夾移動到指定目錄,而非複制到指定目錄

可以使用move_uploaded_file方法移動. 如果使用copy方法移動檔案的話,上傳的檔案在一定時間内還會保留在臨時檔案夾,會導緻臨時檔案夾空間緊張.

執行個體:

<?php

if ((($_FILES["file"]["type"] == "image/gif")

|| ($_FILES["file"]["type"] == "image/jpeg")

|| ($_FILES["file"]["type"] == "image/pjpeg"))

&& ($_FILES["file"]["size"] < 20000))

{

 if ($_FILES["file"]["error"] > 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"];

  }

 }

}

else

{

 echo "Invalid file";

}

?>