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+APACHE实现用户论证的方法
Oct 09 PHP
php 分库分表hash算法
Nov 12 PHP
php获取mysql数据库中的所有表名的代码
Apr 23 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
Aug 21 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
php采用curl实现伪造IP来源的方法
Nov 21 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
Sep 29 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 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的ajax框架xajax入门与试用介绍
2010/12/19 PHP
初识Laravel
2014/10/30 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
浅谈React碰到v-if
2018/11/04 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Java与Python两大幸存者谁更胜一筹呢
2018/04/12 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
django做form表单的数据验证过程详解
2019/07/26 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
学生会个人自荐书范文
2014/02/12 职场文书
白酒市场营销方案
2014/02/25 职场文书
剪彩仪式主持词
2014/03/19 职场文书
公证书样本
2014/04/10 职场文书
中药学自荐信
2014/06/15 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
祝酒词范文
2015/08/12 职场文书
Python 匹配文本并在其上一行追加文本
2022/05/11 Python