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生成EXCEL的东东
Oct 09 PHP
一个用于网络的工具函数库
Oct 09 PHP
function.inc.php超越php
Dec 09 PHP
写出高质量的PHP程序
Feb 04 PHP
php中opendir函数用法实例
Nov 15 PHP
php微信公众平台开发类实例
Apr 01 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
PHP会员找回密码功能的简单实现
Sep 05 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
laravel withCount 统计关联数量的方法
Oct 10 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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详解ASCII码对照表与字符转换
2011/12/05 PHP
php中大括号作用介绍
2012/03/22 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
vuex的使用步骤
2021/01/06 Vue.js
深入浅出学习python装饰器
2017/09/29 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
python小程序基于Jupyter实现天气查询的方法
2020/03/27 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
应用艺术专业个人的自我评价
2014/01/03 职场文书
新年主持词
2014/03/27 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
继承权公证书范本
2015/01/23 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS