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

首頁 > 語言 > PHP > 正文

php文件上傳代碼(支持文件批量上傳)

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

本款文件上傳類,默認是上傳單文件的,我們只要修改$inputname ='files'為你的表單名就可以方便的實現批量文件上傳了,$savename = ''保存文件名, $alowexts = array()設置允許上傳的類型,$savepath = ''保存路徑。

  1. */ 
  2. class upload 
  3.  public $savepath
  4.  public $files
  5.  private $error
  6.  function __construct($inputname ='files'$savepath = ''$savename = ''$alowexts = array(),$maxsize = 1024000) 
  7.  { 
  8.   if(!$alowexts)$alowexts=explode('|',upload_ftype); 
  9.   $file_array=array(); 
  10.   $savepath=str_replace('','/',$savepath); 
  11.   $savename=preg_replace('/[^a-z0-9_]+/i','',$savename); 
  12.   $this->savepath=substr($savepath,-1)=='/'?$savepath:$savepath.'/'//路徑名以/結尾 
  13.   if(!make_dir($this->savepath)) 
  14.   { 
  15.    $this->error=8; 
  16.    $this->error(); 
  17.   } 
  18.   //exit($this->savepath); 
  19.   if(!is_writeable($this->savepath)) 
  20.   { 
  21.    $this->error=9; 
  22.    $this->error(); 
  23.   } 
  24.   if(sizeof($_files[$inputname]['error'])>10) 
  25.   { 
  26.    $this->error=13; 
  27.    $this->error(); 
  28.   } 
  29.   $max=sizeof($_files[$inputname]['error'])-1; 
  30.   //exit($this->savepath.$savename); 
  31.   foreach($_files[$inputname]['error'as $key => $error
  32.   { 
  33.    if($error==upload_err_ok) //批量上傳 
  34.    { 
  35.     $savename=$savename?$savename:date('ymdims').mt_rand(10000,99999);  
  36.     $fileext=strtolower(get_fileext($_files[$inputname]['name'][$key])); 
  37.     $savename=$savename.'.'.$fileext
  38.     $tmp_name=$_files[$inputname]['tmp_name'][$key]; 
  39.     $filesize=$_files[$inputname]['size'][$key]; 
  40.     if(!in_array($fileext,$alowexts)) 
  41.     { 
  42.      $this->error=10; 
  43.      $this->error(); 
  44.     } 
  45.     if($filesize>$maxsize
  46.     { 
  47.      $this->error=11; 
  48.      $this->error(); 
  49.     } 
  50.     if(!$this->isuploadedfile($tmp_name)) 
  51.     { 
  52.      $this->error=12; 
  53.      $this->error(); 
  54.     } 
  55.     if(move_uploaded_file($tmp_name,$this->savepath.$savename) || @copy($tmp_name,$this->savepath.$savename)) 
  56.     { 
  57.      //exit($this->savepath.$savename); 
  58.      @chmod($savename, 0644); 
  59.      @unlink($tmp_name); 
  60.      $file_array[]=$this->savepath.$savename;      
  61.     } 
  62.    } 
  63.    else 
  64.    { 
  65.     $this->error=$error
  66.     $this->error(); 
  67.    } 
  68.    unset($savename); 
  69.   } 
  70.   $this->files=$file_array
  71.   return true; 
  72.  } 
  73.  function isuploadedfile($file//去掉系統自帶的反斜線 
  74.  { 
  75.   return (is_uploaded_file($file) || is_uploaded_file(str_replace('/','',$file)));  
  76.  } 
  77.  function error() 
  78.  { 
  79.   $upload_error=array(0 => '文件上傳成功 !'
  80.        1 => '上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值 !'
  81.        2 => '上傳文件的大小超過了 html 表單中 max_file_size 選項指定的值 !'
  82.        3 => '文件只有部分被上傳 !'
  83.        4 => '沒有文件被上傳 !'
  84.        5 => '未知錯誤!'
  85.        6 => '找不到臨時文件夾。 !'
  86.        7 => '文件寫入臨時文件夾失敗 !'
  87.        8 => '附件目錄創建失敗 !'
  88.        9 => '附件目錄沒有寫入權限 !'
  89.        10 => '不允許上傳該類型文件 !'
  90.        11 => '文件超過了管理員限定的大小 !'
  91.        12 => '非法上傳文件 !'
  92.        13 => '最多可同時上傳10個文件 !' 
  93.        ); 
  94.   showmsg($upload_error[$this->error]); 
  95.  } 
  96. //使用方法 
  97. new upload(); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安龙县| 葫芦岛市| 阿荣旗| 东乌珠穆沁旗| 潜山县| 九江县| 阜阳市| 大姚县| 房产| 景泰县| 奎屯市| 商城县| 郴州市| 清涧县| 马边| 宜阳县| 黄梅县| 巫溪县| 日照市| 临清市| 唐海县| 莎车县| 惠来县| 兖州市| 忻州市| 望奎县| 航空| 休宁县| 余姚市| 天气| 秦皇岛市| 花垣县| 胶南市| 察雅县| 阜新| 红原县| 韩城市| 济阳县| 永靖县| 永安市| 平武县|