织梦二次开发,二次开发,李丕长,网站php二次开发,做网站,模板设计,jquery效果,jquery特效

当前位置: 主页 > PHP编程 >

php每次上传单张图片以及数据库设计

时间:2013-05-19 13:21作者:LEO 点击:
1、首先设计数据库 创建数据库名为myDB 在sql面板运行一下代码创建表 CREATE TABLE `banner`( `id` int (11) NOT NULL DEFAULT 0, `ads_title` varchar (100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `a

 

 1、首先设计数据库

创建数据库名为myDB

在sql面板运行一下代码创建表

 创建表名为banner的表 一共有八个字段

分别为id 主键,ads_title 图片的标题,ads_des 图片描述,ads_pic图片的存放地址

add_time添加时间 sort 排序,states 是否可用,ads_url图片的链接地址

 

  1. CREATE TABLE `banner` ( 
  2. `id`  int(11) NOT NULL AUTO_INCREMENT , 
  3. `ads_title`  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , 
  4. `ads_des`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , 
  5. `ads_pic`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , 
  6. `add_time`  varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , 
  7. `sort`  int(3) NULL DEFAULT NULL , 
  8. `states`  tinyint(1) NULL DEFAULT 1 , 
  9. `ads_url`  varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , 
  10. PRIMARY KEY (`id`) 
  11. ENGINE=InnoDB 
  12. DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci 
  13. AUTO_INCREMENT=1 
  14. ROW_FORMAT=COMPACT 

 

php文件和模板文件都放在根目录下面测试

2、数据库的表创建好了那我们 设计html 页面 命名为upload.html文件 代码如下 

 

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 
  5. <title>上传图片</title> 
  6. </head> 
  7. <body> 
  8. <form method="post" action="" enctype="multipart/form-data"> 
  9.   <input name="dopost" type="hidden" value="addsave" /> 
  10. <table width="98%" border="0" cellpadding="1" cellspacing="1" align="center" class="tbtitle" style="    background:#dbe4cd;"> 
  11.     <tr> 
  12.         <td height="30" colspan="9" bgcolor="#EDF9D5">上传图片</td> 
  13.     </tr> 
  14.     <tr bgcolor="#FDFEE9" height="26"> 
  15.         <td colspan="7" align="left"> 
  16.  
  17.                 <table width="100%" border="0" cellpadding="1" cellspacing="1">                
  18.                     <tr> 
  19.                         <td width="129" height="31" align="right" bgcolor="#F7FFFF">标题</td> 
  20.                         <td width="882" height="31" colspan="2" bgcolor="#F7FFFF"><input name="ads_title" type="text" id="ads_title" class="company_manage_form_label" style="width:250px;height:16px;margin-top:5px;margin-left:10px;" /></td> 
  21.                     </tr> 
  22.                            
  23.                     <tr> 
  24.                         <td width="129" height="31" align="right" bgcolor="#F9FCEF">简介</td> 
  25.                         <td height="31" colspan="2" bgcolor="#F9FCEF"><textarea name="ads_des" class="company_manage_form_label" style="margin-top:5px;margin-left:10px;height:70px;width:255px;" ></textarea></td> 
  26.                     </tr> 
  27.                     <tr> 
  28.                         <td width="129" height="31" align="right" bgcolor="#F7FFFF">banner图片</td> 
  29.                         <td width="882" height="31" colspan="2" bgcolor="#F7FFFF"><input name="newimg" type="file" class="company_manage_form_label" style="width:350px;height:20px;margin-top:5px;margin-left:10px;" /></td> 
  30.                     </tr>  
  31.                      <tr> 
  32.                         <td width="129" height="31" align="right" bgcolor="#F9FCEF">链接地址</td> 
  33.                         <td height="31" colspan="2" bgcolor="#F9FCEF"><input type="text" name="ads_url" value="http://" class="company_manage_form_label" style="margin-top:5px;margin-left:10px;height:16px;width:255px;" />如(http://lipichang.com)</td> 
  34.                     </tr>                                     
  35.                     <tr> 
  36.                         <td width="129" height="31" align="right" bgcolor="#F7FFFF">状态</td> 
  37.                         <td height="31" colspan="2" bgcolor="#F7FFFF">&nbsp;&nbsp;启用<input type="radio" name="states" value="1" checked/>&nbsp;禁用<input type="radio" name="states" value="0" /></td> 
  38.                     </tr> 
  39.                       <tr> 
  40.                         <td width="129" height="31" align="right" bgcolor="#F7FFFF">排序</td> 
  41.                         <td width="882" height="31" colspan="2" bgcolor="#F7FFFF"><input name="sort" type="text" id="sort" value="127" class="company_manage_form_label" style="width:250px;height:16px;margin-top:5px;margin-left:10px;" /></td> 
  42.                     </tr> 
  43.                      
  44.                      
  45.                     <tr> 
  46.                         <td height="28" align="right" valign="top" bgcolor="#F9FCEF">&nbsp;</td> 
  47.                         <td height="30" colspan="2" bgcolor="#F9FCEF"><input type="submit" value="提交" class="button01" /> <input type="button" onclick="history.go(-1)" value="返回" class="button01" /></td> 
  48.                     </tr> 
  49.                 </table> 
  50.             </td> 
  51.     </tr> 
  52. </table> 
  53. </form> 
  54. </body> 
  55. </html> 



3、接下来我们新建php文件名为upload.php 代码如下



 

  1. <?php 
  2. header("Content-type: text/html; charset=utf-8"); 
  3. $con = mysql_connect("localhost","root",""); 
  4. //mysql_connect("数据库主机名或者ip","mysql用户名","mysql密码"); 
  5. if (!$con) 
  6.     die('Could not connect: ' . mysql_error());//链接失败提示错误 
  7. else 
  8.     echo '成功链接数据库<br/>'; 
  9.     mysql_select_db('myDB' ,$con);//选择数据库 
  10.  
  11.  
  12. $dopost=!empty($_POST['dopost'])?$_POST['dopost']:''; 
  13.  
  14. if($dopost=='addsave') 
  15.  
  16.     $sqlid="select max(id) as maxid from banner "
  17.     $rs=mysql_query($sqlid) or die(mysql_error()); 
  18.     $maxs=mysql_fetch_array($rs); 
  19.     $names=$maxs['maxid']+1; 
  20.     //查询当前最大的图片对应的id并且再它之上加1 为了让图片命名更加清晰 
  21.          
  22.     //判断是否有图片上传 并且进行处理 
  23.     if(is_uploaded_file($_FILES['newimg']['tmp_name'])) 
  24.     { 
  25.          
  26.         //设定存放位置 
  27.         $base=$_SERVER['DOCUMENT_ROOT']; 
  28.         $gourl="/images/banners/"
  29.         $savepath=$base.$gourl; 
  30.          
  31.         //判断在根目录下面是否存在banners文件夹不存在新建一个 
  32.         if(!is_dir($savepath)) 
  33.         { 
  34.             mkdir($savepath,0777); 
  35.         } 
  36.          
  37.         //设定图片名称 
  38.         $pic_name='banner'.$names; 
  39.         //控制图片大小 
  40.         if($_FILES['newimg']['size']>500000) 
  41.         { 
  42.             echo '图片大小不能大于500kb,<a href="javascript:history.go(-1);">返回</a>'; 
  43.             exit();          
  44.         } 
  45.          
  46.         //图片类型开始判断 
  47.         $imgfile_type = strtolower(trim($_FILES['newimg']['type'])); 
  48.         $cfg_photo_typenamesnow=array('image/xpng','image/gif','image/jpeg','image/png'); 
  49.         if(!in_array($imgfile_type,$cfg_photo_typenamesnow)) 
  50.         { 
  51.         echo '上传的图片格式错误,请使用 '.implode(',',$cfg_photo_typenamesnow).'格式的其中一种!'.'<a href="javascript:history.go(-1);">返回</a>'; 
  52.         exit(); 
  53.         } 
  54.          
  55.         //设定图片类型并且确认图片的后缀名 
  56.         if($imgfile_type=='image/xpng' or $imgfile_type=='image/png') 
  57.         { 
  58.             $shortname = ".png"
  59.         } 
  60.         else if($imgfile_type=='image/gif') 
  61.         { 
  62.             $shortname = ".gif"
  63.         } 
  64.         else if($imgfile_type=='image/jpeg') 
  65.         { 
  66.             $shortname = ".jpg"
  67.         } 
  68.         else 
  69.         { 
  70.             $shortname = ".gif"
  71.         } 
  72.  
  73.         //确认图片全程 
  74.         $photo_markimg = "$pic_name".$shortname; 
  75.  
  76.         //移动图片 
  77.         @move_uploaded_file($_FILES['newimg']['tmp_name'],$savepath.$photo_markimg); 
  78.          
  79.         //记录图片的相对地址为了存储在数据库中以备调用 
  80.         $banner=$gourl.$photo_markimg; 
  81.     } 
  82.     else 
  83.     { 
  84.         echo '请选择图片,<a href="javascript:history.go(-1);">返回</a>'; 
  85.         exit(); 
  86.     } 
  87.  
  88.     //接收参数 
  89.     $banners=addslashes($banner); 
  90.     $states=$_POST['states']; 
  91.     $sort=$_POST['sort']; 
  92.     $ads_url=addslashes($_POST['ads_url']); 
  93.     $title=addslashes($_POST['ads_title']); 
  94.     $dads_des = substr($ads_des,100); 
  95.     $add_time=date("Y-m-d H:i:s"); 
  96.     //存入数据库 
  97.     $InQuery = "INSERT INTO banner(`ads_title`,`ads_des`,`ads_pic`,`add_time`,`sort`,`states`,`ads_url`) VALUES ('$title','$dads_des','$banners','$add_time','$sort','$states','$ads_url');"
  98.     $result=mysql_query($InQuery) or die(mysql_error()); 
  99.      
  100.     if($result) 
  101.     { 
  102.         echo '图片上传成功!  <a href="javascript:history.go(-1);">返回</a>'; 
  103.         exit(); 
  104.     } 
  105.     else 
  106.     { 
  107.         echo '图片上传时发生SQL错误!  <a href="javascript:history.go(-1);">返回</a>'; 
  108.         exit(); 
  109.     } 
  110.      
  111. else 
  112.     include("upload.html"); 
  113.  



如上所示 完整的就可以上传图片了!有问题请留言

下载打包文件 download

 

 

 

顶一下
(3)
75%
踩一下
(1)
25%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
无觅相关文章插件,快速提升流量