我想将文件上传到现有文件夹/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";
}
}
答案 0 :(得分:2)
/ media / images / avatars /是现有文件夹
我很确定你错了。
您很可能指的是 web-server 目录,但使用 filesystem root的绝对路径。
因此,您必须在文档根路径前面添加路径,您可以在配置良好的服务器上的$_SERVER['DOCUMENT_ROOT']
变量中找到该路径