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 相关文章推荐
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
php 404错误页面实现代码
Jun 22 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
php阳历转农历优化版
Aug 08 PHP
PHP使用Redis替代文件存储Session的方法
Feb 15 PHP
PHP简单实现解析xml为数组的方法
May 02 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 PHP
php实现JWT(json web token)鉴权实例详解
Nov 05 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操作MySQL事务实例
2014/11/05 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
php接口隔离原则实例分析
2019/11/11 PHP
一个javascript图片阅览组件
2010/11/09 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
2018/01/02 jQuery
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
python实现电脑自动关机
2018/06/20 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
Python 没有main函数的原因
2020/07/10 Python
Python常用数据分析模块原理解析
2020/07/20 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
应用电子专业学生的自我评价
2013/10/16 职场文书
四年的个人工作自我评价
2013/12/10 职场文书
英语演讲稿范文
2014/01/03 职场文书
2014年应届大学生自我评价
2014/01/09 职场文书
药品业务员岗位职责
2014/04/17 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书