PHP move_uploaded_file()不起作用并且不返回

时间:2016-07-28 23:03:31

标签: php html forms file-upload input

我使用PHP从输入中获取文件,并将其上传到我的服务器(在覆盆子pi上运行的apache)。

这是我的HTML:

<form action="admin/upload/" method="post" enctype="multipart/form-data">
    <input type="file" name="image" accept="image/*">
    <input type="submit" value="Upload">
</form>

将您带到upload.php文件:

$valid_file = true;

if ($_FILES['image']['name']) {
    if (!$_FILES['image']['error']) {

        $currentdir = getcwd();
        $target = $currentdir .'/' . basename($_FILES['image']['name']);
        echo $target;

        if ($_FILES['image']['size'] > (1024000)) {
            $valid_file = false;
            $message = 'Oops!  Your file\'s size is to large.';
        }

        if ($valid_file) {
            $result = move_uploaded_file($_FILES['image']['tmp_name'], $target);

            if ($result) {
                $message = 'Congratulations!  Your file was accepted.';
                echo $message;
            } else {
                echo"Failed";
            }
        } 

    } else {
        $message = 'Ooops!  Your upload triggered the following error:  '.$_FILES['image']['error'];
    }
}

echo $message;

它传递前两个if条件,并计算将照片移动到的路径。

我使用的图像是200kb,所以它不是太大。

因为它是一个有效的文件,所以它运行move_uploaded_file()方法,将结果存储在$ result中。但是,它什么也没有返回。回显它是空白的,但isset()返回true。但是,它必须是假的,因为它没有if条件。

最后,没有上传照片,我无法弄清楚原因?

0 个答案:

没有答案