PHP上传图片到数据库并显示的实例代码


Posted in PHP onDecember 20, 2019

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>

<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形式存进数据库的,像这样

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;

5、到浏览器查看已经上传的图片,看是否可以显示

PHP上传图片到数据库并显示的实例代码

以上就是本次介绍的全部相关知识点,感谢大家的学习和对三水点靠木的支持。

PHP 相关文章推荐
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
php创建sprite
Feb 11 PHP
php数组键名技巧小结
Feb 17 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
jquery+php实现导出datatables插件数据到excel的方法
Jul 06 PHP
ThinkPHP路由详解
Jul 27 PHP
php检查页面是否被百度收录
Oct 28 PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 PHP
降低PHP Redis内存占用
Mar 23 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
php实现的后台表格分页功能示例
Oct 23 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
May 06 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 #PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 #PHP
PHP中用Trait封装单例模式的实现
Dec 18 #PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 #PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 #PHP
Laravel等框架模型关联的可用性浅析
Dec 15 #PHP
php获取是星期几的的一些常用姿势
Dec 15 #PHP
You might like
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
学习php开源项目的源码指南
2014/12/21 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
采用call方式实现js继承
2014/05/20 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
[05:00]TI9战队采访 - Royal Never Give Up
2019/08/20 DOTA
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
Python 可爱的大小写
2008/09/06 Python
Python3实现Web网页图片下载
2016/01/28 Python
python实现黑客字幕雨效果
2018/06/21 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
应届大学生求职信
2013/12/01 职场文书
商场拾金不昧表扬信
2014/01/13 职场文书
社团文化节策划书
2014/02/01 职场文书
餐饮营销方案
2014/02/23 职场文书
出售房屋委托书范本
2014/09/24 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
文明单位申报材料
2014/12/23 职场文书
党章学习心得体会2016
2016/01/14 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
python turtle绘图
2022/05/04 Python