function avatar()
 {
     $users_model = M("Users");
     $id = I("get.id", 0, "intval");
     $find_user = $users_model->field('avatar')->where(array("id" => $id))->find();
     $avatar = $find_user['avatar'];
     $image = new \Think\Image();
     $should_show_default = false;
     if (empty($avatar)) {
         $should_show_default = true;
     } else {
         if (strpos($avatar, "http") === 0) {
             header("Location: {$avatar}");
             exit;
         } else {
             $avatar_dir = C("UPLOADPATH") . "avatar/";
             $avatar = $avatar_dir . $avatar;
             if (file_exists($avatar)) {
                 $image->open($avatar);
                 $mime = $image->mime();
                 header("Content-type: {$mime}");
                 $image->save(null);
             } else {
                 $should_show_default = true;
             }
         }
     }
     if ($should_show_default) {
         $image->open("statics/images/headicon.png");
         $mime = $image->mime();
         header("Content-type: {$mime}");
         $image->save(null);
     }
     exit;
 }
Esempio n. 2
0
 public function helpImage($upload)
 {
     //如果使用了多语言功能的话(假设,我们在当前语言包里面定义了'lang_var'=>'标题必须!'),就可以这样定义模型的自动验证
     //array('title','require','{%lang_var}',1),
     //'FILE_FORMAT ' => '文件格式: {$format},文件大小:{$size}',
     //{:L('FILE_FORMAT ',array('format' => 'jpeg,png,gif,jpg','maximum' => '2MB'))}
     // 采用时间戳命名
     $upload->saveName = 'time';
     // 采用GUID序列命名
     $upload->saveName = 'com_create_guid';
     // 采用自定义函数命名
     $upload->saveName = 'myfun';
     // 开启子目录保存 并以日期(格式为Ymd)为子目录
     $upload->autoSub = true;
     $upload->subName = array('date', 'Ymd');
     $image = new \Think\Image();
     $image->open('./1.jpg');
     $width = $image->width();
     // 返回图片的宽度
     $height = $image->height();
     // 返回图片的高度
     $type = $image->type();
     // 返回图片的类型
     $mime = $image->mime();
     // 返回图片的mime类型
     $size = $image->size();
     // 返回图片的尺寸数组 0 图片宽度 1 图片高度
     //裁剪图片
     $image = new \Think\Image();
     $image->open('./1.jpg');
     //将图片裁剪为400x400并保存为corp.jpg
     $image->crop(400, 400)->save('./crop.jpg');
     //使用thumb方法生成缩略图
     $image = new \Think\Image();
     $image->open('./1.jpg');
     // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg
     $image->thumb(150, 150)->save('./thumb.jpg');
     //居中裁剪
     $image = new \Think\Image();
     $image->open('./1.jpg');
     // 生成一个居中裁剪为150*150的缩略图并保存为thumb.jpg
     $image->thumb(150, 150, \Think\Image::IMAGE_THUMB_CENTER)->save('./thumb.jpg');
     //添加图片水印
     $image = new \Think\Image();
     $image->open('./1.jpg');
     //将图片裁剪为440x440并保存为corp.jpg
     $image->crop(440, 440)->save('./crop.jpg');
     // 给裁剪后的图片添加图片水印(水印文件位于./logo.png),位置为右下角,保存为water.gif
     $image->water('./logo.png')->save("water.gif");
     // 给原图添加水印并保存为water_o.gif(需要重新打开原图)
     $image->open('./1.jpg')->water('./logo.png')->save("water_o.gif");
     //给图片添加文字水印
     $image = new \Think\Image();
     // 在图片右下角添加水印文字 T hinkPHP 并保存为new.jpg
     $image->open('./1.jpg')->text('T hinkPHP', './1.ttf', 20, '#000000', \Think\Image::IMAGE_WATER_SOUTHEAST)->save("new.jpg");
 }