php将图片以二进制形式保存到mysql数据库的解决方法
来源:互联网 发布:鼻子丑怎么办 知乎 编辑:程序博客网 时间:2024/04/29 06:00
一般情况下我们网站上传的图片是存放到服务器下的文件中,数据库是保存图片路径即可。但有些特殊情况或项目要求:php将上传图片以二进制保存到mysql数据库。
把图片数据保存到数据库中的好处:多台服务器间可以实现文件共享,节省空间。
图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库。mysql数据库中BLOB是一个二进制对象,能容纳不同大小的数据。
BLOB类型有以下四种,除存储的最大信息量不同外,其他都是一样的
//sql语句 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 ;
function BinaryPhoto($action){ //上传图片 if($action=='add'){ $image = file_get_contents($_FILES['photo']['tmp_name']); $type = $_FILES['photo']['type']; $sqlstr = "insert into photo(type,binarydata) values('".$type."','".$image."')"; $result = mysql_query($sqlstr) or die(mysql_error()); // 显示图片 }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); } return $result;}
如果用file_get_contents存入数据库成功后,但是在读取的时候图片不能显示,可以用base64转换一下格式,可以参考下下面这两篇文章
http://www.webym.net/jiaocheng/892.html
https://www.cnblogs.com/luckyguy/p/3466710.html
阅读全文
0 0
- php将图片以二进制形式保存到mysql数据库的解决方法
- php将图片以二进制保存到mysql数据库并显示
- C#将图片以二进制形式保存数据库
- 以二进制形式将图片保存到数据库,用存诸过程实现(完整代码+sql语句)
- Flex上传图片,将图片保存以二进制流的方式保存到数据库。
- FileUpload实现将图片(以二进制)保存到数据库
- 将图片以二进制流保存到数据库中
- visual c++将图片以二进制流的形式存入到mysql中
- 图片以二进制的形式存储到数据库并读取
- 以二进制码形式将图片存到数据库中,再从数据库中以二进制的形式从数据库中读出来
- 图片以二进制的格式保存到数据库
- 将图片以二进制的格式存储到数据库中
- php将图片保存到mysql数据库及从数据库中读取图片的方法源码
- php将图片保存到mysql数据库及从数据库中读取图片的方法源码
- php将图片保存到mysql数据库及从数据库中读取图片的方法源码
- php将图片保存到mysql数据库及从数据库中读取图片的方法源码
- 将图片以二进制形式存入数据库中
- 将图片以二进制代码形式存入数据库
- logback 配置详解(一)
- C语言指针入门(二)
- hibernate系列十二:延迟加载
- 面试新的体会(第一天)
- Boot流程
- php将图片以二进制形式保存到mysql数据库的解决方法
- Qt Creator(mingw)下编译和配置OpenCV
- 【Android】Android 7中logcat读logdr的处理
- 单例模式
- Java Servlet(三) 监听器
- Shell(四)
- 利用Python进行数据分析之Numpy
- Linux账号管理基础知识总结
- 除法