上传图片保存到MySql数据库并显示--经验证有效

Posted wangxiaoy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上传图片保存到MySql数据库并显示--经验证有效相关的知识,希望对你有一定的参考价值。

 以下方法仅供参考,只是介绍下这一种方法而已。欢迎指正!!


前台(image.html):
 1技术图片<html>
 2技术图片<head>
 3技术图片<title>上传图片</title>
 4技术图片</head>
 5技术图片<body>
 6技术图片<form method="post" action="upimage.php" enctype="multipart/form-data"><center><br><br><br><br>
 7技术图片  <input type="hidden" value="204800" name="MAX_FILE_SIZE"/>
 8技术图片  File: <input type="file" name="imgfile" /><br><br>
 9技术图片  <input type="submit" value="OK" name="submitbtn" style="width:100px;height:23px"/></center>
10技术图片 </form>
11技术图片</body>
12技术图片</html>

后台处理(upimage.php):
 1技术图片<?php 
 2技术图片    //向数据库中插入图片
 3技术图片    $imgfile=$_FILES[‘imgfile‘];
 4技术图片    $submitbtn=$_POST[‘submitbtn‘];
 5技术图片    if($submitbtn==‘OK‘ and is_array($imgfile))
 6技术图片    {
 7技术图片        $name=$imgfile[‘name‘];  //取得图片名称
 8技术图片        $type=$imgfile[‘type‘]; //取得图片类型
 9技术图片        $size=$imgfile[‘size‘];  //取得图片长度
10技术图片        $tmpfile=$imgfile[‘tmp_name‘];  //图片上传上来到临时文件的路径
11技术图片        if($tmpfile and is_uploaded_file($tmpfile))  //判断上传文件是否为空,文件是不是上传的文件
12技术图片        {
13技术图片            //读取图片流
14技术图片            $file=fopen($tmpfile,"rb");
15技术图片            $imgdata=bin2hex(fread($file,$size));  //bin2hex()将二进制数据转换成十六进制表示
16技术图片            fclose($file);
17技术图片            
18技术图片            $mysqli=mysql_connect("localhost","root","123456");  //连接数据库函数
19技术图片            mysql_select_db("test");  //选择数据库
20技术图片            //插入出数据库语句,图片数据前要加上0x,用于表示16进制数
21技术图片            if(mysql_query("insert into images(name,type,image) values(‘".$name."‘,‘".$type."‘,0x".$imgdata.")"))
22技术图片                echo "<center>插入成功!<br><br><a href=‘disimage.php‘>显示图片</a></center>";
23技术图片            else
24技术图片                echo "<center>插入失败!</center>";
25技术图片            mysql_close();
26技术图片        }
27技术图片        else 
28技术图片            echo "<center>请先选择图片!<br><br><a href=‘image.html‘>点此返回</a></center>";
29技术图片    }    
30技术图片    else 
31技术图片        echo "<center>请先选择图片!<br><br><a href=‘image.html‘>点此返回</a></center>";
32技术图片?>

显示图片(disimage.php):
 1技术图片<?php
 2技术图片    mysql_connect("localhost","root","123456");
 3技术图片    mysql_select_db("test");
 4技术图片    //显示最新插入的那张图片
 5技术图片    $result=mysql_query("select image from images where id=(select max(id) from images)");  
 6技术图片    $row=mysql_fetch_object($result);
 7技术图片    header("Content-Type:image/pjpeg");  
 8技术图片    echo $row->image;
 9技术图片    mysql_close();
10技术图片?>

以上是关于上传图片保存到MySql数据库并显示--经验证有效的主要内容,如果未能解决你的问题,请参考以下文章

ssm框架实现图片上传显示并保存地址到数据库

Angular、Node.js、MySQL 图片上传

java实现图片上传至服务器并显示,如何做?

Winform下如何上传图片并显示出来。同时保存到数据库

上传的图片不显示在网页上

PHP实现上传图片到数据库并显示输出的方法