PHP使用BLOB存取图片信息实例
来源:互联网 发布:淘宝买到假货怎么投诉 编辑:程序博客网 时间:2024/06/06 04:09
- PHP使用BLOB存取图片信息实例
- BLOB介绍
- mysql BLOB类型
- 创建数据库
- PHP文件转二进制代码
- HTML代码
- 读取二进制图片
- php完整代码
- HTML代码
- BLOB介绍
PHP使用BLOB存取图片信息实例
BLOB介绍
BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。根据Eric Raymond的说法,处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。但也有专家强调,这种处理大数据对象的方法是把双刃剑,它有可能引发一些问题,如存储的二进制文件过大,会使数据库的性能下降。在数据库中存放体积较大的多媒体对象就是应用程序处理BLOB的典型例子。
mysql BLOB类型
MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。
linux修改etc/my.cnf[mysqld]max_allowed_packet = 16M //不同于[mysqldump]下的max_allowed_packet
注意: blob是mysql数据库保留字,请务必不要用于字段名。
创建数据库
CREATE TABLE IF NOT EXISTS `myimg` ( `imgid` tinyint(3) NOT NULL AUTO_INCREMENT, `imgtype` varchar(25) NOT NULL DEFAULT '', `imgblob` mediumblob NOT NULL, PRIMARY KEY (`imgid`) )
PHP文件转二进制代码
数据库读取更新插入都是一样的,就不写了,这里只写PHP上传图片转二进制的关键代码
<?php if(count($_FILES) > 0) { if(is_uploaded_file($_FILES['upimg']['tmp_name'])) { // 转成二进制 $imgBlob =addslashes(file_get_contents($_FILES['upimg']['tmp_name'])); }
HTML代码
上传文件表单必须定义enctype
enctype="multipart/form-data"
完整代码
<html> <head> <titel>上传文件到Blob</title></head> <body> <form name="formImage" enctype="multipart/form-data" action="" method="post"> <label>上传文件:</label> <input name="upimg" type="file"/> <input type="submit" value="提交"/> </form> </div> </body> </html>
读取二进制图片
在浏览器上显示BLOB图像,我们必须:
1、从MySQL BLOB获得图像数据和类型
2、将类型设置为图像(image/jpg, image/gif, …)使用PHP header()函数。
3、输出图像内容。
php完整代码
文件名:imageView.php
<?php $conn = mysql_connect("localhost", "root", ""); mysql_select_db("myimg") or die(mysql_error()); if(isset($_GET['imgid'])) { $sql = "SELECT imgtype,imgblob FROM myimg WHERE imgid=".$_GET['imgid']; $result = mysql_query("$sql") or die("<b>Error:</b>SQL语句错误<br/>".mysql_error()); $row = mysql_fetch_array($result); header("Content-type: " . $row["imgtype"]); echo $row["imgblob"]; } mysql_close($conn); ?>
HTML代码
<img src="imageView.php?imgid=<?php echo $row["imgid"]; ?>" />
感谢浏览收看本文,希望可以对php开发者有帮助。
PHP BloB完整实例参考网络文章
——http://blog.csdn.net/u012275531/article/details/17914999
0 0
- PHP使用BLOB存取图片信息实例
- PHP 教程之如何使用BLOB存取图片信息实例
- 使用mysql的blob类型存取图片
- jdbcTemplate存取blob(图片)
- 以Blob形式存取图片到Oracle
- hibernate存取图片实例
- 使用存储过程(PL/SQL)向数据库中存取BLOB对象——图片
- 使用Struts实现BLOB字段的存取
- 使用ADO实现BLOB数据的存取
- 使用ADO实现BLOB数据的存取
- BCB存取图片等信息!
- BCB存取图片等信息!
- 使用pymsql存取图片
- Java 访问mysql的blob,对图片进行存取
- 本地图片预览+blob使用
- Java XML存取二进制图片信息
- Android-sqlite数据库存取图片信息
- Android-sqlite数据库存取图片信息
- Objective C中数组排序几种情况的总结
- IOS开发Q&A-IOS8定位应用定位失败及音频录制的相关参数-1
- 二叉排序树
- cocos2d-x之Android播放视频c++代码
- Spring Web MVC 的HandlerMapping的使用之-------BeanNameUrlHandlerMapping
- PHP使用BLOB存取图片信息实例
- MyEclipse 10 反编译插件jad.exe配置详解
- C# Winform绘制动态曲线
- 关于union
- 字符串面试题(一)字符串逆序
- 1156: 钟
- 已放弃(核心已转储)和段错误(核心已转储)原因
- Spring MVC前端与后端5种ajax交互方式
- fzu2190---非提的救赎 (单调栈)