您的位置:首页 > 编程语言 > PHP开发

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

2017-01-17 21:11 507 查看
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 *****************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: