首页后端开发PHPphp使用blob存取图片的信息(含源码)

php使用blob存取图片的信息(含源码)

时间2024-02-02 05:45:03发布访客分类PHP浏览206
导读:收集整理的这篇文章主要介绍了php使用blob存取图片的信息(含源码),觉得挺不错的,现在分享给大家,也给大家做个参考。php使用blob存取图片的信息(含源码)BLOB是一种MySQL数据类型,称为二进制大对象。正如它的名字它是用来存储类...
收集整理的这篇文章主要介绍了php使用blob存取图片的信息(含源码),觉得挺不错的,现在分享给大家,也给大家做个参考。

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

?phpif(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("b>
    Error:/b>
     Problem on Image Insertbr/>
    " .mysql_error());
if(isset($current_id)) {
    header("Location: listImages.php");
}
}
}
    ?>
    HTML>
    HEAD>
    TITLE>
    Upload Image to MySQL BLOB/TITLE>
    link href="imageStyles.css" rel="stylesheet" type="text/css" />
    /HEAD>
    BODY>
    form name="frmImage" enctype="multipart/form-data" action="" method="post"class="frmImageUpload">
    label>
    Upload Image File:/label>
    br/>
    input name="userImage" type="file" class="inputFile" />
    input type="submit" value="Submit" class="BTnSubmit" />
    /form>
    /div>
    /BODY>
    /HTML>
    

执行这个脚本后上传表单将显示如下:

提交表单,PHP获取内容图像的文件并将其作为二进制数据存储到MySQL BLOB列。

显示图片

在浏览器上显示BLOB图像,我们必须:

1、从MySQL BLOB获得图像数据和类型

2、将类型设置为图像(image/jpg, image/gif, …)使用PHP header()函数。

3、输出图像内容。

imageView.php?php$conn = mysql_connect("localhost", "root", "");
    mysql_select_db("phppot_examples") or die(mysql_error());
if(isset($_GET['image_id'])) {
    $sql = "SELECT imageType,imageData From output_images WHERE imageId=" . $_GET['image_id'];
    $result = mysql_query("$sql") or die("b>
    Error:/b>
     Problem on Retrieving Image BLOBbr/>
    ". 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作为参数。例如:

img src="imageView.php?image_id=?php echo $row["imageId"];
     ?>
    " />
    

完成代码如下:

listImages.php

?php$conn = mysql_connect("localhost", "root", "");
    mysql_select_db("phppot_examples");
    $sql = "SELECT imageId From output_images ORDER BY imageId DESC";
    $result = mysql_query($sql);
    ?>
    HTML>
    HEAD>
    TITLE>
    List BLOB Images/TITLE>
    link href="imageStyles.css" rel="stylesheet" type="text/css" />
    /HEAD>
    BODY>
?phpwhile($row = mysql_fetch_array($result)) {
    ?>
    img src="imageView.php?image_id=?php echo $row["imageId"];
     ?>
    " />
    br/>
?php}
    mysql_close($conn);
    ?>
    /BODY>
    /HTML>
    

感谢大家的阅读,希望大家收益多多。

原文链接:https://blog.csdn.net/u012275531/article/details/1791499

推荐教程:《php教程》

以上就是php使用blob存取图片的信息(含源码)的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: php使用blob存取图片的信息(含源码)
本文地址: https://pptw.com/jishu/596437.html
绝对适合新手的php入门教程 PHP微信公众号支付教程(含图文)

游客 回复需填写必要信息