php 操作 MySQL 中的Blob类型 存储图片
来源:互联网 发布:linux crontab java 编辑:程序博客网 时间:2024/05/29 07:48
我们需要保存一个文件或者一张图片或者其他二进制或多媒体文件时,经常选择使用Blob类型!
一 基本使用
Blob就是一种Mysql的数据类型,它是一个二进制大型对象,可以作为大量数据的容器;其实更准确地说Blob是一系列数据类型:
MySQL的四种BLOB类型
类型大小(单位:字节)TinyBlob最大 255Blob最大 65KMediumBlob最大 16MLongBlob最大 4G
这四种类型除了允许的最大值不同外,没有其他区别;实际使用中根据需要存入的数据大小定义不同的BLOB类型。
注意:如果你存储的文件过大,数据库的性能会下降很多。
图片的插入:
- <?php
- if($Picture != "none") {
- $PSize = filesize($Picture);
- $mysqlPicture = addslashes(fread(fopen($Picture, "r"), $PSize));
- mysql_connect($host,$username,$password) or die("Unable to connect to SQL server");
- @mysql_select_db($db) or die("Unable to select database");
- mysql_query("INSERT INTO Images (Image) VALUES ($mysqlPicture)") or die("Cant Perform Query");
- }else {
- echo"You did not upload any picture";
- }
- ?>
图片的读取:
在知道了如何将图插入数据库之后,我们就需要考虑怎样才能从数据库中取出图片并在HTML页面中显示出来。这个过程要稍微复杂一些,下面我们就来介绍一下实现过程。
因为PHP显示图片需要发送相应的标头,所以我们就会面临这样一个问题,那就是一次只能显示一副图片,因为我们无法在发出标头之后再发送其它的标头。
为了有效的解决这一问题,我们编写了两个文件。其中,第一个文件作为HTML页面的模板,定位图片的显示位置。第二个文件则被用来从数据库中实际输出文件流,作为标签的SRC属性。
第一个文件的简单形式可以如下:
- <?php
- mysql_connect($host,$username,$password) or die("Unable to connect to SQL server");
- @mysql_select_db($db) or die("Unable to select database");
- $result=mysql_query("SELECT * FROM Images") or die("Cant Perform Query");
- While($row=mysql_fetch_object($result)) {
- echo "<IMG SRC=\"Second.php3? PicNum=$row->PicNum\">";
- }
- ?>
当HTML页面被浏览时,每显示一副图片就会调用一次Second.php3文件。当第二个文件被调用时会传入相应的Picture ID,我们可以借此从数据库中取回对应的图片并显示。
Second.php3文件如下:
- <?php
- $result=mysql_query("SELECT * FROM Images WHERE PicNum=$PicNum") or die("Cant perform Query");
- $row=mysql_fetch_object($result);
- Header( "Content-type: image/gif");
- echo $row->Image;
- ?>
- php 操作 MySQL 中的Blob类型 存储图片
- php 操作 MySQL 中的Blob类型 存储图片
- php 操作 MySQL 中的Blob类型 存储图片
- php 操作 MySQL 中的Blob类型
- mysql blob字段存储图片操作示例
- PHP操作Mysql中的BLOB字段
- MySQL中的BLOB类型
- MySQL中的BLOB类型
- MySQL中的BLOB类型
- 利用blob类型存储图片
- MySQL存储 BLOB 类型数据
- MySQL BLOB类型数据操作
- MySQL BLOB类型数据操作
- MySQL的BLOB类型存储大小调整
- MySql Blob图片类型存储Bug解决:索引超出了数组界限错误
- Mysql 用blob存储图片问题 GBK
- 使用mysql的blob类型存取图片
- Oracle中读取&&存储blob类型存储的图片(待用)
- jquery学习笔记
- js学习笔记
- PB 各种小功能点(一)
- 破解Oracle函数"wmsys.wm_concat()"
- Using PGSNAP to Monitor PostgreSQL Database
- php 操作 MySQL 中的Blob类型 存储图片
- binux
- PostgreSQL PARSE等待一例
- 算法学习视频下载
- Swap Consumed very Much When PostgreSQL autovacuum to prevent wraparound
- 自己动手写RTP服务器——传输所有格式的视频
- android不同屏幕大小支持
- Use nagios monitor PostgreSQL archive status
- qos