国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

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

2024-09-04 11:45:07
字體:
供稿:網(wǎng)友

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

文件上傳表單的處理,代碼如下:

  1. <form action="post.php" enctype="multipart/form-data" method="post"> 
  2. <input name="MAX_FILE_SIZE" type="hidden" value="1000" /> 
  3. <input name="upfile" type="file" /> 
  4. <input type="submit" value="上傳文件" /> 
  5. </form> 

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

$_FILES超級全局變量很特殊,他是預(yù)定義超級全局?jǐn)?shù)組中唯一的二維數(shù)組,其作用是存儲各種與上傳文件有關(guān)的信息,這些信息對于通過PHP腳本上傳到服務(wù)器的文件至關(guān)重要,此函數(shù)中總共有5項:

1.$_FILES["userfile"]["error"]

$_FILES["userfile"]["error"]數(shù)組值提供了與上傳嘗試結(jié)果有關(guān)的重要信息,總共有5個不同的返回值,其中一個表示成功的結(jié)果,另外4個表示在嘗試中出現(xiàn)的特殊錯誤,返回值的名字和將在后面介紹.

2.$_FILES["userfile"]["name"]

$_FILES["userfile"]["name"]變量指定客戶端機器上聲明的文件最初的名字,包括擴展名,因此,如果瀏覽器一個名為vacation.jpg的文件,并通過表單上傳,則此變量的值將是vacation.png.

3.$_FILES["userfile"]["size"]

$_FILES["userfile"]["size"]變量指定從客戶端上傳的文件的大小,以字節(jié)為單位,因此,在vacation.jpg文件的例子中,此函數(shù)可能賦值為5253,大約為5kb.

4. $_FILES["userfile"]["tmp_name"]

$_FILES["userfile"]["tmp_name"]變量指定上傳到服務(wù)器后為文件賦予的臨時名,這是存儲在臨時目錄(由PHP指令upload_tmp_dir指定)中時所指定的文件名.

5. $_FILES["userfile"]["type"]

$_FILES["userfile"]["type"]變量指定從客戶端上傳的文件的mime類型,因此,在vacation.jpg文件的例子中,此變量會賦值為image/jpeg,如果上傳的是PDF,則賦值為application/pdf,因為這個變量有時會得到意外的結(jié)果,所以應(yīng)當(dāng)在腳本中顯示地進(jìn)行驗證.

$_FILES['myFile']['error'] 和該文件上傳相關(guān)的錯誤代碼,['error'] 是在 PHP 4.2.0 版本中增加的,下面是它的說明:(它們在PHP3.0以后成了常量)

UPLOAD_ERR_OK

值:0; 沒有錯誤發(fā)生,文件上傳成功。

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.

好了下面我們來看個完整的實例,代碼如下:

  1. <html> 
  2. <body> 
  3. <form action="upload_file.php" method="post" 
  4. enctype="multipart/form-data"
  5. <label for="file">filename:</label> 
  6. <input type="file" name="file" id="file" />  
  7. <br /> 
  8. <input type="submit" name="submit" value="submit" /> 
  9. </form> 
  10. </body> 
  11. </html> 
  12. //php代碼 
  13. <?php 
  14. if ((($_files["file"]["type"] == "image/gif"
  15. || ($_files["file"]["type"] == "image/jpeg"
  16. || ($_files["file"]["type"] == "image/pjpeg")) 
  17. && ($_files["file"]["size"] < 20000)) 
  18.   {//開源軟件:Vevb.com 
  19.   if ($_files["file"]["error"] > 0) 
  20.     { 
  21.     echo "error: " . $_files["file"]["error"] . "<br />"
  22.     } 
  23.   else 
  24.     { 
  25.     echo "upload: " . $_files["file"]["name"] . "<br />"
  26.     echo "type: " . $_files["file"]["type"] . "<br />"
  27.     echo "size: " . ($_files["file"]["size"] / 1024) . " kb<br />"
  28.     echo "stored in: " . $_files["file"]["tmp_name"]; 
  29.     } 
  30.   } 
  31. else 
  32.   { 
  33.   echo "invalid file"
  34.   } 
  35. ?> 

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 贵南县| 长寿区| 扶余县| 长春市| 包头市| 新田县| 富宁县| 阳城县| 同心县| 南昌县| 宜川县| 泰宁县| 安阳市| 乐昌市| 汾阳市| 稻城县| 大竹县| 宜宾市| 信丰县| 且末县| 深圳市| 独山县| 同仁县| 正定县| 义马市| 大关县| 奉节县| 疏勒县| 白山市| 偏关县| 陕西省| 富平县| 东至县| 萝北县| 天镇县| 青阳县| 肥东县| 潼南县| 叶城县| 伊通| 景谷|