zoukankan      html  css  js  c++  java
  • [Yii Framework] A component for creating and getting the thumb image path

    There may be another good way to create and get the thumb image in Yii, here is my method to do it.

    1. You have to install this extension, "phpthumb", please search this extension in this website. :P

    2. Create a file named "ImageThumb.php", and locate it in protected/components , and insert the code as below:

    代码
    <?php
    /**
    */
    class ImageThumb extends CApplicationComponent
    {
    private $originalPath = "/upload/products/";
    private $thumbPath = "/upload/thumbs";

    public function createThumb($modelImage, $site="", $resizeW=100, $resizeH=100)
    {
    $oldImage = $modelImage;
    $modelImage = $this->_thumbName($modelImage, $site);
    $oldImageResite = $modelImage;

    if(!file_exists(Yii::getPathOfAlias("webroot").$this->originalPath.$oldImage))
    {
    $modelImage = "thumb.jpg";//You shall have a thumb.jpg image exists in path of $this->originalPath
    $oldImage = $modelImage;
    $modelImage = $this->_thumbName($modelImage, $site);
    $oldImageResite = $modelImage;
    }




    Yii
    ::app()->thumb->setThumbsDirectory($this->thumbPath);
    if(!file_exists(Yii::getPathOfAlias("webroot").$this->thumbPath.$oldImageResite))
    {
    Yii
    ::app()->thumb
    ->load(Yii::getPathOfAlias("webroot").$this->originalPath.$oldImage)
    ->resize($resizeW, $resizeH)
    ->save($modelImage, "JPG", "JPG");
    }
    return $modelImage;
    }




    private function _thumbName($modelImage, $site)
    {
    if(!empty($site))
    {
    $tem = explode(".", $modelImage);
    if(count($tem) > 1)
    $modelImage = $tem[0]."_".$site.".".$tem[1];//the file name starts with "m_", "s_", or null;
    }
    return $modelImage;
    }
    }

    3. Demo

    代码
    Yii::import("application.components.ImageThumb");
    $imageThumb = new ImageThumb();



    $imageOne
    = $imageThumb->createThumb("example.jpg", "", 580, 280);
    $imageTwo = $imageThumb->createThumb("example2.jpg", "s", 100, 70);


    Have fun with Yii. :)

  • 相关阅读:
    oracle 常用函数
    css 让div 置于最顶层而不被其他东西挡住
    hibernate学习
    css居中参考
    log4j 将日志文件输出到web-inf下的解决办法
    mybatis 传递多个值的解决办法
    web项目中的路径问题
    sring 监听器
    struts2返回json字符串
    java 需要看的书籍
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/1806818.html
Copyright © 2011-2022 走看看