내 사이트에 사용자가 파일을 업로드 할 수있는 페이지가 있습니다. 하나의 이미지와 하나의 사운드 파일을 업로드하도록 허용합니다. 원하지 않으면 파일을 추가 할 필요가 없으며 원하는 경우 파일을 추가 할 수도 있습니다. 문제는 사용자가 두 파일을 모두 선택하면 스크립트가 작동한다는 것입니다. 아무도 선택하지 않거나 하나만 선택하면 스크립트는 선택되지 않은 파일을 찾을 수 없으므로 '잘못된 파일'을 내뱉습니다. if((isset($_FILES['filetoupload1'])) && (isset($_FILES['filetoupload2']))) { }
여러 파일을 업로드 할 때 발생하는 문제 PHP
다음
if (isset($_FILES['filetoupload1'])) {
if (($_FILES["filetoupload1"]["type"] == "image/gif")
|| ($_FILES["filetoupload1"]["type"] == "image/jpeg")
|| ($_FILES["filetoupload1"]["type"] == "image/pjpeg")
|| ($_FILES["filetoupload1"]["type"] == "image/png")
|| ($_FILES["filetoupload1"]["type"] == "image/jpg")
) {
if ($_FILES["filetoupload1"]["error"] > 0) {
echo "Return Code: " . $_FILES["filetoupload1"]["error"] . "<br />";
} else {
if (file_exists("media/" . $_FILES["filetoupload1"]["name"])) {
echo $_FILES["filetoupload1"]["name"] . " already exists. ";
}
move_uploaded_file(
$_FILES["filetoupload1"]["tmp_name"],
"media/" . $_FILES["filetoupload1"]["name"]
);
}
} else {
echo "Invalid file";
}
}
if (isset($_FILES['filetoupload2'])) {
if ($_FILES["filetoupload2"]["type"] == "audio/mp3") {
if ($_FILES["filetoupload2"]["error"] > 0) {
echo "Return Code: " . $_FILES["filetoupload2"]["error"] . "<br />";
} else {
if (file_exists("media/" . $_FILES["filetoupload2"]["name"])) {
echo $_FILES["filetoupload2"]["name"] . " already exists. ";
}
move_uploaded_file(
$_FILES["filetoupload2"]["tmp_name"],
"media/" . $_FILES["filetoupload2"]["name"]
);
}
} else {
echo "Invalid file";
}
}
등을 모두 제 1 및 제 2 업로드 스크립트 전에 사용자가 이미지와 오디오 파일을 모두 선택했다면 :
내가 사용했습니다. 다른 말로 표현하면 다음과 같습니다.if filetoupload1 isset then run upload script that filters images.
if filetoupload2 isset then run upload script that filters audio.
if filetoupload1 AND filetoupload2 isset then run both upload scripts.
이렇게 설정했습니다. 위 내용은 파일 업로드의 모든 조합을 허용해야합니다. 권리? 하지만 그것은 그렇게 작동하지 않습니다 ..
이제 무엇을 해야할지 잘 모릅니다. 다음은 오디오 업로드 스크립트입니다. 이미지는 거의 동일합니다.
누군가 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?
는 "작동하지 않습니다"무슨 뜻인지 명확히하십시오. 출력, 예상 결과, 실제 결과 등 – cweiske
오류가 발생합니다. 잘못된 파일입니다. 파일을 선택하지 않으면 두 개의 '잘못된 파일'오류가 발생합니다. 두 파일을 모두 선택한 경우에만 작동합니다. 사용자가 자신의 뉴스 포스트에 올릴 내용을 선택할 수 있기를 원합니다. 뉴스 클립을 올리려면 항상 사운드 클립이나 이미지가 없거나 이미지 클립이있는 것은 아닙니다. – nutman
파일을 업로드하지 않으면 잘못된 파일이 표시됩니다. 업로드 된 파일이 없으면 잘못된 파일이 두 번 표시되는 것은 논리적입니다. 귀하의 코드는 귀하가 성취하고자하는 것을 허용합니다. 에코를 제거하거나 원하는 경우 무언가를하십시오. –