上传图片保存到MySql数据库并显示--经验证有效
以下方法仅供参考,只是介绍下这一种方法而已。欢迎指正!!
<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):
<?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
else24
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):
<?php2
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数据库并显示--经验证有效的更多相关文章
- php将图片以二进制保存到mysql数据库并显示
一.存储图片的数据表结构: -- -- 表的结构 `image` -- CREATE TABLE IF NOT EXISTS `image` ( `id` int(3) NOT NULL AUTO_I ...
- Python scrapy爬虫数据保存到MySQL数据库
除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 ...
- node 爬虫 --- 将爬取到的数据,保存到 mysql 数据库中
步骤一:安装必要模块 (1)cheerio模块 ,一个类似jQuery的选择器模块,分析HTML利器. (2)request模块,让http请求变的更加简单 (3)mysql模块,node连接mysq ...
- Python实现将图片以二进制格式保存到MySQL数据库中,以及取出:
创建数据库表格式: CREATE TABLE photo ( photo_no int(6) unsigned NOT NULL auto_increment, image MEDIUMBLOB, P ...
- 使用官方组件下载图片,保存到MySQL数据库,保存到MongoDB数据库
需要学习的地方,使用官方组件下载图片的用法,保存item到MySQL数据库 需要提前创建好MySQL数据库,根据item.py文件中的字段信息创建相应的数据表 1.items.py文件 from sc ...
- 利用session_set_save_handler()函数将session保存到MySQL数据库中
PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开 ...
- 信息技术手册可视化进度报告 基于BeautifulSoup框架的python3爬取数据并连接保存到MySQL数据库
老师给我们提供了一个word文档,里面是一份信息行业热词解释手册,要求我们把里面的文字存进数据库里面,然后在前台展示出来. 首先面临的问题是怎么把数据导进MySQL数据库,大家都有自己的方法,我采用了 ...
- 关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要
近日在开发手机app的评论功能时,输入表情文字,保存后提示数据库保存失败.错误日志片段如下 caused by: java.sql.SQLException: Incorrect string val ...
- python之scrapy爬取数据保存到mysql数据库
1.创建工程 scrapy startproject tencent 2.创建项目 scrapy genspider mahuateng 3.既然保存到数据库,自然要安装pymsql pip inst ...
随机推荐
- Leetcode46. Permutations全排列
给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1 ...
- QT_获取运行进程所在目录路径_2
QString getProcessFullPath(const quint64 &processId) { #ifdef Q_OS_WIN // access process path WC ...
- Hdu 4920矩阵乘法(内存访问的讲究)
题目链接 Matrix multiplication Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K ( ...
- CSS hack处理
css hack指各版本及各品牌浏览器之间对CSS解释后出现网页内容的误差. 各浏览器CSS解析: 1.大部分特殊字符IE浏览器支持,其他主流浏览器firefox,chrome,opera,safar ...
- 【JZOJ3635】【BOI2012】Peaks
╰( ̄▽ ̄)╭ 有一个居住在多山岛屿的登山家,已经攀上了一座山峰,并且要攀爬另外一座更高的山峰. 更精确地说,岛上的每一点都有一个大于零的海拔(海面的海拔为零),并且如果登山家位于海拔Ei的山峰上,那 ...
- 一文读懂JVM
(一)JVM 基础知识 1)Java 是如何实现跨平台的? 注意:跨平台的是 Java 程序,而不是 JVM.JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本 ...
- Android书架实现
转自http://blog.csdn.net/wangkuifeng0118/article/details/7944215 书架效果: 下面先看一下书架的实现原理吧! 首先看一下layout下的布局 ...
- Java大数类BigDecimal及八种舍入模式的介绍
BigDecimal的引入 在利用Java编程语言开发银行.金融类等需要对数值进行高精度计算的软件时,我们经常使用BigDecimal和BigInteger这两个大数据类,而不是常见的int.long ...
- Directx11教程(55) 建立球形和锥形物体
原文:Directx11教程(55) 建立球形和锥形物体 本教程中,我们新建2个model class,SphereModelClass以及CylinderModelClass,分别用来表示球形和锥形 ...
- OpenTelemetry-可观察性的新时代
有幸在2019KubeCon上海站听到Steve Flanders关于OpenTelemetry的演讲,之前Ops领域两个网红项目OpenTracing和OpenCensus终于走到了一起,可观察性统 ...