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知道与问问的采集插件代码
Oct 12 PHP
php excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
mysql查找删除重复数据并只保留一条实例详解
Sep 24 PHP
PHP序列化操作方法分析
Sep 28 PHP
详谈PHP面向对象中常用的关键字和魔术方法
Feb 04 PHP
php生出随机字符串
Jul 06 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 PHP
Laravel实现批量更新多条数据
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 字符串 小常识
2009/06/05 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php array_map()数组函数使用说明
2011/07/12 PHP
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
jQuery使用动画队列自定义动画操作示例
2018/06/16 jQuery
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
分享Python字符串关键点
2015/12/13 Python
详解python3实现的web端json通信协议
2016/12/29 Python
python生成ppt的方法
2018/06/07 Python
在python中安装basemap的教程
2018/09/20 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
python tkinter canvas使用实例
2019/11/04 Python
Lookfantastic台湾:英国彩妆美发保养购物网
2018/03/26 全球购物
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
建筑行业的大学生自我评价
2013/12/08 职场文书
班长自荐书范文
2014/02/11 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
邹越演讲观后感
2015/06/15 职场文书
食堂卫生管理制度
2015/08/04 职场文书
Window server中安装Redis的超详细教程
2021/11/17 Redis
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL