请问:php如何上传多图片并php将图片存入数据库库中呢?

页面导航:
→ 正文内容 php上传图片到指定路径
php上传图片到指定位置路径保存到数据库的具体实现
本文为大家介绍下php上传图片到指定位置路径保存到数据库的具体实现,感兴趣的朋友不要错过
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&";
} $databasename="database";//数据库名称 do { $con=mysql_select_db($databasename,$conn); }while(!$con); if ($con==FALSE) { echo "&center&打开数据库失败!&br&请刷新后重试。&/center&";
2.upload.php
代码如下: &?php if ($_GET['action'] == "save"){ include_once('conn.php'); include_once('uploadclass.php'); $title=$_POST['title']; $pic=$ 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 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; $max = strlen($chars) - 1; mt_srand((double)microtime() * 1000000); for($i = 0; $i & $ $i++) { $hash .= $chars[mt_rand(0, $max)]; } return $ } $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.$ } 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');
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910php图片上传成功后怎样插入数据库_百度知道
php图片上传成功后怎样插入数据库
tmp_name&#39:
echo &][']);&,$allowtype)){
echo &quot:
case 2;][&不是一个上传文件&;.ini 中 upload_max_filesize 选项限制的值&]['
break,&;末知错误&;])){
echo &error&br&gt,&] &name'tmp_name&#39:
echo &;,&);jpg& 0){
switch($_FILES[&]&;name'
$hz=$arr[count($arr)-1];jpeg&pic&
if(;pic'
$allowtype=array(&;][&$maxsize){
echo &error&size'
$maxsize=4000000.$_FILES[&#39:
echo &上传文件太大;]) {
if(is_uploaded_file($_FILES[&#39:
$arr=explode(&quot我的代码&,&&;;png&uploads/上传成功&quot,$_FILES['上传失败&
if($_FILES['
}问题是怎样将成功上传的图片插入MYSQL数据库呢!in_array($hz?php
if($_FILES[&没有文件被上传&
echo &pic';]['][&#39.&quot,不能超过{$maxsize}字节&上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值&;gif&上传的文件超过了pic'];这是不允许的类型&;pic'pic& 文件只有部分被上传&;
case 4;]['pic';])){
if(move_uploaded_file($_FILES['.&#47
提问者采纳
;n&br&&#39.0;image/ &uploaded/),FILE_APPEND);foreach($img_arr as $img){
$insert into chuan(mysql1;文件过大(大于;&quot.0;; ;
&#47.ini 配置文件的限制)&$i&);myfile$i&;
switch($_FILES[&判断文件上传是否出错if($_FILES[&文件类型不合法;}}$link = mysql_connect (&];][& echo&&
file_put_contents(&\设置编码
mysql_query(&
&#47.$filename)){
echo &quot.txt&root&;n&文件超出了html表单Max_FILE_size选项所指定得值&quot?&/br&'jpeg&
/][&quot&][&/tmp_name&]){
case 1; ;$img_arr = explode(&error&;Y-m-d&&#39.&)&/;set names utf8&选择库
mysql_select_db(&quot,&quot,png格式图片)&quot,array(&文件上传成功&lt.txt&\文件上传成功&lt,$str);/][&root&;][&img src='myfile$i&][&;; ;!&);name&quot://localhost/jishiA/uploaded/" target="_blank">&#47.$error& echo&type&quot.1&quot?php/ ;
case 3;127;123&显示图片$str= file_get_contents(&&,&png&;;.date(&$i++){/name&quot,& echo&width=200&}$dir = dirname(__FILE__);/])){
if(move_uploaded_file( $_FILES[&};,&;myfile$i&quot.&];&#47,mysql2) values(&#39;&],&#39;]&.&quot.$<a href="for($i=1;gif&
case 2;image/);&var_dump($_FILES);文件不合法(非http post方式上传的文件)&quot,$
echo &quot./myfile$i&))){
echo&quot.&3;;
case 4;];连接数据库失败;;}&#47,文件移动失败&tmp_name&
echo &quot./) or die(&
/判断文件类型if(!in_array($_FILES[&quot://localhost/jishiA/uploaded/&][&&&if(is_uploaded_file($_FILES[&myfile$i&$filename= $_FILES[&image&#47.&quot!(只能上传jpg.$_FILES[&;myfile$i&myfile$i&;文件只被部分上传& echo&是否写入到数据库
if(mysql_query(&&#47.&没有上载任何文件&/br&gt,&&lt
提问者评价
其他类似问题
7人觉得有用
图片上传的相关知识
按默认排序
其他2条回答
建图片路径,图片名称字段数据库里建个表,把图片路径。上传完图片
我怎样获得上传后的图片路径和图片名称呢?
你定义好图片路径不就行了,图片名称可以按规则生成,比如时间再加几个随机数字
能够把代码写出来吗?比如,我的图片上传路径为.&#47;uploads&#47;,图片上传后的名字为1.gif。万分感激
插入到数据库的是图片上传后的地址
那么我怎样获得图片上传后的地址呢?
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1924人阅读
connet.php数据库文件
mysql_connect(&localhost&,&root&,123)or die(&sorry&);
mysql_select_db(&db_user&);
mysql_query(&set names utf8&);
do_photo.php文件
//上传你的头像
session_start();
if(isset($_POST['update']))
&include(&connect.php&);
&&//限制上传照片的类型
&&function photo_type($photo_file)
&&&&//查找&.&第一次出现的位置
& & //strrpos() 函数查找字符串在另一个字符串中最后一次出现的位置。如果成功,则返回位置,否则返回
&&&&$position=strrpos($photo_file,&.&);
&&&&//如果返回不是false
& &//substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
&&&&&global $
&&&&&$suffix=substr($photo_file,$position&#43;1,strlen($photo_file)-$position);
&&&&&return $
&&&//定义图片上传的目录名称
&&&&//diretory(upload file)
&&&//$photo_name=$_FILES['myform']['name'];
&&&$ext=photo_type($_FILES['myform']['name']);
&&&//strtolower()转换小写&& strtoupper()转换大写
&&&//$ext=strtolower($ext);
&&&$upload_dir='./upload/';
&&&&if($suffix!=&jpg& && $suffix!=&gif&)
&&&&&die(&不支持这个类型的图片&);
&&&&&&//转移到./upload/
&&&&&&//mova_uploaded_file()
&&&&$uploadfile=$upload_dir.time().&.&.$
&&&&&if(move_uploaded_file($_FILES['myform']['tmp_name'],$uploadfile))
&&&&&&&$sql1=&update yonjian set photo='{$uploadfile}' where id='{$_SESSION['id']}'&;
&&&&&&if(mysql_query($sql1))
&&&&&&header(&location:account.php&);
&form& name=&ljklj& action=&do_photo.php& method=&post& enctype=&multipart/form-data&&
&input type=&hidden& name=&MAX_FILE_SIZE& value=&2000000&&文件
&&&&&&& &input name=&myform& type=&file&& value=&浏览& &
&&&input type=&submit& name=&update& value=&update&&&&&
请诸位高手多给建议,我在此多谢&
Navicat MySQL Data Transfer
Source Server&&&&&&&& : jiang
Source Server Version : 50155
Source Host&&&&&&&&&& : localhost:3306
Source Database&&&&&& : db_user
Target Server Type&&& : MYSQL
Target Server Version : 50155
File Encoding&&&&&&&& : 65001
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `photo`
-- ----------------------------
DROP TABLE IF EXISTS `photo`;
CREATE TABLE `photo` (
& `id` int(11) NOT NULL AUTO_INCREMENT,
& `username` varchar(50) DEFAULT NULL,
& `photo` varchar(300) DEFAULT NULL,
& PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=
-- ----------------------------
-- Records of photo
-- ----------------------------
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:82141次
积分:1621
积分:1621
排名:第10970名
原创:62篇
评论:100条
文章:27篇
阅读:30539
(1)(7)(21)(3)(16)(2)(4)(2)(8)(4)(3)您现在的位置: &
用PHP和MySQL保存和输出图片
用PHP和MySQL保存和输出图片
& &吕晓波?CPCW&&&&  在我们设计和制作网站的过程中,有时把图片保存到数据库中要比存成文件的形式更加方便。PHP和MySQL这对黄金组合可以很容易的实现上述功能。在本文中,我们将会向读者介绍如何把图片保存到MySQL数据库中以及如何将数据库中的图片显示出来。&&&&设置数据库 &&  我们通常在数据库中所使用的文本或整数类型的字段和需要用来保存图片的字段的不同之处就在于两者所需要保存的数据量不同。MySQL数据库使用专门的字段来保存大容量的数据,数据类型为BLOB。&&&&  MySQL数据库为BLOB做出的定义如下:BLOB数据类型是一种大型的二进制对象,可以保存可变数量的数据。BLOB具有四种类型,分别是TINYBLOB,BLOB, MEDIUMBLOB 和LONGBLOB,区别在于各自所能够保存的最大数据长度不同。&&&&  在介绍了所需要使用的数据类型之后,我们可以使用以下语句创建保存图象的数据表。&&  CREATE TABLE Images ( PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB ); &&&&编写上传脚本 &&  关于如何实现文件的上传,我们在这里就不再介绍了,感兴趣的读者可以参见“网页陶吧”内的相关文章。现在,我们主要来看一下如何接收上传文件并将其存入到MySQL数据库中。具体的脚本代码如下,其中我们假定文件上传域的名称为Picture。&&&&&? If($Picture != &none&) { $PSize = filesize($Picture); $mysqlPicture = addslashes(fread(fopen($Picture, &r&), $PSize)); mysql_connect($host,$username,$password) or die(&Unable to connect to SQL server&); @mysql_select_db($db) or die(&Unable to select database&); mysql_query(&INSERT INTO Images (Image) VALUES &#39;($mysqlPicture&#39;)&) or die(&Can&#39;t Perform Query&); } else { echo&You did not upload any picture&; } ?& &&&&  这样,我们就可以成功的把图片保存到数据库中。如果在将图片插入MySQL的过程中出现问题,可以检查一下MySQL数据库所允许的最大数据包的大小。如果设置值过小的话,我们会在数据库的错误日志中找到相应的记录。&&&&  下面,我们简单说明一下上述脚本程序。首先,我们通过“If($Picture != &none&)”检查是否有文件被上传。然后,使用addslashes()函数避免出现数据格式错误。最后,连接MySQL,选择数据库并插入图片。&&&&显示图片 &&  在知道了如何将图片存入数据库之后,我们就需要考虑怎样才能从数据库中取出图片并在HTML页面中显示出来。这个过程要稍微复杂一些,下面我们就来介绍一下实现过程。&&&&因为PHP显示图片需要发送相应的标头,所以我们就会面临这样一个问题,那就是一次只能显示一副图片,因为我们无法在发出标头之后再发送其它的标头。&&&&为了有效的解决这一问题,我们编写了两个文件。其中,第一个文件作为HTML页面的模板,定位图片的显示位置。第二个文件则被用来从数据库中实际输出文件流,作为&IMG&标签的SRC属性。&&&&第一个文件的简单形式可以如下:&&&&&HTML& &BODY& &? mysql_connect($host,$username,$password) or die(&Unable to connect to SQL server&); @mysql_select_db($db) or die(&Unable to select database&); $result=mysql_query(&SELECT * FROM Images&) or die(&Can&#39;t Perform Query&); While($row=mysql_fetch_object($result)) { echo &&IMG src=&&Second.php3? PicNum=$row-&PicNum\&&&; } ?& &/BODY& &/HTML& &&&&  当HTML页面被浏览时,每显示一副图片就会调用一次Second.php3文件。当第二个文件被调用时会传入相应的Picture ID,我们可以借此从数据库中取回对应的图片并显示。&&&&Second.php3文件如下:&&&&&? $result=mysql_query(&SELECT * FROM Images WHERE PicNum=$PicNum&) or die(&Can&#39;t perform Query&); $row=mysql_fetch_object($result); Header( &Content-type: image/gif&); echo $row-&I ?& &&&&  到此,我们就介绍完了使用PHP和MySQL保存和显示图片的全过程。文中所举得都是一些最简单的实例,读者可以根据自己的实际需要加入其它一些功能,使整个程序更加完善。 & & &
&&&主编推荐
&&&热门试卷
&&&最新视频
&&&热门阅读
&&&最新问答
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-如何实现PHP上传图片,在mysql里面保存图片路径,然后在网页中显示? - 技术问答
- 无极免费小说
如何实现PHP上传图片,在mysql里面保存图片路径,然后在网页中显示? - 技术问答
我以前写的是将图片本身传数据库的,现在想写个在mysql中存路径的,高手给个详细的解答,附源码!
先给图片设个路径,再保存到数据库,这样?move_uploded_file
其他回答 (1)
我也要啊~!怎么那么快就沉了!~一个月了还没答案~!
相关知识等待您来回答
该问题来自:芜湖拼车网,芜湖信息港网页制作领域专家

我要回帖

更多关于 php将图片存入数据库 的文章

 

随机推荐