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来处理多个提交任务
May 08 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
Feb 06 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 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
NOT NULL 和NULL
2007/01/15 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
php 类自动载入的方法
2015/06/03 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
Python try except else使用详解
2021/01/12 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
护士自荐信怎么写
2013/10/18 职场文书
主持人演讲稿范文
2013/12/28 职场文书
中医专业职业生涯规划书范文
2014/01/04 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
《搭石》教学反思
2016/02/18 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python