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开发需要注意的安全问题
Sep 01 PHP
PHP容易忘记的知识点分享
Apr 30 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
PHP列出MySQL中所有数据库的方法
Mar 12 PHP
PHP安装memcached扩展笔记
May 28 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
Oct 13 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
May 28 PHP
PHP中类与对象功能、用法实例解读
Mar 27 PHP
PHP实现简易图形计算器
Aug 28 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介绍篇
2010/10/26 PHP
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
浅谈Vue.use的使用
2018/08/29 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
书单|人生苦短,你还不用python!
2017/12/29 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
如何卸载python插件
2020/07/08 Python
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
25道Java面试题集合
2013/05/21 面试题
物业管理专业自荐信
2014/07/01 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
汽车销售合同文本
2019/08/08 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
简单聊聊Golang中defer预计算参数
2022/03/25 Golang
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python
mysql全面解析json/数组
2022/07/07 MySQL