PHP move_uploaded_file目录错误

时间:2016-11-30 19:59:15

标签: php file-upload

我正致力于CMS系统的工作,其中所需的功能之一是能够上传图像以在网站上发布新闻。它是一个非常基本的功能,我有数据库的所有代码工作正常,但我不能让上传的图像从临时目录移动到新目录。

我也检查过SO上的其他问题,但找不到有用的答案。我也确保文件夹权限是正确的。

以下是相关代码,我们将不胜感激任何帮助或建议。

谢谢!

HTML

        <?php
            if(isset($_POST['postNew'])) {
                createPost();
            }
        ?>
        <form method="post" class="newPost" enctype="multipart/form-data">
            <input type="text" name="PostTitle" placeholder="Post Title"><br>
            <textarea name="PostContent" placeholder="Post Content" style="resize:none;"></textarea><br>
            <label>Featured Image</label><br>
            <input type="file" name="featuredImage"><br>
            <input type="submit" name="postNew" value="Publish">
            <input type="reset" value="Discard Post">
        </form>

PHP

 $tmpfile = $_FILES['featuredImage']['tmp_name'];
 $newfile = "/resources/images/news/" . basename($_FILES['featuredImage']['name']);

            if(move_uploaded_file($tmpfile,$newfile)) {
                // Add Content to Database
                $title = $_POST['PostTitle'];
                $content = $_POST['PostContent'];
                $image = $_FILES['featuredImage']['name'];

                $sql= "INSERT INTO `Posts` (`PostTitle`,`PostContent`,`featuredImage`) VALUE ('$title','$content', '$image')";

                if(mysqli_query($conn,$sql)) {
                    echo "Post Successfully Created!";
                } else {
                    echo("Post not created" . mysqli_error());
                }
            } else {
                echo "Could not upload image.";
                print_r($_FILES);
            }

给出的PHP在正确的函数内,函数正在触发。当我收到错误时,它会返回print_r($ _ FILES),所以它在实际的move_uploaded_file函数中的某个地方

编辑:

我的实际代码并没有错过$变量上的newfile,而是我在实际路径中替换了$target_dir,以便让您更好地了解最新动态on(虽然定义了target_dir,但我没有包含那个片段,我的那里很糟糕。)

我上传的文件只有2MB,我服务器上的最大上传大小为32MB。

另外,是的,我有权写入目录。抱歉,回复你的评论需要很长时间。

0 个答案:

没有答案