php使用blob存取图片信息的方法
BLOB是一种MySQL数据类型,称为二进制大对象。正如它的名字它是用来存储类似MYSQL二进制和VARBINARY类型的、大量的字符串数据。
创新互联建站长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为尼木企业提供专业的网站建设、成都网站设计,尼木网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
MySQL BLOB分类
MySQL BLOB类型 最大存储长度(字节)
TINYBLOB (1)(2 ^ 8)
blob ((2 ^ 16)1)
MEDIUMBLOB ((2 ^ 24)1)
LONGBLOB ((2 ^ 32)1)
首先,我们需要创建一个MySQL表与一个BLOB字段。
CREATE TABLE IF NOT EXISTS `output_images` ( `imageId` tinyint(3) NOT NULL AUTO_INCREMENT, `imageType` varchar(25) NOT NULL DEFAULT '', `imageData` mediumblob NOT NULL, PRIMARY KEY (`imageId`) )
插入数据
将图片信息插入MySQL BLOB字段中。
1、上传图像文件.
2、获取图像属性(图像数据、图像类型等等。)
3、图像文件插入BLOB。
PHP实现脚本:
imageUpload.php
0) { if(is_uploaded_file($_FILES['userImage']['tmp_name'])) { mysql_connect("localhost", "root", ""); mysql_select_db ("phppot_examples"); $imgData =addslashes(file_get_contents($_FILES['userImage']['tmp_name'])); $imageProperties = getimageSize($_FILES['userImage']['tmp_name']); $sql = "INSERT INTO output_images(imageType ,imageData) VALUES('{$imageProperties['mime']}', '{$imgData}')"; $current_id = mysql_query($sql) or die("Error: Problem on Image Insert
" . mysql_error()); if(isset($current_id)) { header("Location: listImages.php"); }}} ?>Upload Image to MySQL BLOB
执行这个脚本后上传表单将显示如下:
提交表单,PHP获取内容图像的文件并将其作为二进制数据存储到MySQL BLOB列。
显示图片
在浏览器上显示BLOB图像,我们必须:
1、从MySQL BLOB获得图像数据和类型
2、将类型设置为图像(image/jpg, image/gif, …)使用PHP header()函数。
3、输出图像内容。
imageView.php Error: Problem on Retrieving Image BLOB
" . mysql_error()); $row = mysql_fetch_array($result); header("Content-type: " . $row["imageType"]); echo $row["imageData"]; } mysql_close($conn); ?>
上面的PHP代码将显示MySQL BLOB存储的图片。从HTML图像标签我们可以参考这个PHP文件与相应image_id作为参数。例如:
" />
完成代码如下:
listImages.php
List BLOB Images " />
以上就是php使用blob存取图片的信息(含源码)的详细内容,更多请关注创新互联其它相关文章!
分享标题:php使用blob存取图片信息的方法
新闻来源:http://myzitong.com/article/jdocsc.html