php多图保存到数据库,php怎么上传图片并保存到数据库-成都快上网建站

php多图保存到数据库,php怎么上传图片并保存到数据库

thinkphp 多图上传,如何把图片路径保存到数据库?

关于上传文件:

成都创新互联公司,专注为中小企业提供官网建设、营销型网站制作、响应式网站设计、展示型网站设计制作、成都网站设计等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。

推荐使用插件Uploadify!

使用方法:

下载地址:

关于多图上传:

在客户端定义一个js变量,用于缓存每次异步上传图片路径;

最后提交表达数据的时候就把这些路径集合保存到数据库即可!

php 文章图片怎样存入数据库??

一般来说,图片不会存入数据库的,图片都是上传到服务器里的一个路径下,数据库的字段栏位只记录这张对应图片的路径,图片显示是在读取数据库的内容,并显示字段记录对应的URL。

怎样用php实现上传图片到数据库

php实现上传图片保存到数据库的方法。具体分析如下:

php 上传图片,一般都使用move_uploaded_file方法保存在服务器上。但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外)

如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间。

首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。

mysql数据库提供了BLOB类型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据。

BLOB类型有以下四种,除存储的最大信息量不同外,其他都是一样的。可根据需要使用不同的类型。

TinyBlob       最大 255B

Blob              最大 65K

MediumBlob  最大 16M

LongBlob      最大 4G

数据表photo,用于保存图片数据,结构如下:

CREATE TABLE `photo` (  

`id` int(10) unsigned NOT NULL auto_increment,  

`type` varchar(100) NOT NULL,  

`binarydata` mediumblob NOT NULL,  

PRIMARY KEY  (`id`)  

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

upload_image_todb.php代码如下:

?php  

// 连接数据库  

$conn=@mysql_connect("localhost","root","")  or die(mysql_error());  

@mysql_select_db('demo',$conn) or die(mysql_error()); // 判断action  

$action = isset($_REQUEST['action'])? $_REQUEST['action'] : ''; 

// 上传图片  

if($action=='add'){  

$image = mysql_escape_string(file_get_contents($_FILES['photo']['tmp_name']));  

$type = $_FILES['photo']['type'];  

$sqlstr = "insert into photo(type,binarydata) values('".$type."','".$image."')";  

@mysql_query($sqlstr) or die(mysql_error());  

header('location:upload_image_todb.php');  

exit();  

// 显示图片  

}elseif($action=='show'){  

$id = isset($_GET['id'])? intval($_GET['id']) : 0;  

$sqlstr = "select * from photo where id=$id";  

$query = mysql_query($sqlstr) or die(mysql_error());  

$thread = mysql_fetch_assoc($query);  

if($thread){  

header('content-type:'.$thread['type']);  

echo $thread['binarydata'];  

exit();  

}  

}else{  

// 显示图片列表及上传表单  

?  

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""  

html  

head  

meta http-equiv="content-type" content="text/html; charset=utf-8"  

title upload image to db demo /title  

/head  

body  

form name="form1" method="post" action="upload_image_todb.php" enctype="multipart/form-data"  

p图片:input type="file" name="photo"/p  

pinput type="hidden" name="action" value="add"input type="submit" name="b1" value="提交"/p  

/form  

?php  

$sqlstr = "select * from photo order by id desc";  

$query = mysql_query($sqlstr) or die(mysql_error());  

$result = array();  

while($thread=mysql_fetch_assoc($query)){  

$result[] = $thread;  

}  

foreach($result as $val){  

echo 'pimg 

src="upload_image_todb.php?action=showid='.$val['id'].'t='.time().'"

width="150"/p';  

}  

?  

/body  

/html  

?php  

}  

?

程序运行截图和数据库截图:

php图片保存到数据库

1.图片转换 将上传的图片读取到一个字符串中,再用base64对数据进行编码 $img =base64_encode(file_get_contents($_FILES['file_head']['tmp...

2.显示图片 imgsrc="{$base64String}" 这样就能把图片显示出来了

请问:php如何把上传的多张图片存入数据库的同一个字段中呢?

input type="file[]" name="photo"  /

input type="file[]" name="photo"  /

input type="file[]" name="photo"  /

这样会成为一个数组,存的时候把这个数组用implode() 函数分割成字符串,取出来的时候可以使用explode函数(这个方法存的是路径)

还有一种方法是直接存二进制的,这种方法几乎不用对数据库压力很大,而且删除操作会留下很大的磁盘碎片

但是要了解

给你个电子书上面都有

php中,如何将图片保存到mysql中?

笔者是在ubuntu环境下测试的:首先创建一个查询语句的文件

如query.sql(名字你自己取),内容大致如下:use

datebase_name;

//不解释了吧

select

xxx

from

table

where

where-condition....;

//就是一个你需要查询的语句保存好,现在开始操作:#mysql

-h

服务器ip地址

-u

用户名

-p密码

-p

端口

输出的文件名demo:

mysql

-h

127.0.0.1

-u

root

-p

1234

-p

3300

/home/michael/test.txt好了,现在你可以在对应的目录中找到你想要的文件了。


当前文章:php多图保存到数据库,php怎么上传图片并保存到数据库
文章转载:http://kswjz.com/article/hdgjpd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流