牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2017-01-17 投稿人: 浏览次数:990

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

        <script type="text/javascript">
            var num = 1;
            function add_item() {
                var s = "<tr><th><span style="cursor: pointer" onclick="$(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" onclick="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 *****************/


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。