在我的網站上,我有一個頁面,用戶可以在上傳文件的同時添加新聞帖子。我允許他們上傳一個圖像和一個聲音文件。他們不需要添加文件,如果他們不想要的話,或者他們可以添加一個,如果他們想要的話。我遇到的問題是我的腳本只在用戶選擇兩個文件時才起作用。如果他們不選擇或者只選擇一個,那麼腳本會吐出「無效文件」,因爲它找不到沒有被選中的文件。上傳多個文件時出現問題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";
}
}
然後
if((isset($_FILES['filetoupload1'])) && (isset($_FILES['filetoupload2']))) { }
第一和第二載腳本之前,如果用戶已經選擇兩種圖像和音頻文件。換句話說,它是這樣做的:
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 2011-04-09 15:26:48
我收到錯誤:無效的文件。 如果沒有選擇這兩個文件,我會得到兩個「無效文件」錯誤。 它只適用於兩個文件都被選中的情況。但我希望用戶能夠選擇他們上傳的新聞發佈內容,因爲他們可能並不總是有聲音片段或圖像,或者任何其他新聞發佈。 – nutman 2011-04-09 16:08:07
如果沒有上傳文件,您還有其他迴應無效文件。如果您沒有上傳無效文件兩次,這是合乎邏輯的。你的代碼允許你想要達到的目標。只要刪除回聲或如果你願意在它的位置做些事情。 – 2011-04-09 16:43:43