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 相关文章推荐
服务器端解压缩zip的脚本
Dec 22 PHP
php addslashes 函数详细分析说明
Jun 23 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
php之CodeIgniter学习笔记
Jun 17 PHP
解析php中curl_multi的应用
Jul 17 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
destoon实现底部添加你是第几位访问者的方法
Jul 15 PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 PHP
PHP中soap的用法实例
Oct 24 PHP
PHP中把对象转换为关联数组代码分享
Apr 09 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 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/02/14 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
php上传大文件设置方法
2016/04/14 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
Angular(5.2-&gt;6.1)升级小结
2018/12/27 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
python实现简单神经网络算法
2018/03/10 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
Python解析json代码实例解析
2019/11/25 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
生产现场工艺工程师岗位职责
2013/11/28 职场文书
运动会入场词200字
2014/02/15 职场文书
《雷鸣电闪波尔卡》教学反思
2014/02/23 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
服务承诺书怎么写
2014/05/24 职场文书
大学生就业求职信
2014/06/12 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
2014年纳税评估工作总结
2014/12/23 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
Oracle 多表查询基本语法实例
2022/04/18 Oracle
MySQL查询日期时间
2022/05/15 MySQL