PHP文件上传。没有文件上传但返回成功

时间:2014-01-03 12:34:32

标签: php file-upload

我有以下代码tutorial该函数输出成功但图像不存在。为什么? img文件夹不包含任何内容。我的代码有问题吗?即时通讯使用表单提交。我的imageUploader也位于不同的位置。在将uploade文件移动到指定路径之前,它在哪里?

class ImageUploader{

    public function saveUploadImage(){
        $file_loc = $this->config['absolutePath']."/images/img/";
        $allowedExts = array("gif", "jpeg", "jpg", "png");
        $temp = explode(".", $_FILES["file"]["name"]);
        $extension = end($temp);
        if ((($_FILES["file"]["type"] == "image/gif")
                || ($_FILES["file"]["type"] == "image/jpeg")
                || ($_FILES["file"]["type"] == "image/jpg")
                || ($_FILES["file"]["type"] == "image/pjpeg")
                || ($_FILES["file"]["type"] == "image/x-png")
                || ($_FILES["file"]["type"] == "image/png"))
            && ($_FILES["file"]["size"] < 1000000)
            && in_array($extension, $allowedExts))
        {
            if ($_FILES["file"]["error"] > 0)
            {
                echo "Error: " . $_FILES["file"]["error"] . "<br>";
            }
            else
            {
                echo "Upload: " . $_FILES["file"]["name"] . "<br>";
                echo "Type: " . $_FILES["file"]["type"] . "<br>";
                echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
                echo "Stored in: " . $_FILES["file"]["tmp_name"];

                if (file_exists($file_loc . $_FILES["file"]["name"]))
                {
                    echo $_FILES["file"]["name"] . " already exists. ";
                }
                else
                {
                    move_uploaded_file($file_loc.$_FILES["file"]["tmp_name"], $file_loc . $_FILES["file"]["name"]);
                    echo "Stored in: " .$file_loc . $_FILES["file"]["name"];
                }

            }
        }
        else
        {
            echo "Type: " . $_FILES["file"]["type"] . "<br>";
            echo "Size: " . $_FILES["file"]["size"] . "<br>";
            echo in_array($extension, $allowedExts).'<br/>';
            echo "Invalid file";
        }


    }
}

1 个答案:

答案 0 :(得分:2)

最常见的原因是没有将enctype="multipart/form-data"属性添加到实际表单中。 PHP需要实际的文件数据。如果不存在,则会出现您提到的错误。