ユーザーが画像をディレクトリにアップロードできるページを作成しようとしています。ページのアップロード セグメントは次のようになります。
<form action="resources/includes/uploaded.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="text" name="description">
<button class="newimage" type="submit">Upload</button>
</form>
私のPHP関数は次のようになります:
$_SESSION['random'] = substr(number_format(time() * rand(),0,'',''),0,15);
$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"] < 200000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
}
else
{
if (file_exists("../../uploads/" . $_SESSION['random']))
{
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"../../uploads/" . $_SESSION['random']);
}
}
}
else
{
echo "Invalid file";
}
...DATABASE QUERIES ETC.
上記により、設定した制限内の画像をアップロードすると、「無効な画像」が印刷されます。ファイルがそこにあるため、問題が何であるかはわかりません。関数で正しく名前が付けられ、参照されています-何かアイデアはありますか?