如何将此exif_imagetype()函数设置为caseinsensitive?这样它将允许.jpg和.JPG?无法想象这一个..香港专业教育学院尝试过stripos();没有运气..这是我的代码:
$allowed_types = array(IMAGETYPE_GIF,IMAGETYPE_JPEG,IMAGETYPE_PNG);
if (in_array(exif_imagetype($_FILES["uploaded_file"]["tmp_name"]), $allowed_types)){
// SUCCSESFUL
使用STRTOLOWER获取错误()
$allowed_types = array(IMAGETYPE_GIF,IMAGETYPE_JPEG,IMAGETYPE_PNG);
if (strtolower(in_array(exif_imagetype($_FILES["uploaded_file"]["tmp_name"]), $allowed_types))){
IT SAYS:“警告:exif_imagetype():文件名在”
中不能为空编辑:当我尝试上传大写的.JPG图片时,我只收到此错误..大多数现代相机都使用这种格式,如果你问我这很烦人:很多网站因为这个原因丢失了用户,我们必须找到解决这个问题的方法。
答案 0 :(得分:2)
在您输入“tmp name”变量之前,只需对您接受的所有输入执行strtolower()。你应该在整个过程中对输入进行消毒,所以也可以这样做。
答案 1 :(得分:0)
使用:
$allowed_types = array(strtolower(IMAGETYPE_GIF),strtolower(IMAGETYPE_JPEG),strtolower(IMAGETYPE_PNG));
if (in_array(strtolower(exif_imagetype($_FILES["uploaded_file"]["tmp_name"])), $allowed_types)){