茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    php簡(jiǎn)單的上傳類分享
    來(lái)源:易賢網(wǎng) 閱讀:1227 次 日期:2016-08-22 15:18:22
    溫馨提示:易賢網(wǎng)小編為您整理了“php簡(jiǎn)單的上傳類分享”,方便廣大網(wǎng)友查閱!

    本文實(shí)例為大家分享了php上傳類,供大家參考,具體內(nèi)容如下

    <?php

    class 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;        //是否重命名,默認(rèn)為true

      var $errID = 0;           //錯(cuò)誤代碼,默認(rèn)為0

      var $errMsg = "";          //錯(cuò)誤信息

      var $savePath = "";         //保存路徑

      function __construct($inputName,$allowType="",$allowSize="",$saveDir="",$isRename=true){

        if(empty($inputName)){

          $this->chk_err(-1);    //無(wú)傳入控件名

        }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);  //沒(méi)有文件被上傳

        }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);     //上傳的文件過(guò)大

        }else{

          return true;

        }

      }

      function move_uploaded(){    //移動(dòng)上傳文件

        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);  //建立保存目錄

        }

        //移動(dòng)文件

        $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']);

        }

       

      }

      //判斷出錯(cuò)信息

      function chk_err($errID){

        $this->errID = $errID;

        switch($this->errID){

          case -4:

            $this->errMsg = "上傳的文件過(guò)大";

            break;

          case -3:

            $this->errMsg = "上傳的文件類型不被允許";

            break;

          case -2:

            $this->errMsg = "文件上傳不合法";

            break;

          case -1:

            $this->errMsg = "無(wú)控件名傳入";

            break;

          case 1:

            $this->errMsg = '上傳的文件超出了php.ini中upload_max_filesize設(shè)定的最大值';

            break;

          case 2:

            $this->errMsg = '上傳文件的大小超過(guò)了HTML表單中MAX_FILE_SIZE選項(xiàng)指定的值';

            break;

          case 3:

            $this->errMsg = '文件只有部分被上傳';

            break;

          case 4:

            $this->errMsg = '沒(méi)有文件被上傳';

            break;

          default:

            break;

        }

        return false;

       

      }

      function get_errMsg(){

        echo $this->errMsg; //輸出錯(cuò)誤信息

      }

      /**

       +----------------------------------------------------------

       * 取得圖像信息

       *

       +----------------------------------------------------------

       * @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); // 計(jì)算縮放比例

            if($scale>=1) {

              // 超過(guò)原圖大小不再縮略

              $width  = $srcWidth;

              $height = $srcHeight;

            }else{

              // 縮略圖尺寸

              $width = (int)($srcWidth*$scale);  //147

              $height = (int)($srcHeight*$scale);  //199

            }

          }

          // 載入原圖

          $createFun = 'ImageCreateFrom'.($type=='jpg'?'jpeg':$type);

          $srcImg   = $createFun($image);

          //創(chuàng)建縮略圖

          if($type!='gif' && function_exists('imagecreatetruecolor'))

            $thumbImg = imagecreatetruecolor($width, $height);

          else

            $thumbImg = imagecreate($width, $height);

          // 復(fù)制圖片

          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);//取消默認(rèn)的混色模式

            //imagesavealpha($thumbImg,true);//設(shè)定保存完整的 alpha 通道信息

            $background_color = imagecolorallocate($thumbImg, 0,255,0); // 指派一個(gè)綠色

            imagecolortransparent($thumbImg,$background_color); // 設(shè)置為透明色,若注釋掉該行則輸出綠色的圖

          }

          // 對(duì)jpeg圖形設(shè)置隔行掃描

          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);  //返回包含大小頭像路徑的數(shù)組

          }else{

            if($is_save == false){                      //縮略圖覆蓋原圖,縮略圖的路徑還是原圖路徑

              $imageFun($thumbImg,$image,100);

            }else{

              $thumbname03 = substr_replace($image,"03.".$type,$length);  //縮略圖與原圖同時(shí)存在,

              $imageFun($thumbImg,$thumbname03,100);

              imagedestroy($thumbImg);

              imagedestroy($srcImg);

              return $thumbname03 ;          //返回縮略圖的路徑,字符串

            }

          }

         }

         return false;

      }

    }

    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:php簡(jiǎn)單的上傳類分享
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)