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 zip文件解压类代码
Dec 02 PHP
PHP基础学习之流程控制的实现分析
Apr 28 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
Aug 15 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
php验证码的制作思路和实现方法
Nov 12 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
CI框架实现框架前后端分离的方法详解
Dec 30 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
php 一维数组的循环遍历实现代码
Apr 10 PHP
PHP连续签到功能实现方法详解
Dec 04 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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中使用正则表达式进行查找替换
2013/06/13 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
angular 服务随记小结
2019/05/06 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
python线程池threadpool使用篇
2018/04/27 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
应届专科生个人的自我评价
2014/01/05 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
个人租房协议书样本
2014/10/01 职场文书
Win11 Build 25179预览版发布(附更新内容+ISO官方镜像下载)
2022/08/14 数码科技