在MySQL存储并获取图片,store and retrieve imgs in MySQL

来源:互联网 发布:linux系统查看cpu 编辑:程序博客网 时间:2024/06/05 20:08

本文:
以blob形式在mysql存储图片,并在网页展示。
试了一晚上。。亲测有效(´-ι_-`)

/*递交图片页面*/<html>    image: <input type="file" name="file" id="file"/></html><?php    $db = mysqli_connect("localhost","username","password") or die(mysqli_connect_error());        mysqli_select_db($db, "bcit")or die(mysqli_error($db));     //获取图片信息    $file=$_FILES["file"]["tmp_name"];    $size = filesize($file);    $image = addslashes(fread (fopen($file, "r"), $size));    //创建image table    $query="        CREATE TABLE IF NOT EXISTS image(         id MEDIUMINT NOT NULL AUTO_INCREMENT,        image LONGBLOB,        PRIMARY KEY(id))";    $result=mysqli_query($db, $query) or die(mysqli_error($db));    //插入图片    $query="INSERT INTO image(id, image) VALUES (NULL, '$image')";    $result=mysqli_query($db, $query) or die(mysqli_error($db));?>/*展示图片页面*/<?php    //链接数据库同上,假设所获取图片的id为$id    $query="SELECT * FROM image WHERE id='$id'";    $result=mysqli_query($db, $query) or die(mysqli_error($db));    if(mysqli_num_rows($result)!=0){        while ($row = mysqli_fetch_assoc($result)){            $imageData=$row['image'];            echo '<img src="data:image/jpeg;base64,'.base64_encode($imageData).'" style="width:100px; height:100;"/>';        }?>
0 0