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


Posted in PHP onMay 31, 2018

本文实例讲述了PHP实现上传图片到数据库并显示输出的方法。分享给大家供大家参考,具体如下:

1. 创建数据表

CREATE TABLE ccs_image (
 id int(4) unsigned NOT NULL auto_increment,
 description varchar(250) default NULL,
 bin_data longblob,
 filename varchar(50) default NULL,
 filesize varchar(50) default NULL,
 filetype varchar(50) default NULL,
 PRIMARY KEY (id)
)engine=myisam DEFAULT charset=utf8

2. 用于上传图片到服务器的页面 upimage.html

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <style type="text/css">
    *{margin: 1%}
  </style>
  <title>Document</title>
</head>
<body>
<form method="post" action="upimage.php" enctype="multipart/form-data">
  描述:
  <input type="text" name="form_description" size="40">
  <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <br>
  上传文件到数据库:
  <input type="file" name="form_data" size="40"><br>
  <input type="submit" name="submit" value="submit">
</form>
</body>
</html>

3. 处理图片上传的php  upimage.php

<?php
if (isset($_POST['submit'])) {
  $form_description = $_POST['form_description'];
  $form_data_name = $_FILES['form_data']['name'];
  $form_data_size = $_FILES['form_data']['size'];
  $form_data_type = $_FILES['form_data']['type'];
  $form_data = $_FILES['form_data']['tmp_name'];
  $dsn = 'mysql:dbname=test;host=localhost';
  $pdo = new PDO($dsn, 'root', 'root');
  $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
  //echo "mysqlPicture=".$data;
  $result = $pdo->query("INSERT INTO ccs_image (description,bin_data,filename,filesize,filetype)
         VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
  if ($result) {
    echo "图片已存储到数据库";
  } else {
    echo "请求失败,请重试";

注:图片是以二进制blob形式存进数据库的,像这样

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

4. 显示图片的php getimage.php

<?php
  $id =2;// $_GET['id']; 为简洁,直接将id写上了,正常应该是通过用户填入的id获取的
  $dsn='mysql:dbname=test;host=localhost';
  $pdo=new PDO($dsn,'root','root');
  $query = "select bin_data,filetype from ccs_image where id=2";
  $result = $pdo->query($query);
  $result=$result->fetchAll(2);
//  var_dump($result);
  $data = $result[0]['bin_data'];
  $type = $result[0]['filetype'];
  Header( "Content-type: $type");
  echo $data;

到浏览器查看已经上传的图片,看是否可以显示

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

是没有问题的,证明图片已经以二进制的形式存储到数据库了

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php cookie的操作实现代码(登录)
Dec 29 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
session 加入redis的实现代码
Jul 15 PHP
PHP实现的AES加密、解密封装类与用法示例
Aug 02 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
php 获取xml接口数据的处理方法
May 31 #PHP
thinkPHP框架中执行事务的方法示例
May 31 #PHP
PHP以json或xml格式返回请求数据的方法
May 31 #PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 #PHP
php支付宝系列之电脑网站支付
May 30 #PHP
Laravel框架使用Redis的方法详解
May 30 #PHP
php实现微信支付之退款功能
May 30 #PHP
You might like
一个程序下载的管理程序(一)
2006/10/09 PHP
PHP下MAIL的另一解决方案
2006/10/09 PHP
PHP中的日期处理方法集锦
2007/01/02 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
PHP检测用户语言的方法
2015/06/15 PHP
PHP加密技术的简单实现
2016/09/04 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
Vuex的actions属性的具体使用
2019/04/14 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
Python实现随机漫步功能
2018/07/09 Python
学生信息管理系统python版
2018/10/17 Python
Python元组常见操作示例
2019/02/19 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
市场营销专业个人自荐信格式
2013/09/21 职场文书
委托培训协议书
2014/11/17 职场文书
酒店员工手册范本
2015/05/14 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书