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

首頁 > 語言 > PHP > 正文

php簡單的上傳類分享

2024-05-04 23:46:01
字體:
來源:轉載
供稿:網友
這篇文章主要為大家分享了php簡單的上傳類,具有一定的實用性,感興趣的小伙伴們可以參考一下
 

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

<?phpclass UploadFile{  var $inputName;         //控件名  var $allowType = array(        'image/gif','image/jpg','image/jpeg','image/png','image/x-png','image/pjpeg'  );                //上傳類型  var $allowSize = 2097152;  //限制大小  var $saveDir = UPLOAD;   //保存目錄  var $isRename = true;        //是否重命名,默認為true  var $errID = 0;           //錯誤代碼,默認為0  var $errMsg = "";          //錯誤信息  var $savePath = "";         //保存路徑  function __construct($inputName,$allowType="",$allowSize="",$saveDir="",$isRename=true){    if(empty($inputName)){      $this->chk_err(-1);    //無傳入控件名    }else{      $this->inputName = $inputName;    }    if(!empty($allowType)) $this->allowType = $allowType;    if(!empty($allowSize)) $this->allowSize = $allowSize;    if(!empty($saveDir)) $this->saveDir = $saveDir;    if(!empty($isRename)) $this->isRename = $isRename;  }  function is_uploaded(){    if(empty($_FILES[$this->inputName]['name'])){      $this->chk_err(4);  //沒有文件被上傳    }else{      if(is_uploaded_file($_FILES[$this->inputName]['tmp_name'])){        return true;      }else{        $this->chk_err(-2);    //文件上傳不合法      }    }  }  function chk_type(){    if(!in_array($_FILES[$this->inputName]['type'],$this->allowType)){      $this->chk_err(-3);     //上傳的文件類型不被允許    }else{      return true;    }  }  function chk_size(){    if($_FILES[$this->inputName]['size'] > $this->allowSize){      $this->chk_(-4);     //上傳的文件過大    }else{      return true;    }  }  function move_uploaded(){    //移動上傳文件    if(!$this->is_uploaded()){      return false;    }    if(!$this->chk_size()){      return false;    }    if(!$this->chk_type()){      return false;    }    //重命名    if($this->isRename){      $arrTmp = pathinfo($_FILES[$this->inputName]['name']);      $extension = strtolower($arrTmp['extension']);      $file_newname = date("YmdHis").rand(1000,9999)."00.".$extension; //重命名新文件, 00表示為上傳的為原圖    }else{      $file_newname = $_FILES[$this->inputName]['name'];    }        if(!file_exists($this->saveDir)){    //判斷保存目錄是否存在      mkdir($this->saveDir,0777,true);  //建立保存目錄    }    //移動文件    $result = move_uploaded_file($_FILES[$this->inputName]['tmp_name'],$this->saveDir."/".$file_newname);    if($result){      $path = $this->savePath = $this->saveDir.$file_newname;    //文件的成功保存路徑      return $path;    }else{      $this->chk_err($_FILES[$this->inputName]['error']);    }    }  //判斷出錯信息  function chk_err($errID){    $this->errID = $errID;    switch($this->errID){      case -4:        $this->errMsg = "上傳的文件過大";        break;      case -3:        $this->errMsg = "上傳的文件類型不被允許";        break;      case -2:        $this->errMsg = "文件上傳不合法";        break;      case -1:        $this->errMsg = "無控件名傳入";        break;      case 1:        $this->errMsg = '上傳的文件超出了php.ini中upload_max_filesize設定的最大值';        break;      case 2:        $this->errMsg = '上傳文件的大小超過了HTML表單中MAX_FILE_SIZE選項指定的值';        break;      case 3:        $this->errMsg = '文件只有部分被上傳';        break;      case 4:        $this->errMsg = '沒有文件被上傳';        break;      default:        break;    }    return false;    }  function get_errMsg(){    echo $this->errMsg; //輸出錯誤信息  }  /**   +----------------------------------------------------------   * 取得圖像信息   *   +----------------------------------------------------------   * @static   * @access public   +----------------------------------------------------------   * @param string $image 圖像文件名   +----------------------------------------------------------   * @return mixed   +----------------------------------------------------------   */  function getImageInfo($img) {    $imageInfo = getimagesize($img);    if( $imageInfo!== false) {      $imageType = strtolower(substr(image_type_to_extension($imageInfo[2]),1));      $imageSize = filesize($img);      $info = array(        "width"    =>$imageInfo[0],        "height"  =>$imageInfo[1],        "type"    =>$imageType,        "size"    =>$imageSize,        "mime"    =>$imageInfo['mime'],      );      return $info;    }else {      return false;    }  }  /**   +----------------------------------------------------------   * 生成縮略圖   +----------------------------------------------------------   * @static   * @access public   +----------------------------------------------------------   * @param string $image 原圖   * @param string $type 圖像格式   * @param string $thumbname 縮略圖文件名   * @param string $maxWidth 寬度   * @param string $maxHeight 高度   * @param string $position 縮略圖保存目錄   * @param boolean $interlace 啟用隔行掃描   * @param boolean $is_save 是否保留原圖   +----------------------------------------------------------   * @return void   +----------------------------------------------------------   */     function thumb($image,$is_save=true,$suofang=0,$type='',$maxWidth=500,$maxHeight=500,$interlace=true){    // 獲取原圖信息    $info = $this->getImageInfo($image);     if($info !== false) {      $srcWidth = $info['width'];      $srcHeight = $info['height'];      $type = empty($type)?$info['type']:$type;      $type = strtolower($type);      $interlace = $interlace? 1:0;      unset($info);      if ($suofang==1) {        $width = $srcWidth;        $height = $srcHeight;      } else {        $scale = min($maxWidth/$srcWidth, $maxHeight/$srcHeight); // 計算縮放比例        if($scale>=1) {          // 超過原圖大小不再縮略          $width  = $srcWidth;          $height = $srcHeight;        }else{          // 縮略圖尺寸          $width = (int)($srcWidth*$scale);  //147          $height = (int)($srcHeight*$scale);  //199        }      }      // 載入原圖      $createFun = 'ImageCreateFrom'.($type=='jpg'?'jpeg':$type);      $srcImg   = $createFun($image);      //創建縮略圖      if($type!='gif' && function_exists('imagecreatetruecolor'))        $thumbImg = imagecreatetruecolor($width, $height);      else        $thumbImg = imagecreate($width, $height);      // 復制圖片      if(function_exists("ImageCopyResampled"))        imagecopyresampled($thumbImg, $srcImg, 0, 0, 0, 0, $width, $height, $srcWidth,$srcHeight);      else        imagecopyresized($thumbImg, $srcImg, 0, 0, 0, 0, $width, $height, $srcWidth,$srcHeight);      if('gif'==$type || 'png'==$type) {        //imagealphablending($thumbImg, false);//取消默認的混色模式        //imagesavealpha($thumbImg,true);//設定保存完整的 alpha 通道信息        $background_color = imagecolorallocate($thumbImg, 0,255,0); // 指派一個綠色        imagecolortransparent($thumbImg,$background_color); // 設置為透明色,若注釋掉該行則輸出綠色的圖      }      // 對jpeg圖形設置隔行掃描      if('jpg'==$type || 'jpeg'==$type)   imageinterlace($thumbImg,$interlace);      //$gray=ImageColorAllocate($thumbImg,255,0,0);      //ImageString($thumbImg,2,5,5,"ThinkPHP",$gray);      // 生成圖片      $imageFun = 'image'.($type=='jpg'?'jpeg':$type);       $length = strlen("00.".$type) * (-1);      $_type = substr($image,-4);      $length = ($type != $_type ? $length+1 : $length);      //裁剪      if ($suofang==1) {                $thumbname01 = substr_replace($image,"01.".$type,$length);    //大頭像        $thumbname02 = substr_replace($image,"02.".$type,$length);    //小頭像        $imageFun($thumbImg,$thumbname01,100);        $imageFun($thumbImg,$thumbname02,100);        $thumbImg01 = imagecreatetruecolor(190,195);        imagecopyresampled($thumbImg01,$thumbImg,0,0,$_POST['x'],$_POST['y'],190,195,$_POST['w'],$_POST['h']);        $thumbImg02 = imagecreatetruecolor(48,48);        imagecopyresampled($thumbImg02,$thumbImg,0,0,$_POST['x'],$_POST['y'],48,48,$_POST['w'],$_POST['h']);        $imageFun($thumbImg01,$thumbname01,100);        $imageFun($thumbImg02,$thumbname02,100);//        unlink($image);        imagedestroy($thumbImg01);        imagedestroy($thumbImg02);        imagedestroy($thumbImg);        imagedestroy($srcImg);        return array('big' => $thumbname01 , 'small' => $thumbname02);  //返回包含大小頭像路徑的數組      }else{        if($is_save == false){                      //縮略圖覆蓋原圖,縮略圖的路徑還是原圖路徑          $imageFun($thumbImg,$image,100);        }else{          $thumbname03 = substr_replace($image,"03.".$type,$length);  //縮略圖與原圖同時存在,          $imageFun($thumbImg,$thumbname03,100);          imagedestroy($thumbImg);          imagedestroy($srcImg);          return $thumbname03 ;          //返回縮略圖的路徑,字符串        }      }     }     return false;  }}

以上就是本文的全部內容,希望對大家學習php程序設計有所幫助。



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

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区三区天堂av| 亚洲国产精彩中文乱码av在线播放| 欧美日韩国产精品一区二区三区四区| 精品国产一区二区三区久久狼5月| 欧美精品少妇videofree| 国产一区二区日韩精品欧美精品| 亚洲肉体裸体xxxx137| 精品无人区太爽高潮在线播放| 视频在线一区二区| 亚洲欧美另类在线观看| 国产欧美久久一区二区| 中文字幕亚洲欧美日韩2019| 精品日韩美女的视频高清| 国产欧美va欧美va香蕉在线| 91欧美激情另类亚洲| 欧美成人合集magnet| 久久亚洲综合国产精品99麻豆精品福利| 91sa在线看| 国产黑人绿帽在线第一区| 精品一区电影国产| 欧美一区三区三区高中清蜜桃| 亚洲欧美日韩另类| 亚洲午夜精品视频| 丝袜美腿亚洲一区二区| 久久精品91久久香蕉加勒比| 日韩动漫免费观看电视剧高清| 欧美成人四级hd版| 亚洲国产欧美久久| 国产精品久久久久不卡| 亚洲国产高潮在线观看| 欧美午夜久久久| 欧美最猛性xxxxx亚洲精品| 成人国产亚洲精品a区天堂华泰| 久久精品欧美视频| 欧美极品少妇xxxxⅹ免费视频| 97精品视频在线观看| 91高清在线免费观看| 九九视频这里只有精品| 色噜噜狠狠狠综合曰曰曰| 欧美一区二区三区四区在线| 爽爽爽爽爽爽爽成人免费观看| 成人精品视频在线| 久久在线精品视频| 国产一区二区丝袜| 久久在精品线影院精品国产| 欧美日韩亚洲一区二区| 久久免费高清视频| 亚洲va国产va天堂va久久| 日韩电影在线观看中文字幕| 日韩美女av在线| 国产日本欧美一区二区三区在线| 96精品视频在线| 久久视频在线播放| 91在线免费观看网站| 久久av在线看| 亚洲欧美一区二区激情| 亚洲人成在线电影| 亚洲国产精品大全| 国产97在线观看| 日本亚洲精品在线观看| 91精品国产九九九久久久亚洲| 欧美一区二区三区……| 欧美壮男野外gaytube| 国产日产亚洲精品| 久久久久中文字幕| 亚洲性线免费观看视频成熟| 国语自产精品视频在免费| 最新91在线视频| 日韩av在线免费| 九九热在线精品视频| 国产精品都在这里| 91在线视频一区| 国产日韩精品一区二区| 久久亚洲影音av资源网| 欧美www视频在线观看| 97国产在线观看| 欧美日韩国产影院| 欧美一区三区三区高中清蜜桃| 米奇精品一区二区三区在线观看| 欧美综合在线观看| 亚洲精品中文字幕av| 自拍偷拍亚洲区| 欧美视频在线观看免费| 韩日精品中文字幕| 亚洲成色www8888| 久久色精品视频| 亚洲男人av电影| 国产精品亚洲第一区| 最好看的2019的中文字幕视频| 久久久久久久久国产精品| 国产日韩欧美中文在线播放| 久久男人的天堂| 欧洲午夜精品久久久| 亚洲乱码av中文一区二区| 亚洲精品乱码久久久久久金桔影视| 成人欧美一区二区三区在线湿哒哒| 成人a级免费视频| 国产91精品视频在线观看| 国产精品999999| 国产剧情日韩欧美| 亚洲一级片在线看| 亚洲男人天堂视频| 欧美激情a在线| 91久久精品国产91久久| 日韩在线免费观看视频| 91久久久久久久| 亚洲免费高清视频| 国产日韩换脸av一区在线观看| 国外视频精品毛片| 91产国在线观看动作片喷水| 美女视频久久黄| 精品久久久久久中文字幕| 草民午夜欧美限制a级福利片| 国产亚洲精品91在线| 国产精品伦子伦免费视频| 亚洲老板91色精品久久| 亚洲免费成人av电影| 欧美在线免费视频| 亚洲欧美综合区自拍另类| 久久久97精品| 国产视频精品va久久久久久| 亚洲一区二区三区成人在线视频精品| 精品久久中文字幕| 欧美xxxx综合视频| 久久久欧美一区二区| 国产精品扒开腿爽爽爽视频| 国产精品盗摄久久久| 亚洲男人天堂视频| 日本一区二区三区在线播放| 欧美精品免费在线观看| 国产成人综合一区二区三区| 国产午夜精品麻豆| 福利一区福利二区微拍刺激| 久久久久久午夜| 538国产精品一区二区在线| 日韩av手机在线看| 欧美日韩国产成人在线观看| 精品久久久久久久久久久久久久| 亚洲无限乱码一二三四麻| 夜夜嗨av一区二区三区四区| 国产小视频国产精品| 夜夜嗨av一区二区三区四区| 成人精品在线视频| 欧美在线影院在线视频| 国a精品视频大全| 欧美一级大片在线免费观看| 久久影院免费观看| 欧美xxxx18性欧美| 日韩有码视频在线| 91av国产在线| 国产精品久久久久久久app| 国产小视频91| 亚洲国产高清高潮精品美女| 成人做爰www免费看视频网站| 久久综合亚洲社区| 日韩av手机在线观看| 欧美亚洲日本网站| 一夜七次郎国产精品亚洲| 欧美亚洲视频一区二区| 8x海外华人永久免费日韩内陆视频| 欧美性猛交xxxx免费看漫画| 最近中文字幕mv在线一区二区三区四区| 亚洲一区二区中文| 日韩精品在线观看一区|