我在玩弄一些代碼,想知道這些是否都需要?如何驗證上傳圖片?
我會認爲,如果我已檢查它是一個圖像,那麼我不需要驗證是否使用了正確的擴展名。
這似乎是多餘的,但我可能沒有看到更大的圖片。
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif") {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
我將調整大小並可能更改擴展名,這樣我就不必將其存儲在數據庫中。
我同意你的意見。擴展並不總是正確的。測試它是否真的是一個圖像會更可靠。 – Octopus
那麼,如果你省略了第二位,並且有人上傳了TIFF,它就會說謊,並告訴他們TIFF不是圖像;( – WheatBeak
@WheatBeak,我剛剛測試過一個TIFF,它以圖像形式返回 – harkly