亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php文件上傳類的分享

2024-05-04 23:58:34
字體:
來源:轉載
供稿:網友

本文實例為大家分享了php文件上傳類的具體代碼,供大家參考,具體內容如下

<?php$upload = new UpLoad();$upload->uploadFile('fm');/*打印錯誤信息*/// var_dump($upload->errorNumber);// var_dump($upload->errorInfo);class UpLoad{  //文件上傳路徑  protected $path = 'upload/';  //允許文件上傳的后綴  protected $allowSuffix = ['jpg','jpeg',  'gif','wbmp','png'];  //mime類型   protected $allowMime =['image/jpg','image/jpeg',  'image/gif','image/wbmp','image/png'];  //允許上傳的大小  protected $maxSize = 2000000;  //是否啟用默認的前綴  protected $isRandName =true ;  //文件的前綴  protected $prefix = 'up_';  //錯誤號和錯誤信息  protected $errorNumber;  protected $errorInfo;  //文件的信息  //文件名  protected $oldName;  //文件的后綴  protected $suffix;  //文件的大小  protected $size;  //文件的mime  protected $mime;  //文件的臨時文件的路徑  protected $tmpName;  //文件新名字  protected $newName;    //構造方法  //因為成員屬性比較多就用數組來顯示  public function __construct($arr =[]){    foreach ($arr as $key=>$value){      $this->setOption($key,$value);    }  }  //判斷$key是不是我的成員屬性,如果是就設置  protected function setOption($key,$value){    //得到所有的成員屬性    $keys = array_keys(get_class_vars(__CLASS__));    if(in_array($key, $keys)){      $this->$key = $value;    }  }  //文件上傳函數  //key 就是input框中的name屬性值  public function uploadFile($key){    //判斷有沒有設置路徑 path    if(empty($this->path)){      $this->setOption('errorNumber',-1 );      return false;    }    //判斷該路徑是否存在是否可寫    if (!$this->check()){      $this->setOption('errorNumber', -2);      return false;     }    //判斷$_FILES里面的error信息是否為0,如果為0則說明文件信息在服務器端可以直接獲取,提取信息保存到成員屬性中    $error = $_FILES[$key]['error'];    if($error){      $this->setOption('errorNumber', -3);      return false;    }else {      //提取文件相關信息并且保存到成員屬性中      $this->getFileInfo($key);    }    //判斷文件的大小、mime、后綴是否符合     if(!$this->checkSize() || !$this->checkMime()|| !$this->checkSuffix()){       return false;     }    //得到新的文件名字    $this->newName = $this->createNewName();    //判斷是否是上傳文件,并且是移動上傳文件    if(is_uploaded_file($this->tmpName)){      if(move_uploaded_file($this->tmpName, $this->path.$this->newName)){        return $this->path.$this->newName;      }else {        $this->setOption('errorNumber', -7);        return false;      }    }else{      $this->setOption('errorNumber', -6);      return false;    }  }  //檢測文件夾是否存在,是否可寫  protected function check(){    //文件夾不存在或者不是目錄。創建文件夾    if(!file_exists($this->path) ||!is_dir($this->path)){      return mkdir($this->path,0777,true);    }    //判斷文件是否可寫    if(!is_writeable($this->path)){      return chmod($this->path, 0777);    }    return true;  }  //根據key得到文件信息  protected function getFileInfo($key){    //得到文件的名字    $this->oldName = $_FILES[$key]['name'];    //得到文件的mime類型    $this->mime = $_FILES[$key]['type'];    //得到文件的臨時文件    $this->tmpName = $_FILES[$key]['tmp_name'];    //得到文件大小    $this->size = $_FILES[$key]['size'];    //得到文件后綴    $this->suffix = pathinfo($this->oldName)['extension'];  }  //判斷文件大小  protected function checkSize(){    if($this->size > $this->maxSize){      $this->setOption('errorNumber', -3);      return false;    }    return true;  }  //判斷mime類型  protected function checkMime(){    if(!in_array($this->mime, $this->allowMime)){      $this->setOption('errorNumber', -4);      return false;    }    return true;  }  //判斷后綴  protected function checkSuffix(){    if(!in_array($this->suffix, $this->allowSuffix)){      $this->setOption('errorNumber', -5);      return false;    }    return true;  }  //創建新名字  protected function createNewName(){    if($this->isRandName){      $name = $this->prefix.uniqid().'.'.$this->suffix;    }else {      $name = $this->prefix.$this->oldName;    }    return $name;  }  public function __get($name){    if($name == 'errorNumber'){      return $this->errorNumber;    }elseif ($name == 'errorInfo'){      return $this->getErrorInfo();    }  }  protected function getErrorInfo(){    switch ($this->errorNumber){    case -1:      $str = '文件路徑沒有設置';      break;    case -2:      $str = '文件不是目錄或者不可寫';      break;    case -3:      $str = '文件超過指定大小';      break;    case -4:      $str = 'mime類型不符合';      break;    case -5:      $str = '文件后綴不符合';      break;    case -6:      $str = '不是上傳文件';      break;    case -7:      $str = '移動失敗';      break;    case 1:      $str = '超出ini設置大小';      break;    case 2:      $str = '超出html表單大小';      break;    case 3:      $str = '文章只有部分上傳';      break;    case 4:      $str = '沒有文件上傳';      break;    case 6:      $str = '找不到臨時文件';      break;    case 7:      $str = '文件寫入失敗';      break;    }    return $str;  }}
<!doctype html><html lang="en"><head>  <meta charset="UTF-8" />  <title>文件上傳</title></head><body><form action="UpLoad.php" method="post" enctype="multipart/form-data" >   <input type="file" name="fm" value=""><br>  <input type="submit" value="上傳文件" /><br> </form></body></html>

