php试图上传文件:“没有这样的文件或目录”

时间:2013-03-15 12:06:50

标签: php upload

我想将文件上传到现有文件夹/media/images/avatars/,但收到以下错误:No such file or directory。我究竟做错了什么?如果重要的话,我正在使用Ubuntu。

这是我的代码:

if (!empty($_FILES['file']['name']))
{
    $allowedExts = array("jpg", "jpeg", "gif", "png");
    $extension = end(explode(".", $_FILES["file"]["name"]));
    if ((($_FILES["file"]["type"] == "image/gif")
      || ($_FILES["file"]["type"] == "image/jpeg")
      || ($_FILES["file"]["type"] == "image/png")
      || ($_FILES["file"]["type"] == "image/pjpeg"))
      && ($_FILES["file"]["size"] < 64000)
      && in_array($extension, $allowedExts))
    {
        if ($_FILES["file"]["error"] > 0)
        {
            echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
        }
        else
        {
            if (file_exists("/media/images/avatars/" . $_FILES["file"]["name"]))
            {
                echo $_FILES["file"]["name"] . " already exists. ";
            }
            else
            {
                move_uploaded_file($_FILES["file"]["tmp_name"],
                "/media/images/avatars/" . $_FILES["file"]["name"]);
            }
        }
        $ins['avatar'] = $_FILES["file"]["name"];
    }
    else
    {
        echo "Invalid file";
    }
}

1 个答案:

答案 0 :(得分:2)

  

/ media / images / avatars /是现有文件夹

我很确定你错了。
您很可能指的是 web-server 目录,但使用 filesystem root的绝对路径。

因此,您必须在文档根路径前面添加路径,您可以在配置良好的服务器上的$_SERVER['DOCUMENT_ROOT']变量中找到该路径