thinkphp多文件上传同时生成缩略图,保存到数据库

HTML:点击[+]可以生成多个上传按钮

        <script type="text/javascript">
            var num = 1;
            function add_item() {
                var s = "<tr><th><span style='cursor: pointer' οnclick='$(this).parent().parent().remove()'>[-]</span><label>商品相册</label></th><td><input type='file' name='goods_pics[]' id='goods_pics_"
                    + num + "'/><div id='goods_pics_div_" + num + "'><img src='' alt='' id='goods_pics_img_" + num + "' height='100'></div></td></tr>";
                $('#gallery-tab-table').append(s);

                new uploadPreview({
                    UpBtn: "goods_pics_" + num,
                    DivShow: "goods_pics_div_" + num,
                    ImgShow: "goods_pics_img_" + num
                });
                num++;
            }
        </script>
        <table border="1" width="100%" class="table_a" style="display:none" id="gallery-tab-table">
            <tr><input type="hidden" name="gallery_act" value="gallery_tab"></tr>
            <tr>
                <th>
                    <span style="cursor: pointer" οnclick="add_item()">[+]</span>
                    <label>商品相册</label>
                </th>
                <td>
                    <input type="file" name="goods_pics[]" id="goods_pics_0"/>
                    <div id="goods_pics_div_0">
                        <img src="" alt="" id="goods_pics_img_0" height="100">
                    </div>
                </td>
            </tr>
            <script type="text/javascript">
                $(function () {
                    new uploadPreview({
                        UpBtn: "goods_pics_0",
                        DivShow: "goods_pics_div_0",
                        ImgShow: "goods_pics_img_0"
                    })
                })
            </script>
        </table>
        <!----------商品相册---end----------->
        <div align="center">
            <p></p>
            <input type="submit" value="添加">
        </div>

Model:

        // COMMENT: 商品相册上传处理 **** START ****************/
        if ($_POST['gallery_act'] === 'gallery_tab') {
            $flag = false;
            foreach ($_FILES['goods_pics']['error'] as $k => $v) {
                if ($v === 0) $flag = true;
            }
            if ($flag) {
                if (!is_dir("./Common/Gallery/")) mkdir("./Common/Gallery/");
                $up = new Upload(array('rootPath' => './Common/Gallery/'));
                $z  = $up->upload(array('goods_pics' => $_FILES['goods_pics']));
                foreach ($z as $k => $v) {
                    $pics_big   = $up->rootPath . $z[$k]['savepath'] . $z[$k]['savename'];
                    $pics_small = $up->rootPath . $z[$k]['savepath'] . "small_" . $z[$k]['savename'];

                    // 制作缩略图
                    $im = new Image();
                    $im->open($pics_big);
                    $im->thumb(60, 60);
                    $im->save($pics_small);

                    D('GoodsPics')->add(array(
                        'goods_id'   => $data['goods_id'],
                        'pics_big'   => $pics_big,
                        'pics_small' => $pics_small,
                    ));
                }
            }
        }
        // COMMENT: 商品相册上传处理 ***** END *****************/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值