注意:input中的name必須和上傳類中的uploadFile中是傳值一致!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品在线播放| 国产午夜精品理论片a级探花| 91九色综合久久| 国产精品自产拍在线观看| 亚洲一区二区免费| 国产91精品最新在线播放| 亚洲国产私拍精品国模在线观看| 亚洲精品自拍视频| 日韩有码片在线观看| 疯狂做受xxxx欧美肥白少妇| 8x拔播拔播x8国产精品| 国产成人精品午夜| 亚洲女在线观看| 亚洲国产中文字幕在线观看| 91久久在线观看| zzijzzij亚洲日本成熟少妇| 成人免费看黄网站| 欧美成人国产va精品日本一级| 97视频免费在线观看| 亚洲国产精品va在线看黑人| 欧美专区国产专区| 中文字幕日本精品| 成人免费网站在线| 久久好看免费视频| 欧美激情第1页| 国产精品免费在线免费| 国产成人精品视| 亚洲一区国产精品| 在线观看精品自拍私拍| 91av视频在线免费观看| 久久五月天色综合| 日韩成人在线电影网| 成人情趣片在线观看免费| 日韩欧美一区视频| 国产精品久久久久久久久久ktv| 亚洲社区在线观看| 久久久久久久亚洲精品| 中文字幕欧美日韩精品| 国产精品青青在线观看爽香蕉| 欧美激情在线视频二区| 日本国产一区二区三区| 亚洲欧美日韩高清| 欧美日韩综合视频网址| 日韩精品在线电影| 日韩av影视综合网| 欧美日韩综合视频网址| 亚洲国产精品大全| 亚洲精品久久久一区二区三区| 欧美亚洲国产成人精品| 亚洲精品视频在线播放| 国产精品福利片| 久久影院模特热| 亚洲一区二区三区四区在线播放| 国产日韩欧美夫妻视频在线观看| 欧美日韩成人黄色| 欧美国产高跟鞋裸体秀xxxhd| 久久免费观看视频| 国产精品久久久久久久7电影| 在线观看久久久久久| 日韩av最新在线观看| 国产精品欧美日韩久久| 欧美成人在线网站| 国产精品一区二区三区免费视频| 亚洲一级黄色片| 91夜夜揉人人捏人人添红杏| 国产91精品高潮白浆喷水| 亚洲欧美三级伦理| 欧美成人免费小视频| 久久久久国产精品免费网站| 亚洲美女av电影| 欧美自拍大量在线观看| 国产午夜精品一区二区三区| 日韩精品视频免费专区在线播放| 久久久久中文字幕| 久久精品中文字幕免费mv| 国产成人精品一区二区| 欧美性猛交xxx| 国产脚交av在线一区二区| 秋霞午夜一区二区| 日本精品va在线观看| 久久久av亚洲男天堂| 欧美性色19p| 久久久爽爽爽美女图片| 久久久精品电影| 日本久久久久久久久| 亚洲一区国产精品| 亚洲国产精品久久| 亚洲人在线观看| 欧美日韩亚洲天堂| 精品国产乱码久久久久久虫虫漫画| 欧美性资源免费| 黄色成人在线播放| 日韩精品视频免费| 欧美高清在线观看| 啊v视频在线一区二区三区| 成人福利在线视频| 午夜精品免费视频| 国产小视频91| 欧美高清激情视频| 日韩h在线观看| 米奇精品一区二区三区在线观看| 国产精品久久久久久久久免费| 日韩中文理论片| 日本a级片电影一区二区| 久热国产精品视频| 亚洲有声小说3d| 欧美性猛交99久久久久99按摩| 欧美黑人狂野猛交老妇| 在线中文字幕日韩| 精品国产一区av| 欧美孕妇孕交黑巨大网站| 国产一区二区三区网站| 亚洲精品第一国产综合精品| 国产精品久久久久久久9999| 超在线视频97| 成人黄色生活片| 日韩精品中文字幕在线| 国产suv精品一区二区三区88区| 亚洲国产精久久久久久| 九九久久精品一区| 亚洲www在线| 日本亚洲欧洲色α| 国产精自产拍久久久久久| 国产精品久久网| 亚洲综合中文字幕在线观看| 日本久久精品视频| 国产精品午夜国产小视频| 精品国产鲁一鲁一区二区张丽| 欧美日韩国产综合视频在线观看中文| 国产最新精品视频| 亚洲视频专区在线| 日本亚洲欧洲色| 欧美精品中文字幕一区| www.国产一区| 国产精品亚洲视频在线观看| 中文字幕亚洲一区二区三区五十路| 疯狂蹂躏欧美一区二区精品| 欧美成人精品xxx| 国内揄拍国内精品| 欧美激情亚洲一区| 欧美性xxxxx极品| 亚洲一区二区三区视频| 国产精品女人久久久久久| 国产精品88a∨| 亚洲一区中文字幕在线观看| 高清欧美性猛交| 日韩中文字幕网址| 国产91久久婷婷一区二区| 欧美在线亚洲一区| 最新国产精品拍自在线播放| 成人免费看吃奶视频网站| 精品亚洲一区二区| 久久免费精品日本久久中文字幕| 久久色在线播放| 欧美高清videos高潮hd| 欧美日韩免费在线| 国产一区二区在线免费视频| 中文字幕少妇一区二区三区| 欧美性xxxx| 亚洲国产天堂久久综合网| 亚洲国产成人久久| 亚洲人成在线观看| 国产亚洲a∨片在线观看| 亚洲视频综合网|