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 相关文章推荐
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
PHP连接MongoDB示例代码
Sep 06 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
PHP中防止SQL注入方法详解
Dec 25 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
PHP中overload与override的区别
Feb 13 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 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抽象工厂模式(Elgg)
2010/03/21 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
2012/05/07 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
JS解密入门之凭直觉解
2008/06/25 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
js文件中调用js的实现方法小结
2009/10/23 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
2019/12/17 Javascript
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
python数据结构之链表的实例讲解
2017/07/25 Python
python如何定义带参数的装饰器
2018/03/20 Python
利用python实现对web服务器的目录探测的方法
2019/02/26 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
简单了解如何封装自己的Python包
2020/07/08 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
韩国现代百货官网:Hmall
2018/03/21 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
人力资源专业推荐信
2013/11/29 职场文书
暑期社会实践心得体会
2014/09/02 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
医院见习报告范文
2014/11/03 职场文书
2014年保密工作总结
2014/11/22 职场文书
英文商务邀请函范文
2015/01/31 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP