首页 > PHP教程 > php开发知识文章

PHP操作MySQL数据库中BLOB数据类型字段的方法(存储文本与图片)

这篇文章主要介绍了PHP操作MySQL数据库中BLOB数据类型字段的方法(存储文本与图片),

结合具体实例形式分析了php使用mysql的BLOB字段存储新闻内容与图片的相关操作技巧,需要的朋友参考下

MySQL中BLOB字段类型

BLOB类型的字段用于存储二进制数据。

MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同。

MySQL的四种BLOB类型

TinyBlob:  最大 255字节
Blob:      最大 65K
MediumBlob:最大 16M
LongBlob:  最大 4G

注意:如果存储的文件过大,数据库的性能会下降很多。

PHP操作BLOB案例

(1)操作新闻内容

mysql_connect("localhost", "root", "123456"); //连接数据库
mysql_select_db("database"); //选定数据库
//数据插入
$CONTENT = "新的内容"; //$CONTENT为新闻内容
$COMPRESS_CONTENT = bin2hex(gzcompress($CONTENT));
//数据插入到数据库news表中
$result = mysql_query("insert into news (content) value ('$COMPRESS_CONTENT')");
//展示:
$query = "select data from testtable where filename=$filename";
$result = mysql_query($query);
$COMPRESS_CONTENT = @gzuncompress($result["COMPRESS_CONTENT"]);
echo $COMPRESS_CONTENT;

(2)存储图片

mysql_connect("localhost", "root", "123456"); //连接数据库
mysql_select_db("database"); //选定数据库
//存储
$filename = ""; //这里填入图片路径
//打开文件并规范化数据
$COMPRESS_CONTENT = addslashes(fread(fopen($filename, "r"), filesize($filename)));
//数据插入到数据库news表中
$result = mysql_query("insert into news (content) value ('$COMPRESS_CONTENT')");
//展示
ob_end_clean();
Header("Content-type: image/gif");
$query = "select data from testtable where filename=$filename";
$result = mysql_query($query);
echo $result["COMPRESS_CONTENT"];

以上就是本文PHP操作MySQL数据库中BLOB数据类型字段的方法(存储文本与图片)的全部内容,希望本文所述对大家PHP程序设计有所帮助。

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。