php上传图片到指定位置路径保存到数据库的具体实现


Posted in PHP onDecember 30, 2013

1.conn.php

<? 
$host="localhost"; //数据库服务器名称 
$user="root"; //用户名 
$pwd="1721"; //密码 
$conn=mysql_connect($host,$user,$pwd); 
mysql_query("SET 
character_set_connection=gb2312, 
character_set_results=gb2312, 
character_set_client=binary",$conn); if ($conn==FALSE) 
{ 
echo "<center>服务器连接失败!<br>请刷新后重试。</center>"; 
return true; 
} 
$databasename="database";//数据库名称 
do 
{ 
$con=mysql_select_db($databasename,$conn); 
}while(!$con); 
if ($con==FALSE) 
{ 
echo "<center>打开数据库失败!<br>请刷新后重试。</center>"; 
return true; 
} 
?>

2.upload.php
<?php 
if ($_GET['action'] == "save"){ 
include_once('conn.php'); 
include_once('uploadclass.php'); 
$title=$_POST['title']; 
$pic=$uploadfile; 
if($title == "") 
echo"<Script>window.alert('对不起!你输入的信息不完整!');history.back()</Script>"; 
$sql="insert into upload(title,pic) values('$title','$pic')"; 
$result=mysql_query($sql,$conn); 
//echo"<Script>window.alert('信息添加成功');location.href='upload.php'</Script>"; 
} 
?> 
<html> 
<head> 
<title>文件上传实例</title> 
</head> 
<body> 
<form method="post" action="?action=save" enctype="multipart/form-data"> 
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%"> 
<tr> 
<td width=55 height=20 align="center"> </TD> 
<td height="16"> <table width="48%" height="93" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td>标题:</td> 
<td><input name="title" type="text" id="title"></td> 
</tr> 
<tr> 
<td>文件: </td> 
<td><label> 
<input name="file" type="file" value="浏览" > 
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"> 
</label></td> 
</tr> 
<tr> 
<td> </td> 
<td><input type="submit" value="上 传" name="upload"></td> 
</tr> 
</table></td> 
</tr> 
</table> 
</form> 
</body> 
</html>

3.uploadclass.php
<?php 
$uploaddir = "upfiles/";//设置文件保存目录 注意包含/ 
$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型 
$patch="upload/";//程序所在路径 //获取文件后缀名函数 
function fileext($filename) 
{ 
return substr(strrchr($filename, '.'), 1); 
} 
//生成随机文件名函数 
function random($length) 
{ 
$hash = 'CR-'; 
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'; 
$max = strlen($chars) - 1; 
mt_srand((double)microtime() * 1000000); 
for($i = 0; $i < $length; $i++) 
{ 
$hash .= $chars[mt_rand(0, $max)]; 
} 
return $hash; 
} 
$a=strtolower(fileext($_FILES['file']['name'])); 
//判断文件类型 
if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type)) 
{ 
$text=implode(",",$type); 
echo "您只能上传以下类型文件: ",$text,"<br>"; 
} 
//生成目标文件的文件名 
else{ 
$filename=explode(".",$_FILES['file']['name']); 
do 
{ 
$filename[0]=random(10); //设置随机数长度 
$name=implode(".",$filename); 
//$name1=$name.".Mcncc"; 
$uploadfile=$uploaddir.$name; 
} 
while(file_exists($uploadfile)); 
if (move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile)) 
{ 
if(is_uploaded_file($_FILES['file']['tmp_name'])) 
{ 
echo "上传失败!"; 
} 
else 
{//输出图片预览 
echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>"; 
echo "<br><center><a href='upload.htm'>继续上传</a></center>"; 
} 
} 
} 
?>

4.数据库文件
-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2009 年 07 月 30 日 21:43
-- 服务器版本: 5.0.11
-- PHP 版本: 5.1.1
--
-- 数据库: `database`
--

-- --------------------------------------------------------

--
-- 表的结构 `news`
--

CREATE TABLE `news` (
`id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(50) NOT NULL,
`content` varchar(50) NOT NULL,
`path` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=8 ;

--
-- 导出表中的数据 `news`
--

INSERT INTO `news` (`id`, `title`, `content`, `path`) VALUES
(1, 'ag ', 'ag ', '1.html'),
(2, '你好2', '你好,新闻内容2', '2.html'),
(3, '', '', '3.html'),
(4, 'ga ', 'ag ', '4.html'),
(5, 'ag ', 'ag ', '1.html'),
(6, 'ag ', 'ag ', '2.html'),
(7, 'ag ', 'ag ', '3.html');

-- --------------------------------------------------------

--
-- 表的结构 `upload`
--

CREATE TABLE `upload` (
`uploadid` int(11) unsigned NOT NULL auto_increment,
`title` varchar(50) NOT NULL,
`pic` varchar(50) NOT NULL,
PRIMARY KEY (`uploadid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=10 ;

--
-- 导出表中的数据 `upload`
--

INSERT INTO `upload` (`uploadid`, `title`, `pic`) VALUES
(1, 'ga ', 'upfiles/CR-xpvDk12dsI.jpg'),
(2, 'ga ', 'upfiles/CR-HkC6fBfAtW.jpg'),
(3, '你好', 'upfiles/CR-E8Ohxk6KxB.jpg'),
(4, '', ''),
(5, '', ''),
(6, '', 'upfiles/CR-92xaug6jhu.jpg'),
(7, '', 'upfiles/CR-a7niAZlhfW.jpg'),
(8, '帅哥', 'upfiles/CR-v9Ary46JoS.jpg'),
(9, '爱国', 'upfiles/CR-XyaJEndF1K.jpg');

PHP 相关文章推荐
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
Thinkphp关闭缓存的方法
Jun 26 PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
May 18 PHP
PHP中header用法小结
May 23 PHP
PHP中类的继承和用法实例分析
May 24 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
php-perl哈希算法实现(times33哈希算法)
Dec 30 #PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 #PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 #PHP
微信扫描二维码登录网站代码示例
Dec 30 #PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 #PHP
一个好用的PHP验证码类实例分享
Dec 27 #PHP
PHP连接SQLServer2005方法及代码
Dec 26 #PHP
You might like
随时给自己贴的图片加文字的php代码
2007/03/08 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
javascript中的几个运算符
2007/06/29 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
python基础教程之常用运算符
2014/08/29 Python
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
使用Python编写vim插件的简单示例
2015/04/17 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
django框架模板语言使用方法详解
2019/07/18 Python
详解python statistics模块及函数用法
2019/10/27 Python
python实现的分层随机抽样案例
2020/02/25 Python
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
校园门卫岗位职责
2013/12/09 职场文书
乡下人家教学反思
2014/02/01 职场文书
股份转让协议书范本
2015/01/27 职场文书
雾霾停课通知
2015/04/24 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript