【发布时间】:2016-11-20 21:28:38
【问题描述】:
我希望我的用户能够将图像上传到他们的帐户(我的 MySQL 数据库)。但是,当我尝试对其进行编码并上传时,该文件似乎从未上传过并且是空的。我已经在我的 PHP 设置中检查了最大上传大小等。提前致谢!!
$data = "";
if(isset($_FILES["up"])) {
$data = file_get_contents($_FILES['up']['tmp_name']);
$data = base64_encode($data);
$data = $connection->real_escape_string($data);
} else {
echo '<div style="position:absolute;height:100px;top:0px;left:0px;
border-top-right-radius:20px;border-top-left-radius:20px;
width:100%;background:white;z-index:100;"
>
<font style="color:#BB0000;font-size:2.2vw;">'.$_FILES['up']['error'].'</font>
</div>';
die('');
}
我的 HTML 是:(并且表单提交正确)
<input type="file" accept=".jpg,.png,.jpeg" name="up" id="up"/>
【问题讨论】:
-
多么可怕的文件存储方式。
-
对,把文件存入文件系统,把名字存入数据库
-
你的 html 表单中有 enctype="multipart/form-data" 吗?
-
e4c5 - 为什么这样更好?
-
您需要通过检查文件上传是否成功来进行调试。 $_FILES 也有一个错误元素,最低限度是检查它的值并与我们分享(如果你不能根据它的内容解决问题)。
标签: php html mysql file-upload input-type-file