2
我正在關注一本書中的一些php示例,並通過它們進行工作。下面的代碼假設使用switch語句驗證上載的文件類型是否匹配所設置的有效類型。有效的類型是:jpeg,png,tiff和gif。但是,代碼似乎總是採用默認語句並跳出循環。我甚至從網站上下載了這個例子,並且發生了同樣的問題!PHP switch語句始終採用默認值
echo <<<_END
<html><head><tile>PHP Form Upload</title></head>
<body>
<form method='post' action='upload2.php' enctype='multipart/form-data'>
Select a JPG, GIF, PNG or TIF File:
<input type='file' name='filename' size='10' />
<input type='submit' value='Upload' /></form>
_END;
if ($_FILES)
{
$name = $_FILES['filename']['name'];
switch ($_FILES['filename']['type'])
{
case 'image/jpeg': $ext = 'jpg'; break;
case 'image/gif': $ext = 'gif'; break;
case 'image/png': $ext = 'png'; break;
case 'image/tiff': $ext = 'tiff'; break;
default: $ext = ''; break;
}
if ($ext){
$n = "image.$ext";
move_uploaded_file($_FILES ['filename']['tmp_name'],$n);
echo "Uploaded image '$name' as '$n':<br />";
echo "<img src='$n'";
}
else echo "'$name' is not a valid image file";
}
else echo "No image has been uploaded";
echo "</body></html>"
?>
如果我說上傳圖片「image.jpg的」,它應該$分機設置爲$ JPG,然後執行上傳,但我只是得到了else語句:
else echo "'$name' is not a valid image file";
你有沒有綁打印'$ _FILES ['文件名'] ['type']'看看爲什麼它會經歷錯誤的路徑? – John3136
我還沒有,會很快做到這一點。我嘗試了一些簡單的回聲聲明,這並沒有太大的幫助。 – user3362856