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 日期加减的类,很不错
Oct 10 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
php使用Jpgraph绘制饼状图的方法
Jun 10 PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 PHP
Yii全局函数用法示例
Jan 22 PHP
PHP实现的激活用户注册验证邮箱功能示例
Jun 06 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 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
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
彻底搞懂Python字符编码
2018/01/23 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Python如何读取、写入JSON数据
2020/07/28 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
大学生校园创业计划书
2014/02/08 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
拾金不昧表扬信
2015/01/16 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
员工表扬信怎么写
2015/05/05 职场文书
入党后的感想
2015/08/10 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS