转载请注明出处:http://blog.csdn.net/u011569040/article/details/47175895
创建项目的目录具体文件
-------------------
add.php 商品信息添加页面
edit.php 商品信息编辑表单页
index.php 商品信息浏览页
action.php 执行商品信息增添改查等操作
dbconfig.php 公共配置文件
menu.php 导航栏
uploads/ 上传图片的存放目录
fuctions.php 公共函数库文件:图片信息的上传、等比缩放等处理函数
action.php
<?php
//执行商品信息的增添改的操作
//一.导入配置文件和函数库
require("dbconfig.php");
require("functions.php");
//二.连接MySQL,选择数据库
$link = mysql_connect(HOST,USER,PASS) or die ("数据库连接失败!");
mysql_select_db(DBNAME,$link);
//三.获取action的参数值,并做对应操作
switch($_GET["action"]){
case "add"://添加
//1.获取添加信息
$name = $_POST["name"];
$typeid = $_POST["typeid"];
$price = $_POST["price"];
$total = $_POST["total"];
$note = $_POST["note"];
$addtime = time();
//2.验证()省略
if(empty($name)){
die("商品名称必须有值");
}
//3.执行图片上传
$upinfo = uploadFile("pic","./uploads/");
if($upinfo["error"]===false){
die("图片信息上传失败:".$upinfo["info"]);
}else{
//上传成功
$pic = $upinfo["info"];//获取上传成功的图片名
}
//4.执行图片缩放
imageUpdateSize('./uploads/'.$pic,50,50);
//5.拼装sql语句,并执行添加
$sql = "insert into goods values(null,'{$name}','{$typeid}','{$price}','{$total}','{$pic}','{$note}','{$addtime}')";
//echo $sql;
mysql_query($sql,$link);
//6.判断并输出结果
if(mysql_insert_id($link)>0){
echo "商品发布成功!";
}else{
echo "商品发布失败!".mysql_error();
}
echo "<br/> <a href='index.php'>查看商品信息</a>";
break;
case "del"://删除
//获取要删除的id号,并拼装删除sql,执行
$sql = "delete from goods where id={$_GET['id']}";
mysql_query($sql,$link);
//执行图片删除
if(mysql_affected_rows($link)>0){
@unlink("./uploads/".$_GET['picname']);
@unlink("./uploads/s_".$_GET['picname']);
}
//跳转到浏览界面
header("Location:index.php");
break;
case "update"://修改
//1.获取要修改的信息
$name = $_POST["name"];
$typeid = $_POST["typeid"];
$price = $_POST["price"];
$total = $_POST["total"];
$note = $_POST["note"];
$id = $_POST['id'];
$pic = $_POST['oldpic'];
//2.数据验证
if(empty($name)){
die("商品名称必须有值!");
}
//3.判断有误图片上传
if($_FILES['pic']['error']!=4){
//执行上传
//3.执行图片上传
$upinfo = uploadFile("pic","./uploads/");
if($upinfo["error"]===false){
die("图片信息上传失败:".$upinfo["info"]);
}else{
//上传成功
$pic = $upinfo["info"];//获取上传成功的图片名
//4.有图片上传,执行缩放
imageUpdateSize('./uploads/'.$pic,50,50);
}
}
//5.执行修改
$sql = "update goods set name='{$name}',typeid={$typeid},price={$price},total={$total},note='{$note}',pic='{$pic}' where id={$id}";
//echo $sql;
mysql_query($sql,$link);
//6.判断是否修改成功
if(mysql_affected_rows($link)>0){
// 若有图片上传就删除老图片
if($_FILES['pic']['error']!=4){
@unlink("./uploads/".$_POST['oldpic']);
@unlink("./uploads/s_".$_POST['oldpic']);
}
echo "修改成功";
}else{
echo "修改失败".mysql_error();
}
echo "<br/> <a href='index.php'>查看商品信息 </a>";
break;
}
//四.关闭数据库
add.php
<html>
<head>
<title>商品信息管理</title>
</head>
<body>
<center>
<?php include("menu.php");//导入导航栏 ?>
<h3>发布商品信息</h3>
<form action="action.php?action=add" method="post" enctype="multipart/form-data">
<table border="0" width="300">
<tr>
<td align="right">名称:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td align="right">类型:</td>
<td>
<select name="typeid">
<?php
include("dbconfig.php");
foreach($typelist as $k=>$v){
echo "<option value='{$k}'>{$v}</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td align="right">单价:</td>
<td><input type="text" name="price"/></td>
</tr>
<tr>
<td align="right">库存:</td>
<td><input type="text" name="total"/></td>
</tr>
<tr>
<td align="right">图片:</td>
<td><input type="file" name="pic"/></td>
</tr>
<tr>
<td align="right" valign="top">描述:</td>
<td><textarea rows="5" cols="20" name="note"></textarea><td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="添加" />
<input type="reset" value="重置"/>
</td>
</tr>
</table>
<form>
</center>
</body>
</html><br />
dbconfig.php
<?php
//公共信息配置文件
//数据库信息配置
define("HOST","localhost");//主机名
define("USER","root");
define("PASS","");
define("DBNAME","demodb");
//商品类型列表信息
$typelist=array(1=>"服装",2=>"数码",3=>"食品");
edit.php
<html>
<head>
<title>编辑信息管理</title>
</head>
<body>
<center>
<?php include("menu.php");//导入导航栏
//1.导入配置文件
require("dbconfig.php");
//2.连接数据库,并选择数据库
$link = @mysql_connect(HOST,USER,PASS)or die("数据库连接失败!");
mysql_select_db(DBNAME,$link);
//3.获取要修改的商品信息查询
$sql = "select * from goods where id={$_GET['id']}";
$result= mysql_query($sql,$link);
//4.判断是否获取到要编辑的商品信息
if($result && mysql_num_rows($result)>0){
$shop = mysql_fetch_assoc($result);//解析出要修改的商品信息
}else{
die("没有找到要修改的商品信息!");
}
?>
<h3>编辑商品信息</h3>
<form action="action.php?action=update" method="post" enctype="multipart/form-data">
<input type="hidden" name="id" value="<?php echo $shop['id'];?>"/>
<input type="hidden" name="oldpic" value="<?php echo $shop['pic'];?>"/>
<table border="0" width="300">
<tr>
<td align="right">名称:</td>
<td><input type="text" name="name" value="<?php echo $shop['name'];?>"/></td>
</tr>
<tr>
<td align="right">类型:</td>
<td>
<select name="typeid">
<?php
include("dbconfig.php");
foreach($typelist as $k=>$v){
$sd =($shop['typeid']==$k)?"selected":"";//是否是当前类型
echo "<option value='{$k}' {$sd}>{$v}</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td align="right">单价:</td>
<td><input type="text" name="price" value="<?php echo $shop['price'];?>"/></td>
</tr>
<tr>
<td align="right">库存:</td>
<td><input type="text" name="total" value="<?php echo $shop['total'];?>"/></td>
</tr>
<tr>
<td align="right">图片:</td>
<td><input type="file" name="pic" /></td>
</tr>
<tr>
<td align="right" valign="top">描述:</td>
<td><textarea rows="5" cols="20" name="note"><?php echo $shop['note'];?></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="修改" />
<input type="reset" value="重置"/>
</td>
</tr>
<tr>
<td align="right" valign="top"> :</td>
<td><img src="./uploads/<?php echo $shop['pic']?>"/></td>
</tr>
</table>
<form>
</center>
</body>
</html><br />
functions.php
<?php
//公共函数库
/**
*文件上传处理函数
*String filename 要上传的文件表单项名
*Sring $path 上传文件的保存路径
*@param array 允许的文件类型
*@return array 二个单元:["error"] false:失败,true:成功
["info"] 保存失败的原因或成功的文件名
*/
function uploadFile($filename,$path,$typelist=null){
//1. 获取获取上传文件名
$upfile = $_FILES["$filename"];
if(empty($typelist)){
$typelist = array("image/jpeg","image/jpg","image/png","image/gif","video/mp4");
}
$res=array("error"=>false);//存放返回的结果
//获取错误信息
if($upfile["error"]>0){
switch($upfile['error']){
case 1:
$info="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。";
break;
case 2:
$info="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";
break;
case 3:
$info="文件只有部分被上传。";
break;
case 4:
$info="没有文件被上传。 ";
case 6:
$info="找不到临时文件夹。";
break;
case 7:
$info="文件写入失败";
break;
}
die("上传文件错误,原因:".$info);
}
//3. 本次上传文件到小的过滤(自己选择)
if($upfile["size"]>10000000){
$res["info"]="上传文件过大!";
return $res;
}
//4. 类型过滤
if(!in_array($upfile["type"],$typelist)){
$res["info"]="上传类型不符!".$upfile["type"];
return $res;
}
//5. 上传后的文件名定义(随机获取一个文件名(保持后缀名不变))
$fileinfo = pathinfo($upfile["name"]);//解析上传文件名字
do{
$newfile= date("YmdHis").rand(1000,9999).".".$fileinfo["extension"];
}while(file_exists($path.$newfile));
//6. 执行文件上传
//判断是否是一个上传的文件
if(is_uploaded_file($upfile["tmp_name"])){
//执行文件上传(移动上传文件)
if(move_uploaded_file($upfile["tmp_name"],$path."/".$newfile)){
//将上传成功后的文件名,返回给数组
$res["info"]=$newfile;
$res["error"]=true;
return $res;
}else{
$res["info"]="上传文件失败!";
}
}else{
$res["info"]="不是一个上传的文件!";
}
return $res;
}
//图片缩放
function imageUpdateSize($picname,$maxx=100,$maxy=100,$pre="s_"){
$info = getimageSize($picname); //获取图片的基本信息
$w = $info[0];//获取宽度
$h = $info[1];//获取高度
//获取图片的类型并为此创建对应图片资源
switch($info[2]){
case 1: //gif
$im = imagecreatefromgif($picname);
break;
case 2: //jpg
$im = imagecreatefromjpeg($picname);
break;
case 3: //png
$im = imagecreatefrompng($picname);
break;
default:
die("图片类型错误!");
}
//计算缩放比例
if(($maxx/$w)>($maxy/$h)){
$b = $maxy/$h;
}else{
$b = $maxx/$w;
}
//计算出缩放后的尺寸
$nw = floor($w*$b);
$nh = floor($h*$b);
//创建一个新的图像源(目标图像)
$nim = imagecreatetruecolor($nw,$nh);
//执行等比缩放
imagecopyresampled($nim,$im,0,0,0,0,$nw,$nh,$w,$h);
//输出图像(根据源图像的类型,输出为对应的类型)
$picinfo = pathinfo($picname);//解析源图像的名字和路径信息
$newpicname= $picinfo["dirname"]."/".$pre.$picinfo["basename"];
switch($info[2]){
case 1:
imagegif($nim,$newpicname);
break;
case 2:
imagejpeg($nim,$newpicname);
break;
case 3:
imagepng($nim,$newpicname);
break;
}
//释放图片资源
imagedestroy($im);
imagedestroy($nim);
//返回结果
return $newpicname;
}
index.php
<html>
<head>
<title>商品信息管理</title>
</head>
<body>
<center>
<?php include("menu.php");//导入导航栏 ?>
<h3>浏览商品信息</h3>
<table border="1" width="700">
<tr>
<th>商品编号</th>
<th>商品名称</th>
<th>商品图片</th>
<th>单价</th>
<th>库存量</th>
<th>添加时间</th>
<th>操作</th>
</tr>
<?php
//从数据库中读取信息并输出到浏览器表格中
//1.导入配置文件
require("dbconfig.php");
//2.连接数据库,并选择数据库
$link = @mysql_connect(HOST,USER,PASS)or die("数据库连接失败!");
mysql_select_db(DBNAME,$link);
//3.执行商品信息查询
$sql = "select * from goods";
$result= mysql_query($sql,$link);
//4.解析商品信息(解析结果集)
while($row=mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td><img src='./uploads/s_{$row['pic']}'/></td>";
echo "<td>{$row['price']}</td>";
echo "<td>{$row['total']}</td>";
echo "<td>".date("Y-m-d H:i:s",$row['addtime'])."</td>";
echo "<td>
<a href='action.php?action=del&id={$row['id']}&picname={$row['pic']}'>删除</a>
<a href='edit.php?id={$row['id']}'>修改</a></td>";
echo "</tr>";
}
//5.释放结果集,关闭数据库
?>
</table>
</center>
</body>
</html><br />
menu.php
<h2>商品信息管理</h2>
<a href="index.php">浏览商品</a>
<a href="add.php">添加商品</a>
<hr width="80%"/>
源码下载