ThinkPHP 扩展的图片处理类,无法打开SAE上Storage的图片

浏览:1283 发布日期:2013/08/05 分类:求助交流 关键字: SAE 图片处理类 扩展
本来我是想把,官网发布的头像处理类,移植到SAE上,然后分享给大家。

可是,研究了一天,发现:

ThinkPHP 扩展的图片处理类,无法打开SAE上Storage的图片

我把图片地址直接替换成了Storage的地址

http://aite5-avatar.stor.sinaapp.com/avatar.jpg    //裁剪并保存用户头像
    public function cropImg(){
        //图片裁剪数据
        $params = $this->_post();                        //裁剪参数
        if(!isset($params) && empty($params)){
            return;
        }
        
        //头像目录地址
        $path = './avatar/';
        //要保存的图片
        $real_path = sae_storage_root('avatar').'/avatar2.jpg';
        //临时图片地址
        
        $pic_path = 'http://aite5-avatar.stor.sinaapp.com/avatar.jpg';
        
        import('ORG.Util.Image.ThinkImage');
        $Think_img = new ThinkImage(THINKIMAGE_GD); 
        //裁剪原图
        $Think_img->open($pic_path)->crop($params['w'],$params['h'],$params['x'],$params['y'])->save($real_path);
        //生成缩略图
        $Think_img->open($real_path)->thumb(100,100, 1)->save($path.'avatar_100.jpg');
        $Think_img->open($real_path)->thumb(60,60, 1)->save($path.'avatar_60.jpg');
        $Think_img->open($real_path)->thumb(30,30, 1)->save($path.'avatar_30.jpg');
我追踪代码发现,在ImageGd.class.php的41行执行出错

也就是这一行

if(!is_file($imgname)) throw new Exception('不存在的图像文件');    public function open($imgname){
        //检测图像文件
        if(!is_file($imgname)) throw new Exception('不存在的图像文件');

        //获取图像信息
        $info = getimagesize($imgname);

        //检测图像合法性
        if(false === $info || (IMAGETYPE_GIF === $info[2] && empty($info['bits']))){
            throw new Exception('非法图像文件');
        }



求教各位老大,有没有好的解决方案。。


再有想问的是,在SAE上,有什么样其他的办法裁剪头像呢???、、、
最佳答案
评论( 相关
后面还有条评论,点击查看>>