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:

// 连接数据库

$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{

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

?>

upload image to db demo

图片:

$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 '

';

}

?>

}

?>

希望本文所述对大家的php程序设计有所帮助。

php图片保存在mysql_php实现上传图片保存到数据库的方法相关推荐

  1. php实现上传图片保存到数据库的方法

    http://www.jb51.net/article/61034.htm 作者:傲雪星枫 字体:[增加 减小] 类型:转载 这篇文章主要介绍了php实现上传图片保存到数据库的方法,可通过将图片保存在 ...

  2. python读取数据库导出文件_Python 获取 datax 执行结果保存到数据库的方法

    执行 datax 作业,创建执行文件,在 crontab 中每天1点(下面有关系)执行: 其中 job_start 及 job_finish 这两行记录是自己添加的,为了方便识别出哪张表. #!/bi ...

  3. C#(WinForm)上传图片保存到数据库和从数据库读取图片显示到窗体

    1 //浏览图片 2 3 private void btnUp_Click(object sender, EventArgs e) 4 5 { 6 7 OpenFileDialog ofd = new ...

  4. vue实现选择图片和预览,并保存到数据库中

    效果展示 MYSQL数据库建表 如果不清楚vue怎么连接数据库,可以参考该链接: Vue项目通过node连接MySQL数据库并实现增删改查操作_呦呀的博客-CSDN博客_vue连接mysql数据库 在 ...

  5. 网页图片画圈指摘,然后保存进数据库

    好久没写blog了.刚才在论坛,有位兄弟问我,如果页面上有张图片,如果图片有瑕疵,如何画个圆来标注出来.存进数据库. 这个设计是可行的,而且思路非常好. ie下需要注意: 透明canvas虽然能盖在图 ...

  6. java图片保存到数据库_java中将图片保存到数据库中

    在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非 ...

  7. 图片保存到数据库和从数据库读取图片并显示(C#)

    图片保存到数据库的方法: public void imgToDB(string sql) {   //参数sql中要求保存的imge变量名称为@images //调用方法如:imgToDB(" ...

  8. 以二进制的形式保存在数据库中

    转眼间在博客园里待了快一年了,我还能记得去年的这个时候老师有个项目,在这个项目里需要把图片保存到数据库里,以前我做的就是把路径保存到数据库,后来为了实现这个功能我可是费了不少劲啊,问东问西的最后还是在 ...

  9. 文件路径存入mysql_网站的文件的上传,并将相对路径保存到数据库的代码实现。...

    如果网站使用的是struts2框架,那么上传功能可以这样做. 网站的建设过程中免不了要上传文件,比如管理员上传图片到服务器上,然后将文件的相对路径保存在数据库. 这里为什么说是相对路径保存在数据库,因 ...

最新文章

  1. 如何测试ASP.NET Core Web API
  2. UI_UITableView_搭建
  3. Scrapy框架学习记录
  4. php文字超链接怎么写,php 文本URL转换为超链接功能实例
  5. Java中对象和引用的理解
  6. access mysql oracle数据库_Oracle Access 数据库连接 使用
  7. Oracle数据库备份与还原命令 -- exp/imp
  8. mysql 分组group
  9. MySQL优化详解(二)——数据库架构和使用优化
  10. TextureView实现视频播放
  11. #Linux Shell 脚本编程(10)—文本过滤(合并与分割—sort、uniq、join、cut、paste、split)
  12. BT5 WIFI破解
  13. 华为终端穿戴软件测试,【华为终端测试面试】说说群面,可谓是 最...-看准网...
  14. 转载:中国经济酷似日泡沫时代:股市上涨和楼价疯涨
  15. matlab绘制正弦曲线
  16. MBA-day21 假言推理-练习题
  17. 产品商业需求文档_【器】我的产品需求文档心法
  18. 宠物小精灵之收服 01背包 POJ4102
  19. 为perf4j提供集中式监控项目perf4j-dashboard
  20. 红外遥控及Android手机红外遥控器开发

热门文章

  1. js同步获取文本框textarea输入的内容
  2. Could not open a connection to your authentication agent
  3. C# 网络编程之豆瓣OAuth2.0认证具体解释和遇到的各种问题及解决
  4. 基于路由器网络诊断步骤和故障排除技巧
  5. ISA SERVER日志存放SQL SERVER中
  6. 3升和5升的不规则容器怎样量出4升的水
  7. HTTP Host 头攻击
  8. 获赞23w+在B站一夜爆火,大写的牛B!程序员进阶网盘资源(有链接和提取码)...
  9. 计算机网络原理超详解说
  10. 架构师成长计划”牵手百度,聚焦未来数据中心基础架构|Science x Intel