我想構建一個簡單的圖像上傳,但當我試圖上傳任何圖像時,我收到一個錯誤,告訴我它的一個無效文件。誰能告訴我我做錯了什麼?圖像上傳錯誤
這裏是我的代碼:
<?php
$allowExts = array("jpg", "jpeg", "gif", "png", "stl");
$extensions = 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"]["type"] == "image/stl"))
&& ($_FILES["file"]["size"] < 21000)
&& in_array($extension, $allowExts))
{
if ($_FILES ["file"]["error"] > 0){
echo "ERROR: " . $_FILES["file"]["error"] . "<br>";
}
else{
echo "Upload: " . $_FILES["file"]["name"];
echo "Type: " . $_FILES["file"]["type"];
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>";
echo "Stores in: " . $_FILES["file"]["tmp_name"];
if (file_exists("upload/" . $_FILES["file"]["name"])){
echo $FILES["file"]["name"] . "already exists. ";
}
else{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $FILES["file"]["name"];
}
}
}
else{
echo "Invalid File";
}
?>
這是我根據我所做的編輯調整的文件:
<?php
$allowExts = array("jpg", "jpeg", "gif", "png", "stl");
$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"]["type"] == "image/stl"))
&& ($_FILES["file"]["size"] < 30000000)
&& in_array($extension, $allowExts))
{
if ($_FILES ["file"]["error"] > 0){
echo "ERROR: " . $_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 "Stores in: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("images/" . $_FILES["file"]["name"])){
echo $FILES["file"]["name"] . "already exists. ";
}
else{
move_uploaded_file($_FILES["file"]["tmp_name"],
"images/" . $FILES["file"]["name"]);
echo "Stored in: " . "images/" . $FILES["file"]["name"];
}
}
}
else{
echo "Invalid File";
print_r($_FILES);
}
?>
嘗試:'echo $ _FILES [「file」] [「type」];'看看它是什麼類型的文件,以及它是否在你的列表中。 – 2013-02-18 16:37:08
向我們展示'print_r($ _ FILES)'的結果。 – MrCode 2013-02-18 16:37:36
我知道我嘗試上傳的文件是PNG和JPG,似乎都沒有工作,但我有他們在列表中。使用谷歌瀏覽器,而不是IE或Firefox,其他jpg擴展也需要。 – Giovatto 2013-02-18 16:38:50