shop/Admin/Controller/GoodsController.class.php(后端商品控制器):
<?php
//后台商品控制器
namespace Admin\Controller;
use Think\Controller;
//Controller父类:ThinkPHP/Library/Think/Controller.class.php
class GoodsController extends Controller{
function tianjia(){
$goods = D('Goods');
//两个逻辑:展示表单、收集表单信息
if(!empty($_POST)){
//商品图片处理
if($_FILES['goods_pic']['error']===0){
//一、 大图片上传
$cfg = array(
'rootPath' => './Public/Upload/', //文件保存根路径
);
//设置附件的存储位置
$up = new \Think\Upload($cfg); //ThinkPHP上传文件的工具类
//上传附件
//如果附件上传成功,就可以通过uploadOne的返回值查看到附件在服务器的存储情况
$z = $up -> uploadOne($_FILES['goods_pic']);
//附件保存到数据库中,保存路径名即可
$bigpicname = $up->rootPath.$z['savepath'].$z['savename'];
$_POST['goods_big_img'] = substr($bigpicname,2);//去除 "./"
//二、 给上传好的图片(大图)制作缩略图
//① 实例化对象
$im = new \Think\Image(); //ThinkPHP 制作缩略图的工具类
//② 打开源图片(制作缩略图的大图)
$im -> open($bigpicname);
//③ 为源图片制作缩略图
$im -> thumb(125,125); //等比例缩放。参数表示要制作的缩略图的宽度和高度
//④ 把制作好的缩略图保存到服务器上
// 缩略图和原图在同一个目录位置
// 原图:24322398skjdks.jpg 缩略图:small_24322398skjdks.jpg
$smallpicname = $up->rootPath.$z['savepath']."small_".$z['savename'];
$im -> save($smallpicname);
//⑤ 把缩略图的路径名保存到数据库中
$_POST['goods_small_img'] = substr($smallpicname,2);//去除 "./"
}
//收集表单信息
$data = $goods -> create();
$z = $goods -> add($data); //添加到数据库
if($z){
//$this ->redirect (地址分组/控制器/操作方法, 参数, 间隔时间, 提示信息)
$this ->redirect('showlist', array(), 2, '添加商品成功!');
}else{
$this ->redirect('tianjia', array(), 2, '添加商品失败!');
}
}else{
$this -> display();//展示表单
}
}
}
shop/Admin/View/Goods/tianjia.html(前端添加商品视图页面):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>添加商品</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<link href="{$smarty.const.ADMIN_CSS_URL}mine.css" type="text/css" rel="stylesheet">
</head>
<body>
<div class="div_head">
<span>
<span style="float:left">当前位置是:商品管理-》添加商品信息</span>
<span style="float:right;margin-right: 8px;font-weight: bold">
<a style="text-decoration: none" href="{$smarty.const.__CONTROLLER__}/showlist">【返回】</a>
</span>
</span>
</div>
<div></div>
<div style="font-size: 13px;margin: 10px 5px">
<form action="{$smarty.const.__SELF__}" method="post" enctype="multipart/form-data">
<table border="1" width="100%" class="table_a">
<tr><td>商品名称</td>
<td><input type="text" name="goods_name" /></td></tr>
<tr><td>商品价格</td>
<td><input type="text" name="goods_price" /></td></tr>
<tr><td>商品数量</td>
<td><input type="text" name="goods_number" /></td></tr>
<tr><td>商品重量</td>
<td><input type="text" name="goods_weight" /></td></tr>
<tr><td>商品图片</td>
<td><input type="file" name="goods_pic" /></td></tr>
<tr><td>商品详细描述</td>
<td><textarea name="goods_introduce"></textarea></td></tr>
<tr><td colspan="2" align="center">
<input type="submit" value="添加" />
</td>
</tr>
</table>
</form>
</div>
</body>
</html>