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 相关文章推荐
Windows中安装Apache2和PHP4权威指南
Nov 18 PHP
PHP has encountered an Access Violation
Jan 15 PHP
ThinkPHP php 框架学习笔记
Oct 30 PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 PHP
php 文本文件的读取效率
Feb 10 PHP
PHP设计模式之装饰者模式
Feb 29 PHP
php获取服务器信息的实现代码
Feb 04 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
PHP实现类似题库抽题效果
Aug 16 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
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
原生js实现日历效果
2020/03/02 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python调用百度REST API实现语音识别
2018/08/30 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
Python类的继承super相关原理解析
2020/10/22 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
放飞蜻蜓反思
2014/02/05 职场文书
立项申请报告范本
2015/05/15 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
Promise面试题详解之控制并发
2021/05/14 面试题
vue+spring boot实现校验码功能
2021/05/27 Vue.js
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