php上传图片到MySQL数据库代码如下

效果图入下:

在这里插入图片描述

用到两个php文件 index.php上传图片 img.php获取图片

在这里插入图片描述

index.php代码如下:

<?php
//封装连接数据库的类
class Mysql{
  public $link;
  public function __construct(){
    $cfg = [
      'host' => '127.0.0.1',
      'user' => 'root',
      'pwd' => '',
      'db' => 'image',
      'charset' => 'utf8'
    ];
    //连接数据库 i=>improvement 连接数据库加强版
    $this-> link = mysqli_connect($cfg['host'],$cfg['user'],$cfg['pwd'], $cfg['db']);
    //mysqli_query对数据库执行一次查询
    mysqli_query($this->link,'set names'.$cfg['charset']);
  }
  public function query($sql){
    return mysqli_query($this->link,$sql);
  }
}

//上传图片
if( count($_FILES)>0 ){
  //调用数据库
  $mysql = new Mysql;
  //获取图片内容
  $imgData = addslashes(file_get_contents($_FILES['img']['tmp_name']));
  //获取图片长宽类型等信息
  $imgPro = getimagesize($_FILES['img']['tmp_name']);
  //这是一条sql执行语句 写入图片类型与图片信息;
  $sql = "insert into img (imgtype,imgdata) values('".$imgPro['mime']."','".$imgData."')";
  //执行这条语句
  $res = $mysql->query($sql);
  //执行的返回结果
  var_dump($res);
}
?>

<form action="" method="post" enctype="multipart/form-data">
  <input type="file" name="img" >
  <button type="submit" name="button">点击提交</button>
</form>

img.php代码如下:

<?php
//取数据库内图片:
//连接数据库 (端口,账号,密码,数据库名)
$link = mysqli_connect('localhost','root','','image');
//执行sql语句 设置编码格式
mysqli_query($link,'set names utf8');

//通过url的get请求的id值获取图片 默认第一张
if( isset($_GET['id']) ){
  //搜索imgid=id的数据
  $sql = 'select imgtype,imgdata from img where imgid='.$_GET['id'];
}else{
  //默认搜索imgid=1的数据
  $sql = 'select imgtype,imgdata from img where imgid=1';
}
//执行$sql搜索语句
$res = mysqli_query($link,$sql);
//取出
while( $row = mysqli_fetch_assoc($res)){
  header('Content-Type:'.$row['imgtype']);
  echo $row['imgdata'];
}

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值