将图像上传到MySQL,无穷无尽的错误

时间:2017-04-20 18:15:40

标签: php mysql

我花了大部分时间在这个图片上传器上工作,在浏览和访问了很多线程和论坛之后,我已经找到了解决问题的方法,但是我现在正处于如果我尝试的地步一个不同的解决方案,其他的东西会破裂。

到目前为止我得到了什么:

 <form action="create.php" method="post" enctype="multipart/form-data">

    Select File
    <input type="file" name="upload">

    <input type="submit" name="submit" value="Upload" />
    <input type="text" name="title" placeholder="Title" />
    <input type="text" name="description" placeholder="Description" />
    <input type="text" name="category" placeholder="Category" />

</form>
<?php
$conn = new PDO ("mysql:host=localhost;dbname=project;", "root", "0612733771Aa");

完整的PHP就在这里,无法确定格式

https://pastebin.com/LGeuzLRH

我得到的主要错误是:

if (isset($_POST["submit"]) && isset($_FILES['upload'])) {
$image_size = getimagesize($_FILES['upload']['tmp_name']);
if ($image_size === FALSE) {
die("Unable to determine image type of uploaded file");
}

警告:getimagesize():第29行的C:\ Apache24 \ htdocs \ create.php中的文件名不能为空 无法确定上传文件的图像类型

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您需要在所有图像验证后的php文件末尾调用

if (move_uploaded_file($image, $any_custom_target_file_path)) {
        echo "The file has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }

在此之后,您可以在数据库中保存$ any_custom_target_file_path。一旦脚本执行,tmp文件将被删除,因此我们需要将其保存到某个位置。