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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
在PHP中使用反射技术的架构插件使用说明
May 18 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
解析zend studio中直接导入svn中的项目的方法步骤
Jun 21 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
php文件系统处理方法小结
May 23 PHP
轻松掌握php设计模式之访问者模式
Sep 23 PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 PHP
laravel框架数据库配置及操作数据库示例
Oct 10 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调用三种数据库的方法(2)
2006/10/09 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
JavaScript 继承使用分析
2011/05/12 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
2020/03/08 Javascript
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
python调用摄像头拍摄数据集
2019/06/01 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
如何在python中实现随机选择
2019/11/02 Python
python序列类型种类详解
2020/02/26 Python
Python urllib2运行过程原理解析
2020/06/04 Python
python集合能干吗
2020/07/19 Python
爱游人:Travelliker
2017/09/05 全球购物
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
校庆活动方案
2014/03/31 职场文书
党员示范岗材料
2014/12/19 职场文书
原告离婚代理词
2015/05/23 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
技术入股协议书
2016/03/22 职场文书