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 lang="en">
<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、到浏览器查看已经上传的图片,看是否可以显示

是没有问题的,证明图片已经以二进制的形式存储到数据库了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Keras版Faster-RCNN代码学习(IOU,RPN)1

最近开始使用Keras来做深度学习&#xff0c;发现模型搭建相较于MXnet, Caffe等确实比较方便&#xff0c;适合于新手练手&#xff0c;于是找来了目标检测经典的模型Faster-RCNN的keras代码来练练手&#xff0c;代码的主题部分转自知乎专栏Learning Machine&#xff0c;作者张潇捷…

欧拉函数模板

一、单个欧拉函数计算 可评测链接&#xff1a;http://codevs.cn/problem/4939/ 单个欧拉函数计算公式&#xff1a;φ&#xff08;n&#xff09;n*&#xff08;1-1/p1&#xff09;*&#xff08;1-1/p2&#xff09;*……*&#xff08;1-1/pn&#xff09; Step 1&#xff1a; 一边…

洛谷P1145 约瑟夫

题目描述 n个人站成一圈&#xff0c;从某个人开始数数&#xff0c;每次数到m的人就被杀掉&#xff0c;然后下一个人重新开始数&#xff0c;直到最后只剩一个人。现在有一圈人&#xff0c;k个好人站在一起&#xff0c;k个坏人站在一起。从第一个好人开始数数。你要确定一个最小的…

.NET 反向代理-YARP

什么是 YARPYARP (另一个反向代理) 设计为一个库&#xff0c;提供核心代理功能&#xff0c;你可以根据应用程序的特定需求进行自定义。YARP 是使用 .NET的基础架构构建在 .NET上的。YARP 的主要不同之处在于&#xff0c;它被设计成可以通过 .NET 代码轻松定制和调整&#xff0c…

JavaScript 开发的45个经典技巧

2019独角兽企业重金招聘Python工程师标准>>> 前言&#xff1a;此篇译文在各网站均有标注原创的声明&#xff0c;译者名字已不可考&#xff0c;暂为佚名 JavaScript是一个绝冠全球的编程语言&#xff0c;可用于Web开发、移动应用开发&#xff08;PhoneGap、Appcelera…

PHP循环输出二维数组

目的: 将二维数组中的每一个元素输出 首先定义一个二维数组 //定义数组 $arr array(array(北京,上海,深圳,广州),array(黑龙江,吉林,辽宁,江苏) ); 一 for循环输出 1.1 直接输出 //for循环遍历数组 for($i 0; $i < count($arr); $i) {for($j 0; $j < count($arr[…

回归远程 - 云原生IDE是IaC从表象触达本质的必然选择 | SmartIDE

作者&#xff1a;徐磊&#xff0c;开源云原生SmartIDE创始人、LEANOSFT创始人/首席架构师/CEO&#xff0c;微软最有价值专家MVP/微软区域技术总监Regional Director&#xff0c;华为云最有价值专家。从事软件工程咨询服务超过15年时间&#xff0c;为超过200家不同类型的企业提供…

android获取手机机型、厂商、deviceID基本信息

/*** 系统工具类*/ public class SystemUtil {/*** 获取当前手机系统语言。** return 返回当前系统语言。例如&#xff1a;当前设置的是“中文-中国”&#xff0c;则返回“zh-CN”*/public static String getSystemLanguage() {return Locale.getDefault().getLanguage();}/***…

题目1362:左旋转字符串(Move!Move!!Move!!!)

题目1362&#xff1a;左旋转字符串&#xff08;Move!Move!!Move!!!&#xff09; 时间限制&#xff1a;2 秒 内存限制&#xff1a;32 兆 特殊判题&#xff1a;否 提交&#xff1a;2306 解决&#xff1a;961 题目描述&#xff1a;汇编语言中有一种移位指令叫做循环左移&#xff0…

PHP简单实现递归

//递归 //斐波那契数列 function digui($n) {if($n > 2) {$arr[$n] digui($n-1) digui($n-2);return $arr[$n];} else {return 1;} }//使用 echo digui(5); 总结 : 首先应该想到出口是什么,将出口放在else条件里 例如,本例斐波那契数列中,出口是前两个数是1,也就是数组下…

(三)Controller接口控制器详解(二)

一、AbstractController&#xff08;简单控制器&#xff09; AbstractController使用方法&#xff1a; 首先让我们使用AbstractController来重写第二章的HelloWorldController&#xff1a; public class HelloWorldController extends AbstractController {Overrideprotected M…

[BZOJ]1095 Hide捉迷藏(ZJOI2007)

一道神题&#xff0c;两种神做法。 Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻&#xff0c;并且他们有很多孩子。某天&#xff0c;Jiajia、Wind和孩子们决定在家里玩捉迷藏游戏。他们的家很大且构造很奇特&#xff0c;由N个屋子和N-1条双向走廊组成&#xff0c;这N-1条走…

Spring4-自动装配Beans-通过注解@Autowired在构造方法上

1.创建Maven项目,项目名称springdemo19,如图所示2.配置Maven,修改项目中的pom.xml文件,修改内容如下<project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://mave…

15个开源的工业软件

出品 | OSC开源社区&#xff08;ID&#xff1a;oschina2013)不同的工业流程&#xff0c;需要不同的工业软件。此前&#xff0c;我们已经介绍了面向研发设计环节的开源软件&#xff08;详情查看&#xff1a;20 个开源的工业设计软件&#xff09;&#xff0c;今天就来介绍一下面向…

PHP开发中保证接口安全

模拟客户端请求:<?php namespace Home\Controller; use Think\Controller;class ClientController extends Controller{const TOKEN API;//模拟前台请求服务器api接口public function getDataFromServer(){//时间戳$timeStamp time();//随机字符串$randomStr $this ->…

MySQL远程访问报错解决

2019独角兽企业重金招聘Python工程师标准>>> 我之前的一篇博客讲了MySQL配置远程访问的方法&#xff0c;但是可能配置了账户以后还是不能访问&#xff0c;这可能是防火墙的原因&#xff0c;在CentOS里&#xff0c;我们修改一下防火墙设置就可以了 1. 进入防火墙配置…

jssdk.php

/*** Created by PhpStorm.* Date: 17/8/19* Time: 下午2:24*/ class JSSDK {private $appId;private $appSecret;public function __construct($appId, $appSecret) {$this->appId $appId;$this->appSecret $appSecret;}public function getSignPackage() {$jsapiTick…

GNU/Linux与开源文化的那些人和事

一、计算机的发明 世上本无路&#xff0c;走的人多了&#xff0c;就有了路。世上本无计算机&#xff0c;琢磨的人多了……没有计算机&#xff0c;一切无从谈起。 三个人对计算机的发明功不可没&#xff0c;居功至伟。阿兰图灵&#xff08;Alan Mathison Turing&#xff09;、阿…

PHP使用PHPMailer发送邮件

1. 首先下载phpmailer插件,并将插件复制到目录下 下载地址: http://download.csdn.net/download/m_nanle_xiaobudiu/10261269 2. home/view/user/mail_chck.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><…

python学习记录2

一、两个模块&#xff08;sys和os&#xff09; 1 #!/usr/bin/env python2 # _*_ coding: UTF-8 _*_3 # Author:taoke4 import sys5 print(sys.path)#打印环境变量6 print(sys.argv[0])#当前文件相对路径,sys.argv是一个列表&#xff0c;第一个元素为程序本身的相对路径&#xf…