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.ini中的php-5.2.0配置指令详解
Mar 27 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Dec 29 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
详解 PHP加密解密字符串函数附源码下载
Dec 18 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
yii2简单使用less代替css示例
Mar 10 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 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继承的一个应用
2011/09/06 PHP
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
2017/04/13 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
Python3实现连接SQLite数据库的方法
2014/08/23 Python
python集合用法实例分析
2015/05/30 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
员工培训心得体会
2013/12/30 职场文书
大学旷课检讨书
2014/01/28 职场文书
会计的岗位职责
2014/03/15 职场文书
施工单位安全责任书
2014/07/24 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
党员作风建设整改方案
2014/10/27 职场文书
小学英语教学随笔
2015/08/14 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
高考升学宴主持词
2019/06/21 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis