php使用blob存取图片的信息(含源码)
BLOB是一种MySQL数据类型,称为二进制大对象。正如它的名字它是用来存储类似MYSQL二进制和VARBINARY类型的、大量的字符串数据。
MySQL BLOB分类
MySQL BLOB类型 最大存储长度(字节)
TINYBLOB (1)(2 ^ 8)
blob ((2 ^ 16)1)
MEDIUMBLOB ((2 ^ 24)1)
LONGBLOB ((2 ^ 32)1)
在这篇教程中,我们学习如何使用PHP插入和读取MySQL BLOB字段。
(PS:T不错的PHP Q扣峮:276167802,验证:csl)
首先,我们需要创建一个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
if(count($_FILES) > 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 BLOBclass="frmImageUpload">
Upload Image File: