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

前台(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数据库并显示--经验证有效的更多相关文章

  1. php将图片以二进制保存到mysql数据库并显示

    一.存储图片的数据表结构: -- -- 表的结构 `image` -- CREATE TABLE IF NOT EXISTS `image` ( `id` int(3) NOT NULL AUTO_I ...

  2. Python scrapy爬虫数据保存到MySQL数据库

    除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 ...

  3. node 爬虫 --- 将爬取到的数据,保存到 mysql 数据库中

    步骤一:安装必要模块 (1)cheerio模块 ,一个类似jQuery的选择器模块,分析HTML利器. (2)request模块,让http请求变的更加简单 (3)mysql模块,node连接mysq ...

  4. Python实现将图片以二进制格式保存到MySQL数据库中,以及取出:

    创建数据库表格式: CREATE TABLE photo ( photo_no int(6) unsigned NOT NULL auto_increment, image MEDIUMBLOB, P ...

  5. 使用官方组件下载图片,保存到MySQL数据库,保存到MongoDB数据库

    需要学习的地方,使用官方组件下载图片的用法,保存item到MySQL数据库 需要提前创建好MySQL数据库,根据item.py文件中的字段信息创建相应的数据表 1.items.py文件 from sc ...

  6. 利用session_set_save_handler()函数将session保存到MySQL数据库中

    PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开 ...

  7. 信息技术手册可视化进度报告 基于BeautifulSoup框架的python3爬取数据并连接保存到MySQL数据库

    老师给我们提供了一个word文档,里面是一份信息行业热词解释手册,要求我们把里面的文字存进数据库里面,然后在前台展示出来. 首先面临的问题是怎么把数据导进MySQL数据库,大家都有自己的方法,我采用了 ...

  8. 关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要

    近日在开发手机app的评论功能时,输入表情文字,保存后提示数据库保存失败.错误日志片段如下 caused by: java.sql.SQLException: Incorrect string val ...

  9. python之scrapy爬取数据保存到mysql数据库

    1.创建工程 scrapy startproject tencent 2.创建项目 scrapy genspider mahuateng 3.既然保存到数据库,自然要安装pymsql pip inst ...

随机推荐

  1. RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占优势

    美国时间3月4-8日,国际知名信息安全峰会RSA Conference在美国旧金山开幕,云安全及云可以为企业提供更可靠的资产管理方式成为大会热点. 此次峰会共吸引全球700多家机构参展,其中近42%为 ...

  2. Python3.7.4入门-6/7错误和异常/类

    6 错误和异常 while True: try: x = int(input("Please enter a number: ")) break except ValueError ...

  3. 【水滴石穿】ReactNative-Redux-Thunk

    老实说,运行出来的项目让人失望,毕竟我想看各种有趣的demo啊- 先放上源码地址:https://github.com/ludejun/ReactNative-Redux-Thunk 我们来一起看看代 ...

  4. AS2.2使用CMake方式进行JNI/NDK开发

    之前写过一篇比较水的文章Android手机控制电脑撸出HelloWorld 里面用到了JNI/NDK技术. 这篇文章给大家介绍下JNI/NDK开发.采用的是Android Studio2.2开发环境, ...

  5. 【JZOJ4810】【NOIP2016提高A组五校联考1】道路规划

    题目描述 输入 输出 样例输入 5 1 4 5 2 3 3 4 2 1 5 样例输出 3 数据范围 样例解释 解法 模型显然. 设第一列为a[],第二列为b[],f[i]为前i个数的最大答案. 顺序枚 ...

  6. 一键制作启动elasticsearch和kibana启动的脚本可执行程序

    1.测试环境 测试环境: . windows10专业版 . elasticsearch6.5.4 . kibana6.5.4 2.启动的脚本run.py import os import time i ...

  7. Directx11教程(42) 纹理映射(12)-简单的bump mapping

    原文:Directx11教程(42) 纹理映射(12)-简单的bump mapping        有时候,我们只有一个粗糙的模型,但是我们想渲染纹理细节,比如一个砖墙,我们如何在只有一个平面的时候 ...

  8. JS BOM 窗口中的使用

    1,弹框的种类 2,打开一个新页面 子窗口操作父窗口,打开新窗口显示内容open("opener.html","haha","width=300,he ...

  9. 云数据库将进入企业级百万IOPS时代

    IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,以衡量存储每秒可接受多少次主机发出的访问.数据库,特别是关系型数据库由于需要处理 ...

  10. 17个你必须牢记的Win10快捷键

    电脑初学者掌握了盲打技术,可以提高录入速度:游戏玩家掌握了快捷键,可以在瞬息百变的对战中提高生存的机会:而Windows玩家掌握了快捷键,不但可以提高电脑操作速度,更能享受到初级玩家望着你那仰慕的眼神 ...