欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

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

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

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

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

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

圖片處理類.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.    * 錯誤代碼 
  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'//相對 
  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.    * 獲取錯誤代碼 
  88.    * @return number 
  89.    */ 
  90.   function error() 
  91.   { 
  92.     return $this->error_code; 
  93.   } 
  94.   /** 
  95.    * 獲取文件擴展名 
  96.    * @return string 
  97.    */ 
  98.   function fileExt($file_name
  99.   { 
  100.     return addslashes(strtolower(substr(strrchr($file_name'.'), 1, 10))); 
  101.   } 
  102.   /** 
  103.    * 根據擴展名判斷文件是否為圖像 
  104.    * @param string $ext 擴展名 
  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); // 計算縮放比例 
  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.         // 超過原圖大小不再縮略 
  229.         $width  = $srcWidth
  230.         $height = $srcHeight;     
  231.         if(!$is_preview
  232.         {    
  233.           //非預覽模式寫入原圖 
  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.       //創建縮略圖 
  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.       // 復制圖片 
  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); // 指派一個綠色 
  283.         imagecolortransparent($thumbImg,$background_color); // 設置為透明色,若注釋掉該行則輸出綠色的圖 
  284.       } 
  285.       // 對jpeg圖形設置隔行掃描 
  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); // 計算縮放比例 
  301.       elseif($maxWidth == 0) 
  302.         $scale = $maxHeight/$srcHeight
  303.       elseif($maxHeight == 0) 
  304.         $scale = $maxWidth/$srcWidth
  305.       if($scale >= 1) 
  306.       { 
  307.         // 超過原圖大小不再縮略 
  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.       //創建縮略圖 
  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.       // 復制圖片 
  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); // 指派一個綠色 
  351.         imagecolortransparent($thumbImg,$background_color); // 設置為透明色,若注釋掉該行則輸出綠色的圖 
  352.       } 
  353.       // 對jpeg圖形設置隔行掃描 
  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.         //設定圖像的混色模式 
  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為二進制  url為地址 
  440.        ); 
  441.       $image_rs = $gif_maker->GetAnimation ( ); 
  442.       //如果沒有給出保存文件名,默認為原圖像名 
  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.     //設定圖像的混色模式 
  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.     //如果沒有給出保存文件名,默認為原圖像名 
  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()調用圖片類,然后再用下面的方法保存不同規格的圖片并返回圖片連接

  1. //獲取相應規格的圖片地址  
  2. //gen=0:保持比例縮放,不剪裁,如高為0,則保證寬度按比例縮放 gen=1:保證長寬,剪裁  
  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種規格:小圖: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); 

希望本文所述對大家的php程序設計有所幫助。

分享:PHP連接操作access數據庫實例
這篇文章主要介紹了PHP連接操作access數據庫實例,本文直接給出實現代碼,需要的朋友可以參考下 因為之前做的PingSwitch要做一個WEB展示的前端,因為一開始用了Delphi和access的結構,而Delphi與MySQL的連接又相對麻煩,最后只能選擇用PHP+Access的組合,比較奇怪,但是

來源:模板無憂//所屬分類:PHP教程/更新時間:2015-04-01
相關PHP教程
8090成年在线看片午夜| 成人av一区二区三区在线观看| 777午夜精品电影免费看| 亚洲天堂激情| 粉嫩老牛aⅴ一区二区三区| 日韩av手机在线| 精品久久久噜噜噜噜久久图片| 在线观看免费中文字幕| 欧美永久精品| 欧美视频一二三| 国产一区在线播放| 国产aⅴ爽av久久久久| 亚洲国产一二三区| 奇米在线7777在线精品| 日韩视频免费观看高清完整版 | 国产嫩bbwbbw高潮| 97色伦图片97综合影院| 香蕉影视欧美成人| 成人a在线观看| 男生裸体视频网站| 精品国产亚洲一区二区三区大结局| 丁香天五香天堂综合| 国产一区二区三区在线视频| 奇米777四色影视在线看| 久久青青草原亚洲av无码麻豆 | 日韩亚洲欧美中文三级| 日本在线高清视频一区| 欧美性x x x| 亚洲免费专区| 亚洲一区二区三区激情| 国产一区私人高清影院| 妺妺窝人体色WWW精品| 97久久综合区小说区图片区| 久久一留热品黄| 欧美激情精品久久久久久久变态 | 国产一区在线观看麻豆| 亚洲天堂免费在线| 青青青国产在线观看| 精品毛片在线观看| 日韩高清在线观看| 亚洲精品久久7777777| 久久久天堂国产精品| 神马久久久久久久| 欧美资源在线| 亚洲精品黄网在线观看| www.日本少妇| 国产后入清纯学生妹| 狠狠色综合播放一区二区| 日韩成人在线网站| 中文字幕精品一区日韩| av片免费观看| 免费在线亚洲欧美| 亚洲精品中文字| 成年人观看网站| 人妻视频一区二区三区| 国产精品影视网| 久久综合久久88| av在线免费看片| 成人精品动漫| 国产精品美女视频| 日韩在线观看成人| 亚洲日本在线看| 国产精品成人一区二区三区吃奶| 国产激情第一页| 国产不卡精品在线| 国产精品毛片a∨一区二区三区 | 香港三级韩国三级日本三级| 午夜精品久久久久久久96蜜桃| 国产麻豆欧美日韩一区| 九九热在线精品视频| 精品国产一二区| 久久99成人| 亚洲欧洲日韩一区二区三区| 国产精品v片在线观看不卡| 级毛片内射视频| 日韩综合精品| 久久久久久久黄色片| 久久性感美女视频| 欧美日本一道本在线视频| 伊人久久大香线蕉成人综合网 | 午夜毛片在线观看| 久久亚洲无码视频| 久久久久久毛片免费看| 舔着乳尖日韩一区| 精品日本一区二区三区| 日韩精品一区二区亚洲av观看| 久久av最新网址| 色偷偷888欧美精品久久久| 性猛交ⅹ×××乱大交| 97青娱国产盛宴精品视频| 欧美三级xxx| 欧美在线一区二区三区四区| 国产精品视频在线观看免费| av不卡一区二区三区| 国产成人一区二区| 欧美三级视频网站| 韩国亚洲精品| 一区二区av在线| 亚洲欧美日本一区二区三区| 成人av地址| 欧美亚洲一区二区在线观看| 在线综合视频网站| 在线免费日韩片| 国产精品久久精品日日| 动漫3d精品一区二区三区 | 亚洲精品视频在线观看免费视频| 先锋a资源在线看亚洲| 精品国产一区二区三区久久久狼| 中文字幕免费在线播放| 亚欧美无遮挡hd高清在线视频| 欧美精品久久99久久在免费线 | 国产精品无码自拍| 欧美日韩精品在线一区| 亚洲第一精品夜夜躁人人躁| 奇米影视四色在线| 看全色黄大色大片免费久久久| 精品久久久久久久久久| 日韩精品一区二区三区电影| av亚洲一区二区三区| 亚洲成年人影院| 欧美一区二区三区四区五区六区| 亚洲国产精品无码久久| 亚洲三级电影网站| 久久综合一区| 日本免费网站在线观看| 中文字幕第一区综合| 久久爱av电影| 肥臀熟女一区二区三区| 亚洲视频在线观看一区| 亚洲国产欧美不卡在线观看| 天天操天天插天天射| 亚洲色图丝袜美腿| 免费电影一区| 五月天激情开心网| 亚洲aⅴ怡春院| 777久久精品一区二区三区无码 | 欧美日韩一区在线观看视频| 成人av网站观看| 欧美肥妇bbwbbw| 男女激情视频一区| 国产成人啪精品视频免费网| 六月丁香婷婷综合| 97久久超碰国产精品| 热久久视久久精品18亚洲精品| 久久久久久久久久综合 | 久久精品亚洲国产| 天堂久久精品忘忧草| 亚洲男人影院| 国内精品久久久久| 日本三级欧美三级| 97精品国产97久久久久久久久久久久 | 国产3p在线播放| 成人自拍在线| 日韩免费一区二区三区在线播放| 国产一级片自拍| 成人嘿咻视频免费看| 一本色道久久88精品综合| av无码av天天av天天爽| 久久精品卡一| 国产91精品最新在线播放| 五月天婷婷久久| 91丨porny丨首页| 欧美日韩一区综合| 婷婷久久免费视频| 欧美日韩免费一区二区三区视频| 黄色永久免费网站| 雨宫琴音一区二区三区| 久久国产精品电影| 无码人妻丰满熟妇啪啪欧美| 美女性感视频久久| 91成人免费视频| 国产一区二区在线视频观看| 国产精品全国免费观看高清 | 波多野结衣在线一区| 久久影院理伦片| 欧美日韩视频免费观看| 777色狠狠一区二区三区| japan高清日本乱xxxxx| 亚洲电影av| 国产成人a亚洲精品| 亚洲综合五月天婷婷丁香| 亚洲女同ⅹxx女同tv| 成品人视频ww入口| 九九综合九九| 亚洲欧美日韩精品久久| 91视频福利网| 黄色一区二区三区四区| 91精品国产99| 无码人妻av免费一区二区三区 | 99热这里只有精品99| 亚洲成a人片综合在线| 97成人在线观看视频| 国产一区二区三区电影在线观看| 久久精品视频播放| 亚洲黄色小说图片| 久久久三级国产网站| 中文字幕在线乱| 国产96在线亚洲| 亚洲午夜av久久乱码| 欧美日韩亚洲国产另类| 久久久久久久久久看片| 50度灰在线观看| jiujiure精品视频播放| 欧美成人在线影院| 天堂网一区二区| 亚洲一区二区精品3399| 久草在在线视频| 在线播放不卡| 国产精品av电影| 成人无码一区二区三区| 欧美性受极品xxxx喷水| 国产精品日日摸夜夜爽| 九一九一国产精品| 欧美日韩精品免费在线观看视频| 国产精品视频一区视频二区| 亚洲欧美日韩一区二区在线 | 黄色av成人| 国产精品h片在线播放| 秋霞网一区二区| 欧美一区二区三区思思人| 亚洲 小说 欧美 激情 另类| 国产精品自拍av| 欧美三级电影在线播放| 精品欧美午夜寂寞影院| 欧美超级免费视 在线| 天堂网一区二区三区| 亚洲精品国产精品乱码不99| 欧美成人黄色网址| 久久亚洲图片| αv一区二区三区| 激情久久一区二区| 亚洲图片在区色| 日本中文字幕在线| 精品久久久视频| 中文字幕人妻熟女在线| 国产精一区二区三区| 爱爱爱视频网站| 国产欧美日韩| 欧美一级电影在线| 中文字幕在线直播| 日韩高清免费在线| 日产电影一区二区三区| 亚洲电影在线免费观看| 久久久久亚洲av片无码v| 男女男精品视频网| 亚洲精品乱码久久久久久蜜桃91 | 97超级碰碰| 日韩综合av| 久久精品国产精品亚洲| 夜夜躁狠狠躁日日躁av| 日本韩国一区二区| 久久久久久国产精品无码| 久久一二三国产| 777av视频| 欧美1区视频| 高清视频一区二区三区| 4438全国亚洲精品观看视频| 欧美激情国产日韩精品一区18| 国精产品一品二品国精品69xx| 亚洲精品在线免费观看视频| 日产欧产va高清| 亚洲国产精品天堂| 国产成人av无码精品| 91亚洲午夜精品久久久久久| www.日本三级| 亚洲欧洲视频| 欧美国产综合视频| 久久国产亚洲精品| 91亚色免费| 欧美日韩看看2015永久免费| 日韩av片电影专区| 深爱五月激情五月| 国产亚洲精品91在线| 国产尤物在线观看| 精品欧美一区二区久久| 可以免费在线观看的av| 欧洲精品视频在线观看| 91人妻一区二区三区蜜臀| 亚洲成人资源网| 精品少妇人妻一区二区黑料社区| 国产精品伦理在线| 亚洲最大视频网| 91免费国产在线| 手机免费av片| bt7086福利一区国产| 欧美一级在线看| 久久99国产精品成人| 国产天堂视频在线观看| 久久亚洲视频| 国产av熟女一区二区三区| 日韩精品成人一区二区三区| 一本一本a久久| 国产综合精品| 久久综合久久综合这里只有精品| 久久久久蜜桃| 国产精品一区视频网站| 农村少妇一区二区三区四区五区| 91精品国产91久久久久久| 日韩美女在线| 久久深夜福利免费观看| 精品国产伦一区二区三| 精品无码久久久久久国产| 国产精品熟女视频| 在线播放一区二区三区| 久久久久久久极品| 5566中文字幕一区二区电影| 日本视频在线观看免费| 91精品国产综合久久蜜臀| 99re国产在线| 日韩经典一区二区三区| 不卡视频在线播放| 日韩中文在线视频| 亚洲天堂一区二区| 国产+人+亚洲| 久久天堂久久| 国产精品午夜国产小视频| 一个色免费成人影院| 国产精品一区免费观看| 欧美激情视频一区二区三区在线播放 | 国产91在线播放精品| 97视频com| 亚洲国产aⅴ精品一区二区| 国产欧美在线视频| 国产精品一在线观看| 国产成人看片| 欧美精品日韩| 日本福利视频导航| 久久国产尿小便嘘嘘| 黄色一级免费大片| 99久久精品国产网站| 一本色道久久hezyo无码| 亚洲日本电影在线| 国产黄色网址在线观看| 欧美日韩国产页| 日韩美女视频网站| 亚洲精品一区二区三区影院| 不卡av中文字幕| 欧美日韩国产91| 久久久精品区| 国产精品亚洲美女av网站| 欧美日韩精品一区二区视频| 日本一区二区三区在线视频| 老司机午夜免费精品视频| 欧美aⅴ在线观看| 久久亚洲捆绑美女| aaaaa一级片| 在线观看一区不卡| 波多野结衣高清在线| 中文字幕日韩欧美| 天天综合91| 亚洲综合中文字幕在线观看| 欧美日韩精品| 免费观看中文字幕| 国产91精品入口| 91丨porny丨九色| 一区二区三区中文在线观看| 免费一级黄色大片| 亚洲精品久久久久久久久久久久久| 日韩在线视频第一页 | 日韩色性视频| 91精品久久久久| 亚洲欧美伊人| 欧美三级在线观看视频| 国产亚洲精品福利| 国产jk精品白丝av在线观看| 91黄色小视频| 中国精品一区二区| 久久久精品一区| 美女网站色精品尤物极品姐弟| 欧美极品一区| 精品无人码麻豆乱码1区2区 | 精品国产区一区| 都市激情亚洲一区| 国产日韩精品电影| 影视亚洲一区二区三区| 日韩视频免费播放| 国产拍揄自揄精品视频麻豆| av最新在线观看| 精品美女一区二区三区| 一区二区三区电影大全| 国产欧美一区二区三区四区| 精品白丝av| 我看黄色一级片| 一区二区国产视频| 久久夜色精品国产噜噜亚洲av| 久久精品成人欧美大片| 国产精品毛片久久久| 日韩欧美亚洲v片| 久草精品在线观看| 少妇精品一区二区| 7777精品伊人久久久大香线蕉超级流畅 | 日本一区二区三区四区高清视频| 国产精品18久久久久| 亚洲精品乱码久久久久久9色| 一本一道久久a久久精品| 99久久精品国产一区二区成人| 日韩av快播网址| 国内精品美女在线观看| 超碰在线97免费| 婷婷成人综合网|