blob图片上传 php,php – 使用Blob将图像上传到MySQL数据库

首先澄清,我知道有更好的方法可以做到这一点,但我决心尝试.

基本上,我正在尝试从表单帖子中获取图像,然后将其发送到数据库MEDIUMBLOB字段中.

不幸的是,使用我当前的方法,数据库列中的最终结果始终为零字节.

phpMyAdmin Screenshot

44b59496d9c5e7c6b91bf77b777c0214.png

以下是表单上上传图片的代码:

input type="file" name="_imagePost">

这是页面上的PHP代码,我正在使用MySQLi:

if(isset($_POST['_imagePost']))

{

$_useImagePost = 1;

$_imagePost = file_get_contents($_FILES['_imagePost']);

// Open DB Connection

$_conn = databaseConnect();

$_stmt = $_conn->prepare("INSERT INTO Question (Question_Type, Question_Text, Question_Answer, Question_UseImage, Question_Image) VALUES (?, ?, ?, ?, ?)");

$_stmt->bind_param("sssib", $_typePost, $_textPost, $_answerPost, $_useImagePost, $_null);

$_stmt->send_long_data(4,$_imagePost);

$_stmt->execute();

// Close DB Connection

$_conn->close();

}

我不确定的是,当输入类型是文件时,“isset($_ POST [‘_ imagePost’])”是否有效.

但是,我确信当前的设置根本不起作用.

解决方法:

你写:

$_imagePost = file_get_contents($_FILES['_imagePost']);

正确的语法是:

$_imagePost = file_get_contents($_FILES['_imagePost']['tmp_name']);

$_FILES是以下关键字的关联数组:

> [name] =>原始文件名;

> [type] =>上传文件的mimetype;

> [tmp_name] =>临时文件路径(存储上传文件的位置);

> [错误] =>错误;

> [size] =>上传文件的大小.

>查看更多关于$_FILES

标签:php,mysql,blob,mysqli

来源: https://codeday.me/bug/20191003/1849365.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值