示例#1
0
 /**
  * 
  * 根据模型,获取文件路径
  * @param unknown_type $model
  * @param unknown_type $path
  * @param unknown_type $isUploadPath
  * @param unknown_type $width
  */
 public function generateFileName($model, $path, $isUploadPath = true, $width = null)
 {
     $result = '';
     if ($isUploadPath) {
         $result = '.';
     }
     $result .= Yii::app()->params->uploadPath[$path];
     $result .= date('Y', $model->created) . '/' . date('m', $model->created) . '/' . date('d', $model->created) . '/';
     $result .= md5($model->name) . $model->created;
     if ($width) {
         $result .= '_';
     }
     $result .= $width . '.' . $model->ext;
     if (!is_dir(dirname($result))) {
         UtilHelper::createFolder(dirname($result));
     }
     return $result;
 }
示例#2
0
 public function generateUserAvatars($model, $size = 60, $path = 'avatar')
 {
     $origion = File::model()->generateFileName($model, $path, true);
     $src = File::model()->generateFileName($model, $path, true, 150);
     $des = File::model()->generateFileName($model, $path, true, $size);
     if (!file_exists($des)) {
         if (!is_dir(dirname($des))) {
             UtilHelper::createFolder(dirname($des));
         }
         if (file_exists($src)) {
             $t = new ThumbHandler();
             $t->setSrcImg($src);
             $t->setCutType(1);
             //指明为手工裁切
             //			    $t->setSrcCutPosition(100, 100);// 源图起点坐标
             $t->setRectangleCut($size, $size);
             // 裁切尺寸
             $t->setImgDisplayQuality(90);
             $t->setDstImg($des);
             $t->createImg(150, 150);
         } elseif (file_exists($origion)) {
             $t = new ThumbHandler();
             $t->setSrcImg($origion);
             $t->setCutType(2);
             $t->setSrcCutPosition(0, 0);
             $t->setRectangleCut($size, $size);
             $t->setImgDisplayQuality(90);
             $t->setDstImg($des);
             $width = $t->getSrcImgWidth();
             $height = $t->getSrcImgHeight();
             if ($width >= $height) {
                 $t->createImg($height, $height);
             } else {
                 $t->createImg($width, $width);
             }
         }
     }
 }