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 相关文章推荐
example1.php
Oct 09 PHP
PHP写的求多项式导数的函数代码
Jul 04 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
php session劫持和防范的方法
Nov 12 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
Jun 29 PHP
crontab无法执行php的解决方法
Jan 25 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
Oct 13 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
Yii2使用表单上传文件的实例代码
Aug 03 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
Python计算三维矢量幅度的方法
2015/06/15 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
numpy中的高维数组转置实例
2018/04/17 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
python基于Selenium的web自动化框架
2019/07/14 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
职称自我鉴定
2013/10/15 职场文书
社区创先争优承诺书
2014/08/30 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
本溪关门山导游词
2015/02/09 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
小学体育组工作总结
2015/08/13 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
nginx.conf配置文件结构小结
2022/04/08 Servers
Python基本的内置数据类型及使用方法
2022/04/13 Python