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模拟HTTP认证
Oct 09 PHP
php开发留言板的CRUD(增,删,改,查)操作
Apr 19 PHP
PHP实现今天是星期几的几种写法
Sep 26 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
php实现读取和写入tab分割的文件
Jun 01 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
php实现Mysql简易操作类
Oct 11 PHP
php封装的连接Mysql类及用法分析
Dec 10 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
PHP 序列化和反序列化函数实例详解
Jul 18 PHP
实例分析10个PHP常见安全问题
Jul 09 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
使用CodeIgniter的类库做图片上传
2014/06/12 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
Python的Django框架中settings文件的部署建议
2015/05/30 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
anaconda中更改python版本的方法步骤
2019/07/14 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
写一个方法1000的阶乘
2012/11/21 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
EJB的角色和三个对象
2015/12/31 面试题
绩效专员岗位职责
2013/12/02 职场文书
商务英语广告词大全
2014/03/18 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
呐喊读书笔记
2015/06/30 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书