共計(jì) 1212 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
在 PHP 中,可以通過以下幾種方法來限制上傳文件的類型:
-
通過后綴名限制:
可以使用pathinfo()
函數(shù)獲取上傳文件的后綴名,然后與允許的文件類型進(jìn)行比較,如果不在允許的文件類型列表中,則拒絕上傳。例如:$allowedTypes = array('jpg', 'jpeg', 'png', 'gif'); $fileExtension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); if(!in_array($fileExtension, $allowedTypes)){echo " 只允許上傳 jpg, jpeg, png, gif 文件 "; exit; }
-
通過 MIME 類型限制:
可以使用$_FILES['file']['type']
獲取上傳文件的 MIME 類型,然后與允許的 MIME 類型進(jìn)行比較,如果不在允許的 MIME 類型列表中,則拒絕上傳。例如:$allowedMimeTypes = array('image/jpeg', 'image/png', 'image/gif'); $fileMimeType = $_FILES['file']['type']; if(!in_array($fileMimeType, $allowedMimeTypes)){echo " 只允許上傳圖片文件 "; exit; }
-
綜合判斷:
可以結(jié)合使用后綴名和 MIME 類型進(jìn)行判斷,增加安全性。即先通過后綴名限制判斷,再通過 MIME 類型限制判斷。例如:$allowedTypes = array('jpg', 'jpeg', 'png', 'gif'); $allowedMimeTypes = array('image/jpeg', 'image/png', 'image/gif'); $fileExtension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); $fileMimeType = $_FILES['file']['type']; if(!in_array($fileExtension, $allowedTypes) || !in_array($fileMimeType, $allowedMimeTypes)){echo " 只允許上傳圖片文件 "; exit; }
以上方法可以在文件上傳前進(jìn)行判斷,如果不符合要求,則拒絕上傳。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完