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正则
Jul 07 PHP
简单的PHP留言本实例代码
May 09 PHP
apache+php+mysql安装配置方法小结
Aug 01 PHP
最常用的8款PHP调试工具
Jul 06 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
joomla数据库操作示例代码
Jan 06 PHP
php反射类ReflectionClass用法分析
May 12 PHP
php 在字符串指定位置插入新字符的简单实现
Jun 28 PHP
PHP进程通信基础之信号
Feb 19 PHP
php二维码生成以及下载实现
Sep 28 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 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处理大量表单字段的便捷方法
2015/02/07 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
JS判定是否原生方法
2013/07/22 Javascript
extjs render 用法介绍
2013/09/11 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
webpack入门必知必会
2017/01/16 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
Python实现简单的可逆加密程序实例
2015/03/05 Python
python 字典(dict)按键和值排序
2016/06/28 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
《曹刿论战》教学反思
2014/03/02 职场文书
商业街策划方案
2014/05/31 职场文书
行政介绍信范文
2015/05/04 职场文书
护士岗位竞聘书
2015/09/15 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书
Redis+AOP+自定义注解实现限流
2022/06/28 Redis