利用php怎么将上传的图片保存到数据库中

介绍

今天就跟大家聊聊有关利用php怎么将上传的图片保存到数据库中,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

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

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

首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。
mysql数据库提供了BLOB类型用于存储大量数据,团是一个二进制对象,能容纳不同大小的数据。

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

TinyBlob ,,,,,最大255 b
Blob ,,,,,,,,,,,,最大65 k
MediumBlob 最大16 m
LongBlob ,,,,最大4 g

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

代码如下:

创建表“照片”(,
,“id”int(10)无符号不是零auto_increment,,
,“类型”varchar(100)不是NULL,,
,“binarydata”mediumblob不是NULL,,
,主要KEY (“id”),
)=MyISAM引擎默认字符集=latin1 AUTO_INCREMENT=1中的一个;

upload_image_todb。php:

代码如下:

& lt; ? php 
//连接数据库,
$康涅狄格州=@mysql_connect (“localhost",“root",““),或死亡(mysql_error ()),,
@mysql_select_db(& # 39;演示# 39;,康涅狄格州美元)或死亡(mysql_error ());,

//判断action 
action=收取美元($ _REQUEST[& # 39;行动# 39;])?$ _REQUEST[& # 39;行动# 39;]:& # 39;& # 39;,,

//上传图片,
if ($ action==& # 39;添加# 39;){,
,,,file_get_contents ($ $=mysql_escape_string形象(带有_file[& # 39;照片# 39;][& # 39;tmp_name& # 39;])),,
,,,type=带有_file美元[& # 39;照片# 39;][& # 39;类型# 39;];,
,,,$ sqlstr=安迦胝掌?类型,binarydata)值(& # 39;“。美元类型!”& # 39;,& # 39;“。美元干净自己的形象& # 39;),,,
,,,@mysql_query (sqlstr美元)或死亡(mysql_error ()),,
,,,头(& # 39;地点:upload_image_todb.php& # 39;),,
,,,退出(),,
//显示图片,
} elseif ($ action==& # 39;显示# 39;){,
,,,id=收取美元($ _GET [& # 39; id # 39;]) ?intval中($ _GET [& # 39; id # 39;]): 0,,
,,,$ sqlstr=皊elect *从照片id=$ id",,
,,,sqlstr美元$查询=mysql_query()或死亡(mysql_error ()),,
,,,(线程=作用是美元查询);,
,,,如果美元(线程){,
,,,,,,,头(& # 39;- type: & # 39;。美元线程(& # 39;类型# 39;]),,
,,,,,,,echo $线程[& # 39;binarydata& # 39;];,
,,,,,,,退出(),,
,,,},其他
} {,
//显示图片列表及上传表单,
?祝辞,
& lt; !DOCTYPE HTML公众“-//W3C//DTD HTML 4.01过渡//EN"“http://www.w3.org/TR/html4/loose.dtd"祝辞,html>
& lt;
, & lt; head>,
,& lt;元http-equiv=癱ontent-type"内容=皌ext/html;charset=utf-8"祝辞,
,& lt; title>将图片上传到数据库演示& lt;/title>,
, & lt;/head>,
,
, & lt; body>,
,& lt;表单名称=癴orm1"方法=皃ost"action=皍pload_image_todb.php"enctype=岸嗖糠?form-data"祝辞,
,& lt; p>图片:& lt;输入类型=癴ile"name=皃hoto"祝辞& lt;/p>,
,& lt; p> & lt;输入类型=癶idden"name=癮ction"值=https://www.yisu.com/zixun/疤砑印?
,时间/form> & lt;
,
& lt; ? php 
,,,$ sqlstr=皊elect *的照片顺序id desc",,
,,,sqlstr美元$查询=mysql_query()或死亡(mysql_error ()),,
,,,$=结果数组(),,
,,,而(线程=美元作用(查询)美元){,
,,,,,,,结果[]=线程;美元,
,,,},
,,,foreach(结果val美元){,
,,,,,,,回声& # 39;& lt; p> & lt; img src=https://www.yisu.com/zixun/皍pload_image_todb.php ?行动=出示身份证件='。瓦尔(“id”)美元。”科技=?time()”。“宽度=" 150 ">

';
,,,},
?祝辞,时间/body>
& lt;;时间/html>
& lt;;
& lt; ? php 
},
?在

看完上述内容,你们对利用php怎么将上传的图片保存到数据库中有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

利用php怎么将上传的图片保存到数据库中