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 相关文章推荐
基于mysql的论坛(3)
Oct 09 PHP
基于数据库的在线人数,日访问量等统计
Oct 09 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
php中cookie的使用方法
Mar 29 PHP
php中eval函数的危害与正确禁用方法
Jun 30 PHP
Smarty中调用FCKeditor的方法
Oct 27 PHP
php字符串分割函数用法实例
Mar 17 PHP
php实现在限定区域里自动调整字体大小的类实例
Apr 02 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
thinkphp5实现微信扫码支付
Dec 23 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
类的另类用法--数据的封装
2006/10/09 PHP
刚才在简化php的库,结果发现很多东西
2006/12/31 PHP
php修改NetBeans默认字体的大小
2013/07/02 PHP
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
js 操作select相关方法函数
2009/12/06 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
JS高级运动实例分析
2016/12/20 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
Python实现对象转换为xml的方法示例
2017/06/08 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
html5指南-4.使用Geolocation实现定位功能
2013/01/07 HTML / CSS
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
实习生自我鉴定
2013/12/12 职场文书
公务员平时考核实施方案
2014/03/11 职场文书
开业典礼主持词
2014/03/21 职场文书
献爱心倡议书
2014/04/14 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript