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

首頁 > 語言 > PHP > 正文

php簡單文件上傳$_FILES與move_uploaded_file實現文件上傳

2024-09-04 11:44:56
字體:
來源:轉載
供稿:網友

php簡單文件上傳$_files與move_uploaded_file實現文件上傳.

$_files["file"]["name"] - 被上傳文件的名稱 

$_files["file"]["type"] - 被上傳文件的類型 

$_files["file"]["size"] - 被上傳文件的大小,以字節計 

$_files["file"]["tmp_name"] - 存儲在服務器的文件的臨時副本的名稱 

$_files["file"]["error"] - 由文件上傳導致的錯誤代碼 

這是一種非常簡單文件上傳方式,基于安全方面的考慮,您應當增加有關什么用戶有權上傳文件的限制.

注釋:對于 ie,識別 jpg 文件的類型必須是 pjpeg,對于 firefox,必須是 jpeg.

  1. /*    
  2. *$formname                       html上傳表單名稱    
  3. *$allowtype_array                允許上傳的文件類型數組    
  4. *$allow_size                     允許上傳的文件最大大小,默認是1mb    
  5. *$isrename                       是否需要重命名被上傳的文件    
  6. */    
  7. function upload_file($formname,$path,$allowtype_array,$allow_size='1048576',$isrename=true){    
  8.  if($_files[$formname]['tmp_name']=='' || $_files[$formname]['name']=='' || $_files[$formname]['size']==0){    
  9.   return false;    
  10.  }    
  11.  if(!file_exists('../uploadfiles/'.$path)){    
  12.   if(!mkdir('../uploadfiles/'.$path,0777)){    
  13.    writeerrmsg('創建上傳文件保存文件目錄失敗,請聯系管理員檢查目錄權限');    
  14.   }    
  15.  }    
  16.  if($_files[$formname]['size']>$allow_size){    
  17.   writeerrmsg('上傳文件過大,請將上傳文件限制在'.number_format($allow_size/1048576,'2','.','').'mb以內');    
  18.  }    
  19.  $file_name_array=explode('.',$_files[$formname]['name']);    
  20.  $file_type=strtolower($file_name_array[count($file_name_array)-1]);    
  21.  if(!in_array($file_type,$allowtype_array)){    
  22.   writeerrmsg('上傳文件類型錯誤,僅允許上傳后綴名為 .'.implode(' .',$allowtype_array).'的文件');    
  23.  }    
  24.  $save_name=$isrename?randomname().'.'.$file_type:$_files[$formname]['name'];    
  25.  if(!move_uploaded_file($_files[$formname]['tmp_name'],'../uploadfiles/'.$path.'/'.$save_name)){    
  26.   writeerrmsg('文件上傳過程中發生錯誤,請重新上傳');    
  27.  }    
  28.  switch($_files[$formname]['error']){    
  29.   case 0:    
  30.    return $save_name;    
  31.   break;    
  32.   case 1:    
  33.    writeerrmsg('上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值');    
  34.   break;    
  35.   case 2:    
  36.    writeerrmsg('上傳文件的大小超過了 html 表單中 max_file_size 選項指定的值');    
  37.   break;    
  38.   case 3:    
  39.    writeerrmsg('文件只有部分被上傳');    
  40.   break;    
  41.   case 4:    
  42.    writeerrmsg('沒有文件被上傳');    
  43.   break;    
  44.   default//開源代碼Vevb.com 
  45.    writeerrmsg('能出現這條錯誤提示,日子也該混到頭了');    
  46.   break;    
  47.  }    
  48. }  

move_uploaded_file

本函數檢查并確保由 file 指定的文件是合法的上傳文件,即通過 php 的 http post 上傳機制所上傳的,如果文件合法,則將其移動為由 newloc 指定的文件.

如果 file 不是合法的上傳文件,不會出現任何操作,move_uploaded_file() 將返回 false.

如果 file 是合法的上傳文件,但出于某些原因無法移動,不會出現任何操作,move_uploaded_file() 將返回 false,此外還會發出一條警告.

這種檢查顯得格外重要,如果上傳的文件有可能會造成對用戶或本系統的其他用戶顯示其內容的話.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大余县| 如皋市| 大洼县| 常德市| 普兰店市| 江城| 香河县| 日照市| 嘉兴市| 辽宁省| 黔东| 陇川县| 逊克县| 龙陵县| 通河县| 永平县| 吴江市| 泰顺县| 金溪县| 金乡县| 罗平县| 金湖县| 汶川县| 新津县| 招远市| 阿荣旗| 连山| 达日县| 扶风县| 泉州市| 开鲁县| 衡南县| 英吉沙县| 防城港市| 潞城市| 津市市| 汉寿县| 灌云县| 嵊州市| 肥乡县| 巴楚县|