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 相关文章推荐
php4的彩蛋
Oct 09 PHP
php设计模式 Template (模板模式)
Jun 26 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
PHP连接Access数据库的方法小结
Jun 20 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
Jan 30 PHP
2014过年倒计时示例
Jan 31 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
php插件Xajax使用方法详解
Aug 31 PHP
php函数式编程简单示例
Aug 08 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
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
js下获取div中的数据的原理分析
2010/04/07 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
python中pass语句用法实例分析
2015/04/30 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
linux安装python修改默认python版本方法
2019/03/31 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
Python中实现输入一个整数的案例
2020/05/03 Python
linux面试题参考答案(1)
2016/01/22 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
师范应届生语文教师求职信
2013/10/29 职场文书
2015年端午节活动总结
2015/02/11 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
教师培训学习心得体会
2016/01/21 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python