thinkphp图片上传+图片裁切

浏览:4671 发布日期:2015/10/20 分类:技术分享 关键字: thinkphp图片上传+图片裁切
刚弄那会儿,很多东西不会,各种不会,各种百度,终于自己琢磨出来了,现在共享给大家,让大家做个参考,少走些弯路,话不多少,上代码
配置文件里面写这些:'UPLOAD'=>array(
        'rootPath' =>'./Uploads/',//图片存放路径
        'maxSize'=>204800,
        'savePath'=>'',
        'saveName'   =>    array('uniqid',''),
        'exts'=> array('jpg', 'gif', 'png', 'jpeg'),
        'subName'    =>    array('date','Y-m-d'),
         'autoSub'    =>    true,

    ),
然后在控制器里面这么写 $config = C('UPLOAD');
            $upload = new \Think\Upload($config);// 实例化上传类
            $images = $upload->upload();
            if ($images) {
                $img_url = $images['Filedata']['savepath'] . $images['Filedata']['savename'];
                 $info['image'] = $img_url;
                if ($_POST['thumb'] == 'image') {//根据提交的值,判断是否生成缩略图
                    $image = new \Think\Image();//实例化图片处理类
                    $url = './Uploads/' . $img_url;
                    $arr = array(".jpg" => "_");
                    $img_name = str_replace(".jpg", "_", $img_url);//替换图片名字
                    $image->open($url);//打开图片
                    $name = './Uploads/' . $img_name . 'thumb.jpg';
                    if ($image->thumb(50, 50)->save($name))//生成50X50的缩略图,并保存
                    {
                        $info['thumb'] = $img_name . 'thumb.jpg';
                    }
                }
                    $this->ajaxReturn($info);//返回图片地址
            } else {
                $this->error($upload->getError());//获取失败信息
            }
前台页面是用的uploadify插件<script type="text/javascript" src="__PUBLIC__/upload/jquery.uploadify.min.js"></script>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/upload/uploadify.css"/>
<script>

    $(function () {
        $('#file_upload').uploadify({
            'swf': '__PUBLIC__/upload/uploadify.swf',
            'uploader': '{:U("Upload/index")}',
            'formData' : {'<?php echo session_name();?>' : '<?php echo session_id();?>','thumb':'image'},
            'buttonText': '上传图片',
            'onUploadSuccess': function (file, data, response) {
                var data = eval("("+data+")");//
                console.log(data);
                $('#img').attr('src','__ROOT__/Uploads/' +data.image);
                    $('#pic').val(data.image);
                $('#img_thumb').attr('src','__ROOT__/Uploads/' +data.thumb);
                    $('#thumb').val(data.thumb);
            },
            'onUploadError' : function(file, errorCode, errorMsg, errorString) {
            layer.alert(file.name + ' 上传失败。详细信息: ' + errorString);
        }
        });
    });

</script>
以上方法仅供参考,觉得有用就参考一下~~,也可以到我的个人博客中看一下详细的文章,更多文章,尽在http://www.huazhiyang.net/
最佳答案
评论( 相关
后面还有条评论,点击查看>>