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 27 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
php去除二维数组的重复项方法
Nov 03 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
PHP 7.4中使用预加载的方法详解
Jul 08 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 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学习之数据类型之间的转换代码
2011/05/29 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
php加密解密实用类分享
2014/01/07 PHP
PHP解决中文乱码
2017/04/28 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
Python程序员开发中常犯的10个错误
2014/07/07 Python
Python的randrange()方法使用教程
2015/05/15 Python
Python生成器generator用法示例
2018/08/10 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
实习鉴定评语
2014/01/19 职场文书
求职信的正确写法
2014/07/10 职场文书
公司合作协议范文
2014/10/01 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
支行行长岗位职责
2015/02/15 职场文书
运动会入场词
2015/07/18 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
Golang数据类型和相互转换
2022/04/12 Golang
Nginx安装配置详解
2022/06/25 Servers