程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php文件上傳之$_FILES全局變量用法介紹

php文件上傳之$_FILES全局變量用法介紹

編輯:關於PHP編程

本文章來簡單的介紹一下在php中文件圖片上傳時的一個$_FILES重要的全局變量 的種個參數,有需要了解的朋友可以參考一下下哈。  

文件上傳表單的處理

 

 代碼如下 復制代碼

我們來看看files的變量的用法

$_FILES超級全局變量很特殊,他是預定義超級全局數組中唯一的二維數組。其作用是存儲各種與上傳文件有關的信息,這些信息對於通過PHP腳本上傳到服務器的文件至關重要。此函數中總共有5項:
1.$_FILES["userfile"]["error"]
$_FILES["userfile"]["error"]數組值提供了與上傳嘗試結果有關的重要信息。總共有5個不同的返回值,其中一個表示成功的結果,另外4個表示在嘗試中出現的特殊錯誤。滅個返回值的名字和將在後面介紹。
2.$_FILES["userfile"]["name"]
$_FILES["userfile"]["name"]變量指定客戶端機器上聲明的文件最初的名字,包括擴展名。因此,如果浏覽器一個名為vacation.jpg的文件,並通過表單上傳,則此變量的值將是vacation.png。
3.$_FILES["userfile"]["size"]
$_FILES["userfile"]["size"]變量指定從客戶端上傳的文件的大小,以字節為單位。因此,在vacation.jpg文件的例子中,此函數可能賦值為5253,大約為5kb.
4. $_FILES["userfile"]["tmp_name"]
$_FILES["userfile"]["tmp_name"]變量指定上傳到服務器後為文件賦予的臨時名。這是存儲在臨時目錄(由PHP指令upload_tmp_dir指定)中時所指定的文件名。
5. $_FILES["userfile"]["type"]
$_FILES["userfile"]["type"]變量指定從客戶端上傳的文件的mime類型。因此,在vacation.jpg文件的例子中,此變量會賦值為image/jpeg。如果上傳的是PDF,則賦值為application/pdf。因為這個變量有時會得到意外的結果,所以應當在腳本中顯示地進行驗證。


$_FILES['myFile']['error']   和該文件上傳相關的錯誤代碼。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的說明:(它們在PHP3.0以後成了常量)
UPLOAD_ERR_OK
值:0; 沒有錯誤發生,文件上傳成功。
UPLOAD_ERR_INI_SIZE
值:1; 上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上傳。
UPLOAD_ERR_NO_FILE
值:4; 沒有文件被上傳。
值:5; 上傳文件大小為0.

好了下面我們來看個完整的實例

 


 

 

 

 代碼如下 復制代碼

 


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 "error: " . $_files["file"]["error"] . "
";
    }
  else
    {
    echo "upload: " . $_files["file"]["name"] . "
";
    echo "type: " . $_files["file"]["type"] . "
";
    echo "size: " . ($_files["file"]["size"] / 1024) . " kb
";
    echo "stored in: " . $_files["file"]["tmp_name"];
    }
  }
else
  {
  echo "invalid file";
  }

?>

對於 IE,識別 jpg 文件的類型必須是 pjpeg,對於 FireFox,必須是 jpeg。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved