안녕하세요 PHP 파일을 여러 개 업로드하지만 양식이 모든 필드를 업로드하지 않아도됩니다 (적어도 하나의 필드 업로드 만 필요함). 두 번째 입력 필드를 업로드하지 마십시오.PHP - 여러 파일 업로드, 일부 필드를 업로드하지 않으면 오류가 발생합니다.
문제는 사용자가 파일을 하나만 업로드하면 "잘못된 파일"(최종 else 문) 오류가 발생합니다. 하지만 사용자가 2 개의 필드를 모두 업로드하면 오류가 발생하지 않습니다. 오류는 null 업로드 필드에서 발생했다고 생각합니다. 그래서 먼저 비어 있지 않더라도 사용합니다. 그러나 작동하지 않습니다. 어떻게해야합니까? 당신은 첫 번째 라인을 변경할 수 있습니다
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();
}
}
}