thinkphp 上传商品Logo

本文介绍了一个使用PHP实现的商品Logo上传处理流程。通过控制器调用模型方法,在商品添加前处理Logo图片,包括大图和小图的上传及小图的缩略图制作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

controller:

仅调用create、add方法:

            $goods = new GoodsModel();
            $goods->create();
            if ($goods->add()) {
                $this->redirect("showlist");
            } else {
                $this->redirect('add');
            }

model:

在_before_insert中实现功能:

    protected function _before_insert(&$data, $options) {
        parent::_before_insert($data, $options);

        // COMMENT: Logo上传处理 **** START ****************/
        if ($_POST['general_act'] === 'general_tab') {
            if ($_FILES['f_goods_image']['error'] === 0) {
                $up = new Upload(array('rootPath' => './Common/Uploads/'));
                $z  = $up->uploadOne($_FILES['f_goods_image']);
                if ($z) {
                    $data['goods_big_logo']   = $up->rootPath . $z['savepath'] . $z['savename'];
                    $data['goods_small_logo'] = $up->rootPath . $z['savepath'] . "small_" . $z['savename'];

                    // 制作缩略图
                    $im = new Image();
                    $im->open($data['goods_big_logo']);
                    $im->thumb(60, 60);
                    $im->save($data['goods_small_logo']);
                }
            }
        }
        // COMMENT: Logo上传处理 ***** END *****************/
    }


HTML:

            <tr>
                <th>商品图片</th>
                <td><input type="file" name="f_goods_image" id="f_goods_image"/>
                    <div id="f_goods_image_div">
                        <img src="" alt="" id="f_goods_image_img" height="100">
                    </div>
                </td>
            </tr>
            <script type="text/javascript">
                $(function () {
                    new uploadPreview({
                        UpBtn: "f_goods_image",
                        DivShow: "f_goods_image_div",
                        ImgShow: "f_goods_image_img"
                    })
                })
            </script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值