我想创建用户头像。我只是想确保它是安全的。检查文件是否为实际图像而不是其他任何东西的最佳方法是什么。
我已经尝试过这个:
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
} else {
echo "File is not an image.";
}
尽管这种方法在某些图像上看似有效,但其他像照片一样的图像则可能导致失败。我用手机拍摄的照片似乎会显示“文件不是图像”,而其他照片则会显示图像。
我也一直在检查文件格式。
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
$imageFileType=$_FILES["fileToUpload"]["type"]
。 - Hikmat Sijapati