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字段中。
一、上传图象文件.
二、猎取图象属性(图象数据、图象类型等等。)
三、图象文件拔出BLOB。
PHP完成剧本:
imageUpload.php
<?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("<b>Error:</b> Problem on Image Insert<br/>" . 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图象,咱们必需:
一、从MySQL BLOB取得图象数据以及类型
二、将类型设置为图象(image/jpg, image/gif, …)应用PHP header()函数。
三、输入图象内容。
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 BLOB<br/>" . 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> <?php while($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存取图片的信息(含源码)的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 blob