一起草最新网址_日韩一区二区麻豆国产_91视频婷婷_日本一区二区视频在线_日韩激情一区二区三区_国产另类第一区_成人免费在线播放视频_亚洲永久精品ww.7491进入_久久这里有精品视频_久久精品一级片_日韩av在线网页_波多野结衣不卡视频

php將圖片保存為不同尺寸圖片的圖片類實(shí)例_PHP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Linux系統(tǒng)下php獲得系統(tǒng)分區(qū)信息的方法
這篇文章主要介紹了Linux系統(tǒng)下php獲得系統(tǒng)分區(qū)信息的方法,涉及Linux下php系統(tǒng)分析的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下 本文實(shí)例講述了Linux系統(tǒng)下php獲得系統(tǒng)分區(qū)信息的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下: ? 希望本文所述對(duì)大家的php

這篇文章主要介紹了php將圖片保存為不同尺寸圖片的圖片類,涉及php圖片操作的保存、復(fù)制、縮略圖等常用技巧,并封裝成一個(gè)類文件以便于調(diào)用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了php將圖片保存為不同規(guī)格的圖片類。分享給大家供大家參考。具體如下:

圖片處理類.imagecls.php如下:

  1. <?php 
  2. /** 
  3.   圖片處理類 
  4.  */ 
  5. class imagecls 
  6.   /** 
  7.    * 文件信息 
  8.    */ 
  9.   var $file = array(); 
  10.   /** 
  11.    * 保存目錄 
  12.    */ 
  13.   var $dir = ''
  14.   /** 
  15.    * 錯(cuò)誤代碼 
  16.    */ 
  17.   var $error_code = 0; 
  18.   /** 
  19.    * 文件上傳最大KB 
  20.    */ 
  21.   var $max_size = -1; 
  22.   function es_imagecls() 
  23.   { 
  24.   } 
  25.   private function checkSize($size
  26.   { 
  27.     return !($size > $this->max_size) || (-1 == $this->max_size); 
  28.   } 
  29.   /** 
  30.    * 處理上傳文件 
  31.    * @param array $file 上傳的文件 
  32.    * @param string $dir 保存的目錄 
  33.    * @return bool 
  34.    */ 
  35.   function init($file$dir = 'temp'
  36.   { 
  37.     if(!is_array($file) || emptyempty($file) || !$this->isUploadFile($file['tmp_name']) || trim($file['name']) == '' || $file['size'] == 0) 
  38.     { 
  39.       $this->file = array(); 
  40.       $this->error_code = -1; 
  41.       return false; 
  42.     } 
  43.     else 
  44.     { 
  45.       $file['size'] = intval($file['size']); 
  46.       $file['name'] = trim($file['name']); 
  47.       $file['thumb'] = ''
  48.       $file['ext'] = $this->fileExt($file['name']); 
  49.       $file['name'] = htmlspecialchars($file['name'], ENT_QUOTES); 
  50.       $file['is_image'] = $this->isImageExt($file['ext']); 
  51.       $file['file_dir'] = $this->getTargetDir($dir); 
  52.       $file['prefix'] = md5(microtime(true)).rand(10,99); 
  53.       $file['target'] = "./public/".$file['file_dir'].'/'.$file['prefix'].'.jpg'//相對(duì) 
  54.       $file['local_target'] = APP_ROOT_PATH."public/".$file['file_dir'].'/'.$file['prefix'].'.jpg'//物理 
  55.       $this->file = &$file
  56.       $this->error_code = 0; 
  57.       return true; 
  58.     } 
  59.   } 
  60.   /** 
  61.    * 保存文件 
  62.    * @return bool 
  63.    */ 
  64.   function save() 
  65.   { 
  66.     if(emptyempty($this->file) || emptyempty($this->file['tmp_name'])) 
  67.       $this->error_code = -101; 
  68.     elseif(!$this->checkSize($this->file['size'])) 
  69.       $this->error_code = -105; 
  70.     elseif(!$this->file['is_image']) 
  71.       $this->error_code = -102; 
  72.     elseif(!$this->saveFile($this->file['tmp_name'], $this->file['local_target'])) 
  73.       $this->error_code = -103; 
  74.     elseif($this->file['is_image'] && (!$this->file['image_info'] = $this->getImageInfo($this->file['local_target'], true))) 
  75.     { 
  76.       $this->error_code = -104; 
  77.       @unlink($this->file['local_target']); 
  78.     } 
  79.     else 
  80.     { 
  81.       $this->error_code = 0; 
  82.       return true; 
  83.     } 
  84.     return false; 
  85.   } 
  86.   /** 
  87.    * 獲取錯(cuò)誤代碼 
  88.    * @return number 
  89.    */ 
  90.   function error() 
  91.   { 
  92.     return $this->error_code; 
  93.   } 
  94.   /** 
  95.    * 獲取文件擴(kuò)展名 
  96.    * @return string 
  97.    */ 
  98.   function fileExt($file_name
  99.   { 
  100.     return addslashes(strtolower(substr(strrchr($file_name'.'), 1, 10))); 
  101.   } 
  102.   /** 
  103.    * 根據(jù)擴(kuò)展名判斷文件是否為圖像 
  104.    * @param string $ext 擴(kuò)展名 
  105.    * @return bool 
  106.    */ 
  107.   function isImageExt($ext
  108.   { 
  109.     static $img_ext = array('jpg''jpeg''png''bmp','gif','giff'); 
  110.     return in_array($ext$img_ext) ? 1 : 0; 
  111.   } 
  112.   /** 
  113.    * 獲取圖像信息 
  114.    * @param string $target 文件路徑 
  115.    * @return mixed 
  116.    */ 
  117.   function getImageInfo($target
  118.   { 
  119.     $ext = es_imagecls::fileExt($target); 
  120.     $is_image = es_imagecls::isImageExt($ext); 
  121.     if(!$is_image
  122.       return false; 
  123.     elseif(!is_readable($target)) 
  124.       return false; 
  125.     elseif($image_info = @getimagesize($target)) 
  126.     { 
  127.       list($width$height$type) = !emptyempty($image_info) ? $image_info : array(''''''); 
  128.       $size = $width * $height
  129.       if($is_image && !in_array($typearray(1,2,3,6,13))) 
  130.         return false; 
  131.       $image_info['type'] = strtolower(substr(image_type_to_extension($image_info[2]),1)); 
  132.       return $image_info
  133.     } 
  134.     else 
  135.       return false; 
  136.   } 
  137.   /** 
  138.    * 獲取是否充許上傳文件 
  139.    * @param string $source 文件路徑 
  140.    * @return bool 
  141.    */ 
  142.   function isUploadFile($source
  143.   { 
  144.     return $source && ($source != 'none') && (is_uploaded_file($source) || is_uploaded_file(str_replace('\\\\', '\\', $source))); 
  145.   } 
  146.   /** 
  147.    * 獲取保存的路徑 
  148.    * @param string $dir 指定的保存目錄 
  149.    * @return string 
  150.    */ 
  151.   function getTargetDir($dir
  152.   {     
  153.     if (!is_dir(APP_ROOT_PATH."public/".$dir)) { 
  154.        @mkdir(APP_ROOT_PATH."public/".$dir); 
  155.        @chmod(APP_ROOT_PATH."public/".$dir, 0777); 
  156.     } 
  157.     return $dir
  158.   } 
  159.   /** 
  160.    * 保存文件 
  161.    * @param string $source 源文件路徑 
  162.    * @param string $target 目錄文件路徑 
  163.    * @return bool 
  164.    */ 
  165.   private function saveFile($source$target
  166.   { 
  167.     if(!es_imagecls::isUploadFile($source)) 
  168.       $succeed = false; 
  169.     elseif(@copy($source$target)) 
  170.       $succeed = true; 
  171.     elseif(function_exists('move_uploaded_file') && @move_uploaded_file($source$target)) 
  172.       $succeed = true; 
  173.     elseif (@is_readable($source) && (@$fp_s = fopen($source'rb')) && (@$fp_t = fopen($target'wb'))) 
  174.     { 
  175.       while (!feof($fp_s)) 
  176.       { 
  177.         $s = @fread($fp_s, 1024 * 512); 
  178.         @fwrite($fp_t$s); 
  179.       } 
  180.       fclose($fp_s); 
  181.       fclose($fp_t); 
  182.       $succeed = true; 
  183.     } 
  184.     if($succeed
  185.     { 
  186.       $this->error_code = 0; 
  187.       @chmod($target, 0644); 
  188.       @unlink($source); 
  189.     } 
  190.     else 
  191.     { 
  192.       $this->error_code = 0; 
  193.     } 
  194.     return $succeed
  195.   } 
  196.   public function thumb($image,$maxWidth=200,$maxHeight=50,$gen = 0,$interlace=true,$filepath = '',$is_preview = true) 
  197.   { 
  198.     $info = es_imagecls::getImageInfo($image); 
  199.     if($info !== false) 
  200.     { 
  201.       $srcWidth = $info[0]; 
  202.       $srcHeight = $info[1]; 
  203.       $type = $info['type']; 
  204.       $interlace = $interlace? 1:0; 
  205.       unset($info); 
  206.       if($maxWidth > 0 && $maxHeight > 0) 
  207.         $scale = min($maxWidth/$srcWidth$maxHeight/$srcHeight); // 計(jì)算縮放比例 
  208.       elseif($maxWidth == 0) 
  209.         $scale = $maxHeight/$srcHeight
  210.       elseif($maxHeight == 0) 
  211.         $scale = $maxWidth/$srcWidth
  212.       $paths = pathinfo($image); 
  213.       $paths['filename'] = trim(strtolower($paths['basename']),".".strtolower($paths['extension'])); 
  214.       $basefilename = explode("_",$paths['filename']); 
  215.       $basefilename = $basefilename[0]; 
  216.       if(emptyempty($filepath)) 
  217.       { 
  218.         if($is_preview
  219.         $thumbname = $paths['dirname'].'/'.$basefilename.'_'.$maxWidth.'x'.$maxHeight.'.jpg'
  220.         else 
  221.         $thumbname = $paths['dirname'].'/'.$basefilename.'o_'.$maxWidth.'x'.$maxHeight.'.jpg'
  222.       } 
  223.       else 
  224.         $thumbname = $filepath
  225.       $thumburl = str_replace(APP_ROOT_PATH,'./',$thumbname); 
  226.       if($scale >= 1) 
  227.       { 
  228.         // 超過(guò)原圖大小不再縮略 
  229.         $width  = $srcWidth
  230.         $height = $srcHeight;     
  231.         if(!$is_preview
  232.         {    
  233.           //非預(yù)覽模式寫入原圖 
  234.           file_put_contents($thumbname,file_get_contents($image));  //用原圖寫入       
  235.           return array('url'=>$thumburl,'path'=>$thumbname); 
  236.         } 
  237.       } 
  238.       else 
  239.       { 
  240.         // 縮略圖尺寸 
  241.         $width = (int)($srcWidth*$scale); 
  242.         $height = (int)($srcHeight*$scale); 
  243.       }    
  244.       if($gen == 1) 
  245.       { 
  246.         $width = $maxWidth
  247.         $height = $maxHeight
  248.       } 
  249.       // 載入原圖 
  250.       $createFun = 'imagecreatefrom'.($type=='jpg'?'jpeg':$type); 
  251.       if(!function_exists($createFun)) 
  252.         $createFun = 'imagecreatefromjpeg'
  253.       $srcImg = $createFun($image); 
  254.       //創(chuàng)建縮略圖 
  255.       if($type!='gif' && function_exists('imagecreatetruecolor')) 
  256.         $thumbImg = imagecreatetruecolor($width$height); 
  257.       else 
  258.         $thumbImg = imagecreate($width$height); 
  259.       $x = 0; 
  260.       $y = 0; 
  261.       if($gen == 1 && $maxWidth > 0 && $maxHeight > 0) 
  262.       { 
  263.         $resize_ratio = $maxWidth/$maxHeight
  264.         $src_ratio = $srcWidth/$srcHeight
  265.         if($src_ratio >= $resize_ratio
  266.         { 
  267.           $x = ($srcWidth - ($resize_ratio * $srcHeight)) / 2; 
  268.           $width = ($height * $srcWidth) / $srcHeight
  269.         } 
  270.         else 
  271.         { 
  272.           $y = ($srcHeight - ( (1 / $resize_ratio) * $srcWidth)) / 2; 
  273.           $height = ($width * $srcHeight) / $srcWidth
  274.         } 
  275.       } 
  276.       // 復(fù)制圖片 
  277.       if(function_exists("imagecopyresampled")) 
  278.         imagecopyresampled($thumbImg$srcImg, 0, 0, $x$y$width$height$srcWidth,$srcHeight); 
  279.       else 
  280.         imagecopyresized($thumbImg$srcImg, 0, 0, $x$y$width$height$srcWidth,$srcHeight); 
  281.       if('gif'==$type || 'png'==$type) { 
  282.         $background_color = imagecolorallocate($thumbImg, 0,255,0); // 指派一個(gè)綠色 
  283.         imagecolortransparent($thumbImg,$background_color); // 設(shè)置為透明色,若注釋掉該行則輸出綠色的圖 
  284.       } 
  285.       // 對(duì)jpeg圖形設(shè)置隔行掃描 
  286.       if('jpg'==$type || 'jpeg'==$type
  287.         imageinterlace($thumbImg,$interlace); 
  288.       // 生成圖片 
  289.       imagejpeg($thumbImg,$thumbname,100); 
  290.       imagedestroy($thumbImg); 
  291.       imagedestroy($srcImg); 
  292.       return array('url'=>$thumburl,'path'=>$thumbname); 
  293.      } 
  294.      return false; 
  295.   } 
  296.   public function make_thumb($srcImg,$srcWidth,$srcHeight,$type,$maxWidth=200,$maxHeight=50,$gen = 0) 
  297.   { 
  298.       $interlace = $interlace? 1:0; 
  299.       if($maxWidth > 0 && $maxHeight > 0) 
  300.         $scale = min($maxWidth/$srcWidth$maxHeight/$srcHeight); // 計(jì)算縮放比例 
  301.       elseif($maxWidth == 0) 
  302.         $scale = $maxHeight/$srcHeight
  303.       elseif($maxHeight == 0) 
  304.         $scale = $maxWidth/$srcWidth
  305.       if($scale >= 1) 
  306.       { 
  307.         // 超過(guò)原圖大小不再縮略 
  308.         $width  = $srcWidth
  309.         $height = $srcHeight
  310.       } 
  311.       else 
  312.       { 
  313.         // 縮略圖尺寸 
  314.         $width = (int)($srcWidth*$scale); 
  315.         $height = (int)($srcHeight*$scale); 
  316.       } 
  317.       if($gen == 1) 
  318.       { 
  319.         $width = $maxWidth
  320.         $height = $maxHeight
  321.       } 
  322.       //創(chuàng)建縮略圖 
  323.       if($type!='gif' && function_exists('imagecreatetruecolor')) 
  324.         $thumbImg = imagecreatetruecolor($width$height); 
  325.       else 
  326.         $thumbImg = imagecreatetruecolor($width$height); 
  327.       $x = 0; 
  328.       $y = 0; 
  329.       if($gen == 1 && $maxWidth > 0 && $maxHeight > 0) 
  330.       { 
  331.         $resize_ratio = $maxWidth/$maxHeight
  332.         $src_ratio = $srcWidth/$srcHeight
  333.         if($src_ratio >= $resize_ratio
  334.         { 
  335.           $x = ($srcWidth - ($resize_ratio * $srcHeight)) / 2; 
  336.           $width = ($height * $srcWidth) / $srcHeight
  337.         } 
  338.         else 
  339.         { 
  340.           $y = ($srcHeight - ( (1 / $resize_ratio) * $srcWidth)) / 2; 
  341.           $height = ($width * $srcHeight) / $srcWidth
  342.         } 
  343.       } 
  344.       // 復(fù)制圖片 
  345.       if(function_exists("imagecopyresampled")) 
  346.         imagecopyresampled($thumbImg$srcImg, 0, 0, $x$y$width$height$srcWidth,$srcHeight); 
  347.       else 
  348.         imagecopyresized($thumbImg$srcImg, 0, 0, $x$y$width$height$srcWidth,$srcHeight); 
  349.       if('gif'==$type || 'png'==$type) { 
  350.         $background_color = imagecolorallocate($thumbImg, 255,255,255); // 指派一個(gè)綠色 
  351.         imagecolortransparent($thumbImg,$background_color); // 設(shè)置為透明色,若注釋掉該行則輸出綠色的圖 
  352.       } 
  353.       // 對(duì)jpeg圖形設(shè)置隔行掃描 
  354.       if('jpg'==$type || 'jpeg'==$type
  355.         imageinterlace($thumbImg,$interlace); 
  356.       return $thumbImg
  357.   } 
  358.   public function water($source,$water,$alpha=80,$position="0"
  359.   { 
  360.     //檢查文件是否存在 
  361.     if(!file_exists($source)||!file_exists($water)) 
  362.       return false; 
  363.     //圖片信息 
  364.     $sInfo = es_imagecls::getImageInfo($source); 
  365.     $wInfo = es_imagecls::getImageInfo($water); 
  366.     //如果圖片小于水印圖片,不生成圖片 
  367.     if($sInfo["0"] < $wInfo["0"] || $sInfo['1'] < $wInfo['1']) 
  368.       return false; 
  369.     if(is_animated_gif($source)) 
  370.     { 
  371.       require_once APP_ROOT_PATH."system/utils/gif_encoder.php"
  372.       require_once APP_ROOT_PATH."system/utils/gif_reader.php"
  373.       $gif = new GIFReader(); 
  374.       $gif->load($source); 
  375.       foreach($gif->IMGS['frames'as $k=>$img
  376.       { 
  377.         $im = imagecreatefromstring($gif->getgif($k));    
  378.         //為im加水印 
  379.         $sImage=$im;     
  380.         $wCreateFun="imagecreatefrom".$wInfo['type']; 
  381.         if(!function_exists($wCreateFun)) 
  382.           $wCreateFun = 'imagecreatefromjpeg'
  383.         $wImage=$wCreateFun($water); 
  384.         //設(shè)定圖像的混色模式 
  385.         imagealphablending($wImage, true);    
  386.         switch (intval($position)) 
  387.         { 
  388.           case 0: break
  389.           //左上 
  390.           case 1: 
  391.             $posY=0; 
  392.             $posX=0; 
  393.             //生成混合圖像 
  394.             imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  395.             break
  396.           //右上 
  397.           case 2: 
  398.             $posY=0; 
  399.             $posX=$sInfo[0]-$wInfo[0]; 
  400.             //生成混合圖像 
  401.             imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  402.             break
  403.           //左下 
  404.           case 3: 
  405.             $posY=$sInfo[1]-$wInfo[1]; 
  406.             $posX=0; 
  407.             //生成混合圖像 
  408.             imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  409.             break
  410.           //右下 
  411.           case 4: 
  412.             $posY=$sInfo[1]-$wInfo[1]; 
  413.             $posX=$sInfo[0]-$wInfo[0]; 
  414.             //生成混合圖像 
  415.             imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  416.             break
  417.           //居中 
  418.           case 5: 
  419.             $posY=$sInfo[1]/2-$wInfo[1]/2; 
  420.             $posX=$sInfo[0]/2-$wInfo[0]/2; 
  421.             //生成混合圖像 
  422.             imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  423.             break
  424.         } 
  425.         //end im加水印 
  426.         ob_start(); 
  427.         imagegif($sImage); 
  428.         $content = ob_get_contents(); 
  429.         ob_end_clean(); 
  430.         $frames [ ] = $content
  431.         $framed [ ] = $img['frameDelay']; 
  432.       } 
  433.       $gif_maker = new GIFEncoder ( 
  434.           $frames
  435.           $framed
  436.           0, 
  437.           2, 
  438.           0, 0, 0, 
  439.           "bin"  //bin為二進(jìn)制  url為地址 
  440.        ); 
  441.       $image_rs = $gif_maker->GetAnimation ( ); 
  442.       //如果沒(méi)有給出保存文件名,默認(rèn)為原圖像名 
  443.       @unlink($source); 
  444.       //保存圖像 
  445.       file_put_contents($source,$image_rs); 
  446.       return true; 
  447.     }  
  448.     //建立圖像 
  449.     $sCreateFun="imagecreatefrom".$sInfo['type']; 
  450.     if(!function_exists($sCreateFun)) 
  451.       $sCreateFun = 'imagecreatefromjpeg'
  452.     $sImage=$sCreateFun($source); 
  453.     $wCreateFun="imagecreatefrom".$wInfo['type']; 
  454.     if(!function_exists($wCreateFun)) 
  455.       $wCreateFun = 'imagecreatefromjpeg'
  456.     $wImage=$wCreateFun($water); 
  457.     //設(shè)定圖像的混色模式 
  458.     imagealphablending($wImage, true); 
  459.     switch (intval($position)) 
  460.     { 
  461.       case 0: break
  462.       //左上 
  463.       case 1: 
  464.         $posY=0; 
  465.         $posX=0; 
  466.         //生成混合圖像 
  467.         imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  468.         break
  469.       //右上 
  470.       case 2: 
  471.         $posY=0; 
  472.         $posX=$sInfo[0]-$wInfo[0]; 
  473.         //生成混合圖像 
  474.         imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  475.         break
  476.       //左下 
  477.       case 3: 
  478.         $posY=$sInfo[1]-$wInfo[1]; 
  479.         $posX=0; 
  480.         //生成混合圖像 
  481.         imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  482.         break
  483.       //右下 
  484.       case 4: 
  485.         $posY=$sInfo[1]-$wInfo[1]; 
  486.         $posX=$sInfo[0]-$wInfo[0]; 
  487.         //生成混合圖像 
  488.         imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  489.         break
  490.       //居中 
  491.       case 5: 
  492.         $posY=$sInfo[1]/2-$wInfo[1]/2; 
  493.         $posX=$sInfo[0]/2-$wInfo[0]/2; 
  494.         //生成混合圖像 
  495.         imagecopymerge($sImage$wImage$posX$posY, 0, 0, $wInfo[0],$wInfo[1],$alpha); 
  496.         break
  497.     } 
  498.     //如果沒(méi)有給出保存文件名,默認(rèn)為原圖像名 
  499.     @unlink($source); 
  500.     //保存圖像 
  501.     imagejpeg($sImage,$source,100); 
  502.     imagedestroy($sImage); 
  503.   } 
  504. if(!function_exists('image_type_to_extension')) 
  505.   function image_type_to_extension($imagetype
  506.   { 
  507.     if(emptyempty($imagetype)) 
  508.       return false; 
  509.     switch($imagetype
  510.     { 
  511.       case IMAGETYPE_GIF  : return '.gif'
  512.       case IMAGETYPE_JPEG  : return '.jpeg'
  513.       case IMAGETYPE_PNG  : return '.png'
  514.       case IMAGETYPE_SWF  : return '.swf'
  515.       case IMAGETYPE_PSD  : return '.psd'
  516.       case IMAGETYPE_BMP  : return '.bmp'
  517.       case IMAGETYPE_TIFF_II : return '.tiff'
  518.       case IMAGETYPE_TIFF_MM : return '.tiff'
  519.       case IMAGETYPE_JPC  : return '.jpc'
  520.       case IMAGETYPE_JP2  : return '.jp2'
  521.       case IMAGETYPE_JPX  : return '.jpf'
  522.       case IMAGETYPE_JB2  : return '.jb2'
  523.       case IMAGETYPE_SWC  : return '.swc'
  524.       case IMAGETYPE_IFF  : return '.aiff'
  525.       case IMAGETYPE_WBMP  : return '.wbmp'
  526.       case IMAGETYPE_XBM  : return '.xbm'
  527.       default        : return false; 
  528.     } 
  529.   } 
  530. ?> 

2.get_spec_img()調(diào)用圖片類,然后再用下面的方法保存不同規(guī)格的圖片并返回圖片連接

  1. //獲取相應(yīng)規(guī)格的圖片地址  
  2. //gen=0:保持比例縮放,不剪裁,如高為0,則保證寬度按比例縮放 gen=1:保證長(zhǎng)寬,剪裁  
  3. function get_spec_image($img_path,$width=0,$height=0,$gen=0,$is_preview=true)  
  4. {  
  5.   if($width==0)  
  6.     $new_path = $img_path;  
  7.   else 
  8.   {  
  9.     $img_name = substr($img_path,0,-4);  
  10.     $img_ext = substr($img_path,-3);    
  11.     if($is_preview)  
  12.     $new_path = $img_name."_".$width."x".$height.".jpg";    
  13.     else 
  14.     $new_path = $img_name."o_".$width."x".$height.".jpg";   
  15.     if(!file_exists($new_path))  
  16.     {  
  17.       require_once "imagecls.php";  
  18.       $imagec = new imagecls();  
  19.       $thumb = $imagec->thumb($img_path,$width,$height,$gen,true,"",$is_preview);  
  20.       if(app_conf("PUBLIC_DOMAIN_ROOT")!='')  
  21.       {  
  22.         $paths = pathinfo($new_path);  
  23.         $path = str_replace("./","",$paths['dirname']);  
  24.         $filename = $paths['basename'];  
  25.         $pathwithoupublic = str_replace("public/","",$path);  
  26.             $file_data = @file_get_contents($path.$file);  
  27.             $img = @imagecreatefromstring($file_data);  
  28.             if($img!==false)  
  29.             {  
  30.               $save_path = "public/".$path;  
  31.               if(!is_dir($save_path))  
  32.               {  
  33.                 @mk_dir($save_path);        
  34.               }  
  35.               @file_put_contents($save_path.$name,$file_data);  
  36.             }  
  37.       }  
  38.     }  
  39.   }  
  40.   return $new_path;  

3.使用方法:

  1. //im:將店鋪圖片保存為3種規(guī)格:小圖:48x48,中圖120x120,大圖200x200 
  2. $small_url=get_spec_image($data['image'],48,48,0); 
  3. $<span id="result_box" class="short_text" lang="en"><span>middle_url</span></span>=get_spec_image($data['image'],120,120,0); 
  4. $big_url=get_spec_image($data['image'],200,200,0); 

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

分享:PHP連接操作access數(shù)據(jù)庫(kù)實(shí)例
這篇文章主要介紹了PHP連接操作access數(shù)據(jù)庫(kù)實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下 因?yàn)橹白龅腜ingSwitch要做一個(gè)WEB展示的前端,因?yàn)橐婚_(kāi)始用了Delphi和access的結(jié)構(gòu),而Delphi與MySQL的連接又相對(duì)麻煩,最后只能選擇用PHP+Access的組合,比較奇怪,但是

來(lái)源:模板無(wú)憂//所屬分類:PHP教程/更新時(shí)間:2015-04-01
相關(guān)PHP教程
国产精品久久久久久久久动漫| 殴美一级特黄aaaaaa| 欧美国产极速在线| 国产精品亚洲欧美在线播放| 亚洲最大福利视频| 丰满白嫩尤物一区二区| 免费看国产一级片| 欧美视频完全免费看| 精品人妻无码一区二区三区| 深夜成人在线观看| 成人激情四射网| 免费在线观看91| 国产精品对白交换视频 | 波多野结衣与黑人| 亚洲成人你懂的| 成人免费毛片糖心| 蜜臀久久99精品久久久久久宅男| 亚洲精选一区二区三区| 日韩中文一区二区三区| 亚洲精品国产a| 成人免费无遮挡无码黄漫视频| 日韩在线视频一区| 亚洲人午夜射精精品日韩| 中文字幕一区二区三区四区五区 | 肉色丝袜一区二区| 中文字幕一区二区三区在线乱码| 少妇性l交大片| 国产精品一级黄| 国产96在线 | 亚洲| 欧美日韩一区二区三区在线看| 亚洲av无码一区二区三区在线| 日韩免费观看高清| 不卡一区中文字幕| 欧美成人手机在线视频| 中文国产亚洲喷潮| 亚洲色大成网站www| 久久亚洲a v| 7777精品久久久大香线蕉 | 亚洲天堂国产精品| 欧美日韩一区二区三区在线观看免| 一区二区三区欧美激情| 久久久国产一级片| 国产美女久久精品| 国产精品麻豆视频| 免费看黄色的视频| 国产不卡av在线免费观看| 99在线精品一区二区三区| 超碰91在线播放| 久久69精品久久久久久久电影好| 国内精品视频一区二区三区八戒| 亚洲精品视频导航| 久久精品国产久精国产一老狼| 蜜臀va亚洲va欧美va天堂| 91免费视频网站在线观看| 国产视频欧美视频| 日韩高清中文字幕一区| 国产精品69页| 丝袜一区二区三区| 国产精品正在播放| 国产国语老龄妇女a片| 91国语精品自产拍在线观看性色 | 瑟瑟视频在线免费观看| 亚洲春色在线| 日韩欧美久久久| 精品人妻伦一区二区三区久久| 91国在线高清视频| 亚洲国产精品va在线| 污污的视频网站在线观看| av动漫免费看| 欧美老少做受xxxx高潮| av在线播放不卡| 亚洲а∨天堂久久精品2021| 91亚洲精品一区| 狠狠躁18三区二区一区| 中文字幕在线观看欧美| 800av在线免费观看| 亚洲欧洲黄色网| 国产一区二区伦理| 国产伦精品一区二区三区妓女 | 少妇特黄一区二区三区| 国产精品美女无圣光视频| 亚洲欧美日本韩国| 欧美brazzers| 丰满少妇大力进入| 久久的精品视频| 久久先锋影音av| 欧美精品乱码视频一二专区| 欧美日韩国产免费一区二区三区 | 欧美男女交配视频| 久久琪琪电影院| 亚洲视频小说图片| 无码人妻一区二区三区免费| 欧美视频免费看欧美视频| 日韩中文在线观看| 日韩字幕在线观看| 日本久久久久久久久久久| 国产精品自产拍在线观| 国产另类第一区| 久久久久久久久久久综合| 亚洲av色香蕉一区二区三区| 欧美精品一区二区高清在线观看| 日本不卡在线观看视频| 国产男女裸体做爰爽爽| 亚洲国产欧美一区| 日本在线观看一区二区| 欧美性猛交乱大交| 熟女av一区二区| 亚洲成a人片在线| 日本一区二区三级电影在线观看 | www.99热| 国产精品久久久久aaaa樱花| 日韩欧美一卡二卡| 国产精品日韩在线一区| 天天干天天玩天天操| av在线网站观看| 精品在线视频免费| 国产精品久久久久一区 | 97色在线视频| 中文字幕第100页| 国产日韩欧美高清在线| 国产精品视频免费一区| 国产精品午夜一区二区| 欧美一区二区免费观在线| 国产精品专区h在线观看| 欧美午夜性视频| 国产一级淫片a| 欧美午夜电影网| 国产精品日本一区二区| 一区二区成人免费视频| 日本美女一级片| 69久久99精品久久久久婷婷| 91久久综合亚洲鲁鲁五月天| 91久久国产精品91久久性色| 视频一区不卡| 91n在线视频| 亚洲最新在线观看| 国产在线一区二区三区播放| 一区二区三区免费在线观看视频| 99精品在线视频观看| 欧美日韩综合视频网址| 日韩av电影在线免费播放| 99热成人精品热久久66| 天天操天天射天天舔| 欧美挠脚心视频网站| 97久久超碰福利国产精品…| 免费高清视频在线观看| 国产男女无套免费网站| 欧美丝袜自拍制服另类| 99久久99久久精品| 亚洲人成精品久久久久| 国产伦精品一区二区三区免| 精品无码人妻少妇久久久久久| 老司机免费视频久久| 麻豆乱码国产一区二区三区| 色网站在线播放| 久久亚洲精品一区| 日韩欧美123区| 精品免费视频一区二区| 日本xxxx黄色| 免播放器亚洲一区| 日韩午夜三级在线| 成品人视频ww入口| 国产精品成人久久久| 色综合一区二区| 51国偷自产一区二区三区的来源| 一区视频免费观看| 成人免费视频免费观看| 亚洲国产三级网| 精品久久久噜噜噜噜久久图片| 久久久欧美精品sm网站| 国产精品久久久久久久久久新婚 | 一区二区三区鲁丝不卡| 日韩视频免费在线| 黄色三级视频在线| 91在线小视频| 精品久久久久久乱码天堂| 丰满人妻中伦妇伦精品app| 日韩av一级片| 91chinesevideo永久地址| chinese麻豆新拍video| 欧美国产丝袜视频| 免费看污污视频| 亚洲高清免费观看| 韩国一区二区三区四区| 亚洲精品一区在线观看香蕉| www.麻豆av| 成人久久一区二区| 日韩国产精品久久久| 国产精品久久久久久久一区探花| 手机在线中文字幕| 欧美日本高清视频在线观看| 日本精品久久久久久久久久| 性色av蜜臀av| 国产精品久久久久久久久免费| 日韩精品一区三区| 亚洲电影免费观看高清完整版在线| 99久热在线精品视频| 久久精品五月天| 亚洲国产精品一区二区三区| 一区二区三区四区五区| 久久久久久久久久久成人| 国产乱了高清露脸对白| 一片黄亚洲嫩模| 99热这里只有精品7| 久久99精品久久久久久国产越南 | hitomi一区二区三区精品| 国产在线一区二区三区| 国产美女明星三级做爰| 韩国欧美亚洲国产| 中文在线观看av| 国产视频久久久久久久| 四虎永久免费观看| 制服视频三区第一页精品| 在线视频观看一区二区| 91在线观看一区二区| 精品伦精品一区二区三区视频 | 中文字幕欧美日韩va免费视频| 污网站在线免费| 欧美中文字幕不卡| 91理论片午午论夜理片久久| 亚洲av无码不卡| 日本高清无吗v一区| 亚洲综合激情五月| 在线观看一区日韩| 国产性70yerg老太| 成年人精品视频| 中文字幕一二三四| 国产成人久久精品| 欧美性受xxxxxx黑人xyx性爽| 婷婷成人激情在线网| 国偷自产av一区二区三区小尤奈| 亚洲精品久久久久久无码色欲四季 | jizz日本在线播放| 在线观看国产日韩| 国产xxxx振车| 国产一区二区三区高清播放| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 国产精品亚洲无码| 精品av久久707| 亚洲不卡在线播放| 91av视频在线观看| 日日躁夜夜躁白天躁晚上躁91| 在线电影中文日韩| 欧美日韩精品一区二区三区视频播放| 精品处破学生在线二十三| 久操免费在线视频| 九九热久久66| 在线区一区二视频| 538任你躁在线精品视频网站| 国产熟女一区二区三区四区| 亚洲激情图片| 国产精品99久久久久久似苏梦涵| 国产成人精品在线视频| 手机看片福利在线| 国产中文字幕二区| 日韩亚洲欧美在线| 欧美男人亚洲天堂| 欧美日韩精品中文字幕一区二区| 亚洲久本草在线中文字幕| 欧美xxxx精品| 欧美成人激情视频| 人妻中文字幕一区二区三区| 成人网中文字幕| 不卡一二三区首页| www.亚洲高清| 亚洲国产成人av| 久久精品视频91| 亚洲国产视频在线| 日本妇女毛茸茸| 444亚洲人体| 亚洲女爱视频在线| 日本免费www| 91精品国产777在线观看| 国产激情精品久久久第一区二区| 欧美最猛性xxxx| 成人小视频在线观看| 中文字幕在线观看网址| 蜜臀久久99精品久久久无需会员| 免费不卡在线视频| 中文字幕制服丝袜| 国产欧美精品在线| 丁香桃色午夜亚洲一区二区三区| 久久久久久久久久久久久国产| 91精品国产入口| 久久精品无码人妻| 成人综合色站| 麻豆成人久久精品二区三区小说| 日本丰满少妇黄大片在线观看| 午夜精品aaa| 国产精品传媒在线观看| 91小视频网站| 91久久极品少妇xxxxⅹ软件| 亚洲欧美自拍偷拍色图| 欧美成人一二三区| 亚洲一区二区三区加勒比| 欧美日韩亚洲91| 漂亮人妻被黑人久久精品| 国产一区欧美二区三区| 91久久久免费一区二区| 日本精品999| 欧美日韩中文字幕视频| 国产va亚洲va在线va| 国产成人短视频| 欧美精品一区二区三区高清aⅴ| 91免费国产在线观看| 999视频在线| 大桥未久一区二区| 夜夜躁日日躁狠狠久久88av| 毛片不卡一区二区| 国产又粗又长又爽又黄的视频| 欧美尤物巨大精品爽| 成人av网站大全| 欧美国产日韩综合| 国产美女精品在线观看| 亚洲三级久久久| 成人性视频免费看| 精品免费二区三区三区高中清不卡 | 日韩中文字幕亚洲一区二区va在线| 91视频福利网| 3d动漫啪啪精品一区二区免费| 成人黄色在线视频| 国产精彩视频在线| 成人免费观看在线| 九九热这里只有精品6| 国产精品家庭影院| 夜夜爽妓女8888视频免费观看| 国产精品成久久久久三级| 欧美日韩一级大片网址| 久久国产人妖系列| 久久久久无码精品国产sm果冻 | 超碰在线人人干| 久久福利一区二区| 在线一区二区日韩| 26uuu亚洲| 日本中文字幕免费在线观看| 欧美自拍资源在线| 91精品国产综合久久国产大片| 天堂中文在线看| 激情av中文字幕| 国产日韩av高清| 亚洲精品按摩视频| 欧美日精品一区视频| 欧美色欧美亚洲高清在线视频| 亚洲免费av观看| 久久99精品国产91久久来源| 国产白浆在线观看| 人妻 日韩精品 中文字幕| 人人妻人人澡人人爽| 亚洲一二三区av| 免费国产在线精品一区二区三区| 亚洲欧美日韩综合| 亚洲国产精品传媒在线观看| 人禽交欧美网站| 久久发布国产伦子伦精品| 亚洲综合社区网| 精品国产一二三| 播五月开心婷婷综合| 殴美一级特黄aaaaaa| 国产综合精品在线| 国产自产在线视频一区| 欧美成人伊人久久综合网| 国产精品系列在线播放| 紧身裙女教师波多野结衣| 欧美日韩激情视频在线观看| 68精品国产免费久久久久久婷婷| 亚洲乱码国产乱码精品精的特点 | 丰满少妇中文字幕| 国产精品九九久久久久久久| 日韩一区二区三区视频在线 | 中文字幕日韩一区二区三区不卡| 久久久久久国产免费| 欧美色网站导航| 97久久精品人人做人人爽50路| 亚洲欧洲国产综合| 先锋影音av在线| 亚洲国产精品无码av| 国产精品久久久久久久天堂| 一本一本久久a久久精品牛牛影视 一本色道久久综合亚洲精品小说 一本色道久久综合狠狠躁篇怎么玩 | 男人的天堂最新网址| 国产免费久久av| 日日狠狠久久偷偷四色综合免费| 色综合久久99| 中文字幕av一区二区三区| 久久三级福利| 国产一级视频在线| 无码国产69精品久久久久同性| 男人的天堂影院| 国产 欧美 日本| 成人免费福利视频| 国产亚洲精品美女| 狠狠干狠狠久久| 国精品**一区二区三区在线蜜桃| 成 人 黄 色 片 在线播放| 日本一本在线观看| 国产亚洲欧美精品久久久久久| 亚洲女人久久久| xxxxx在线观看| 亚洲欧美国产日韩综合| 午夜精品一区二区在线观看的| 91精品久久久久久| 国产精品视频中文字幕91| 久久久久亚洲精品| 操日韩av在线电影| 日韩国产欧美精品在线| 国产精品黄色在线观看| 成人高清视频在线| 国产高清精品网站| 国产成人免费网站| 成人免费毛片片v| 国产清纯白嫩初高生在线观看91 |