轉載請註明出處: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%"/>
源碼下載