こんにちは私は複数のファイルをアップロードしますが、フォームはすべてのフィールドをアップロードする必要はありません2番目の入力フィールドはアップロードしないでください。PHP - 複数のファイルのアップロード、いくつかのフィールドをアップロードしていない場合、エラーが発生します
問題は、ユーザーが1つのファイルのみをアップロードすると、「無効なファイル」(最終のelse文)というエラーが表示されることです。 しかし、ユーザーが2つのフィールドをすべてアップロードすると、エラーは発生しません。エラーはヌルアップロードフィールドから来たと思います。だから私は空ではない最初に使用しますが、それは仕事ではありません。どうすればいいですか?あなたはあなたの最初の行に変更することができ
if(!empty($_FILES))
{
$count = count($_FILES["images"]["name"]);
for($i=1; $i <= $count; $i++)
{
if ((($_FILES["images"]["type"][$i-1] == "image/gif")
|| ($_FILES["images"]["type"][$i-1] == "image/jpeg")
|| ($_FILES["images"]["type"][$i-1] == "image/png"))
&& ($_FILES["images"]["size"][$i-1] < 2000000)) //2 MB
{
if ($_FILES["images"]["error"][$i-1] > 0)
{
echo "File Error : " . $_FILES["images"]["error"][$i] . "<br />";
}
else
{
if (file_exists("path/to/".$_FILES["images"]["name"][$i-1]))
{
echo "<b>".$_FILES["images"]["name"][$i-1] . " already exists. </b>";
}
else
{
$newname = date('Y-m-d')."_".$i.".jpg";
move_uploaded_file($_FILES["images"]["tmp_name"][$i-1] , "path/to/".$newname);
}
}
}
else
{
echo "Invalid file" ;
exit();
}
}
}