我有以下代码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";
}
}
}
答案 0 :(得分:2)
最常见的原因是没有将enctype="multipart/form-data"
属性添加到实际表单中。 PHP需要实际的文件数据。如果不存在,则会出现您提到的错误。