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 *****************/
<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 *****************/
相关文章推荐
- ThinkPHP框架九上传文件和生成缩略图
- ASP.NET C#(4.0) + SQL2008 R2 多图片上传并生成缩略图一并保存至数据库
- Thinkphp3.2.2+Uploadify文件上传生成缩略图
- thinkphp表单上传文件并将文件路径保存到数据库中
- thinkphp表单上传文件并将文件路径保存到数据库中
- Thinkphp3.2.2+Uploadify文件上传生成缩略图
- 多文件上传,同时改名,并生成缩略图
- asp.net上传图片并同时生成缩略图
- asp.net上传图片并同时生成缩略图
- .net上传图片文件,生成缩略图,并写上版权信息
- asp.net上传图片并同时生成缩略图
- fleaphp 上传文件多文件多类型上传 生成jpg缩略图
- php图片文件上传类 (附自动生成缩略图)
- asp.net上传图片并同时生成缩略图
- ASP.NET 2.0 - 如何把上传的文件保存到数据库字段 (转自章立民CnBlogs)
- 上传图片文件,生成缩略图,并写上版权信息
- .net上传图片文件,生成缩略图,并写上版权信息
- 如何实现将用户上传的文件生成缩略图
- asp.net上传图片并同时生成缩略图
- 上传图片文件,生成缩略图,并写上版权信息