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

首頁 > 開發(fā) > PHP > 正文

PHP 中$_FILES的使用及注意事項

2024-05-04 21:57:47
字體:
供稿:網(wǎng)友

$_FILES: 經(jīng)由 HTTP POST 文件上傳而提交至腳本的變量,類似于舊數(shù)組 $HTTP_POST_FILES 數(shù)組(依然有效,但反對使用)詳細信息可參閱 POST 方法上傳

_FILES數(shù)組內(nèi)容如下:

$_FILES['myFile']['name'] 客戶端文件的原名稱        

$_FILES['myFile']['type'] 文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如"image/gif"        

$_FILES['myFile']['size'] 已上傳文件的大小,單位為字節(jié)        

$_FILES['myFile']['tmp_name'] 文件被上傳后在服務端儲存的臨時文件名,一般是系統(tǒng)默認,可以在php.ini的upload_tmp_dir 指定,但用 putenv() 函數(shù)設置是不起作用的      

$_FILES['myFile']['error'] 和該文件上傳相關的錯誤代碼,['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. 文件被上傳結(jié)束后,默認地被存儲在了臨時目錄中,這時必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除.也就是不管是否上傳成功,腳本執(zhí)行完后臨時目錄里的文件肯定會被刪除.所以在刪除之前要用PHP的 copy() 函數(shù)將它復制到其它位置,此時,才算完成了上傳文件過程.

2. 在 PHP 4.1.0 版本以前該數(shù)組的名稱為 $HTTP_POST_FILES,它并不像 $_FILES 一樣是自動全局變量.PHP 3 不支持 $HTTP_POST_FILES 數(shù)組.

3. 用form上傳文件時,一定要加上屬性內(nèi)容 enctype="multipart/form-data",否則用$_FILES[filename]獲取文件信息時會報異常.

測試

實例代碼如下:

  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> 

php代碼

實例代碼如下:

  1. <?php 
  2. if ((($_files["file"]["type"] == "image/gif"
  3. || ($_files["file"]["type"] == "image/jpeg"
  4. || ($_files["file"]["type"] == "image/pjpeg")) 
  5. && ($_files["file"]["size"] < 20000)) 
  6.   { 
  7.   if ($_files["file"]["error"] > 0) 
  8.     { 
  9.     echo "error: " . $_files["file"]["error"] . "<br />"
  10.     } 
  11.   else 
  12.     { 
  13.     echo "upload: " . $_files["file"]["name"] . "<br />"
  14.     echo "type: " . $_files["file"]["type"] . "<br />"
  15.     echo "size: " . ($_files["file"]["size"] / 1024) . " kb<br />"
  16.     echo "stored in: " . $_files["file"]["tmp_name"]; 
  17.     } 
  18.   } 
  19. else 
  20.   { 
  21.   echo "invalid file"
  22.   } 
  23. ?> 

文件上傳精簡代碼,實例代碼如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>Excel數(shù)據(jù)獲取演示</title> 
  6. <meta name="Keywords" content="TODO" /> 
  7. <meta name="Description" content="TODO"/> 
  8. </head> 
  9. <body> 
  10.     <div> 
  11.       <div>提交表單</div> 
  12.       <div> 
  13.         <form method="POST" action="www.111cn.net/Index/parse" enctype="multipart/form-data"
  14.             <input type="file" name="excel" value="" /> 
  15.             <input type="submit" name="submit" value="提交" /> 
  16.         </form> 
  17.       </div> 
  18.     </div> 
  19. </body> 
  20. </html> 
  21. public function parse() 
  22.     { 
  23.        /** 
  24.         * $_FILES數(shù)組說明 
  25.         * array(n) { 
  26.         *   ["表單文件框名稱"] => array(5) { 
  27.         *       ["name"]        => 提交文件名稱 
  28.         *       ["type"]        => 提交文件類型 Excel為"application/vnd.ms-excel" 
  29.         *       ["tmp_name"]    => 臨時文件名稱 
  30.         *       ["error"]       => 錯誤(0成功1文件太大超過upload_max_filesize2文件太大超過MAX_FILE3上傳不完整4沒有上傳文件) 
  31.         *       ["size"]        => 文件大小(單位:KB) 
  32.         *   } 
  33.         * } 
  34.         */ 
  35.         $return=array(0,''); 
  36.         /** 
  37.          * 判斷是否提交 
  38.          * is_uploaded_file(文件名稱)用于確定指定的文件是否使用POST方法上傳,防止非法提交,通常和move_upload_file一起使用保存上傳文件到指定的路徑 
  39.          */ 
  40.         if(!isset($_FILES) || !is_uploaded_file($_FILES['excel']['tmp_name'])) 
  41.         { 
  42.             $return=array(1,'提交不合法'); 
  43.         } 
  44.         //處理 
  45.         if(0 == $return[0]) 
  46.         { 
  47.             import('@.Util.ExcelParser'); 
  48.             $excel=new ExcelParser($_FILES['excel']['tmp_name']); 
  49.             $return=$excel->main(); 
  50.         } 
  51.         //輸出處理 
  52.         print_r($return); 
  53. ?> 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 扶绥县| 沙雅县| 瑞安市| 长岛县| 古丈县| 广南县| 广宗县| 泗阳县| 琼海市| 许昌县| 仙游县| 松江区| 隆子县| 临邑县| 蓬安县| 和龙市| 明水县| 虎林市| 扎囊县| 岱山县| 宜黄县| 密山市| 故城县| 阳信县| 静海县| 沙雅县| 华池县| 乌鲁木齐县| 盐城市| 宜黄县| 手游| 望谟县| 武定县| 墨竹工卡县| 霞浦县| 什邡市| 西畴县| 开原市| 芦溪县| 宁国市| 汉川市|