我試圖上傳多個圖像到我的服務器,我有以下工作,如果上傳一個單一的形象,只有我不確定我下一步去哪裏?多圖像上傳PHP,循環?
我有一個POST表單提交3張圖片,下面只上傳第一張,我需要爲每張圖片創建一個while循環嗎?
到目前爲止,香港專業教育學院的書面...
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . date('U')."-".$_FILES["file"]["name"]); // add a unique string to the uploaded filename so that it is unique.
echo "Stored in: " . "upload/" . date('U')."-".$_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
任何人能看到我去錯了嗎?
不要**不**使用這個腳本。你有多個嚴重的「請接管我的服務器」漏洞。 –
@MarcB這將有助於闡述! – Mansfield
依賴於MIME類型可能很危險,因爲它很容易通過創建混合文件來欺騙它們(頭部部分負責識別,其餘部分是惡意的),但除此之外我沒有看到任何更嚴重的事情。謹慎精心製作MarcB? – brezanac