php - 将图像插入数据库并编码 ="multipart/form-data"

标签 php mysql

我正在尝试将图像插入到我的数据库中。我已经阅读了几篇文章,我显然做错了。我知道列数据类型需要是图像的 blob。我已经做到了。

我的表单如下所示:

<form id="Dev_test" name="Dev_test" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP']);?>" enctype="multipart/form-data">
<input type="file" name="call_file" id="call_file">
<input type="submit" name="submit" id="submit" value="SUBMIT">
</form>

在这里我看到了如何执行此操作的多种变体,我什至看到一篇帖子说这可能是不可能的。

$query = "INSERT INTO `******`.`******` (img) values ('{$_POST['file']}')"

我知道上面说的不对。

所以我的问题如下,$_POST['file'] 没有发布的原因是什么,是否有更好的方法将图像插入我的数据库?仅供引用,我知道将图像直接插入数据库并不是最有效的方法,还有其他通过引用文件路径的方法。

最佳答案

你要用的是php的$_FILES而是超全局的。

$content = file_get_contents($_FILES['call_file']['tmp_name']);

你可能想对 $content 或类似的东西进行病毒检查。

我还建议您将文件存储在系统上而不是作为数据库中的 blob,而是存储文件的路径

关于php - 将图像插入数据库并编码 ="multipart/form-data",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18662651/

相关文章:

PHP:尝试提供 "prev"和 "next"链接

php - 为什么我在使用 w3school 教程时遇到错误?

php - 在 Laravel 5.1 中更改 session 文件名

php - 错误后继续执行代码并稍后在 PHP 中处理它们?

php - MemCache 对象未在 php 文件内实例化

mysql - 选择 2 列,最多选择一列

php - UTF-8 换行符出现在 phpMyAdmin 中,但不出现在网页上

mysql - 在 Spring Boot 下执行 H2

php - 获取变量数组的数据库数据

php - MySql PHP 从逗号分隔数据(标签)中选择不同值的计数