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中在数据库中保存Checkbox数据(2)
Oct 09 PHP
给多个地址发邮件的类
Oct 09 PHP
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
PHP读写文件的方法(生成HTML)
Nov 27 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
PHP 导出Excel示例分享
Aug 18 PHP
php求数组全排列,元素所有组合的方法
May 05 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
May 18 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
php将html转为图片的实现方法
May 19 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 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函数解决SQL injection
2006/12/09 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
python远程登录代码
2008/04/29 Python
wxPython 入门教程
2008/10/07 Python
vc6编写python扩展的方法分享
2014/01/17 Python
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
python操作sqlite的CRUD实例分析
2015/05/08 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
python爬虫之自制英汉字典
2019/06/24 Python
Django多数据库的实现过程详解
2019/08/01 Python
与Django结合利用模型对上传图片预测的实例详解
2019/08/07 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
pycharm安装及如何导入numpy
2020/04/03 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
python让函数不返回结果的方法
2020/06/22 Python
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
柏林通行证:Berlin Pass
2018/04/11 全球购物
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
竞选文艺委员演讲稿
2014/04/28 职场文书
房屋出售授权委托书
2014/10/12 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
就业意向协议书
2015/01/29 职场文书
公司禁烟通知
2015/04/23 职场文书
k8s部署redis cluster集群的实现
2021/06/24 Redis