$allowed_ext = ['jpg','jpeg','png','gif','gıf'];
$allowed_mimes = ['image/jpeg','image/png','image/gif'];
$ext_explode = explode('.',$file['name']);
$uzanti = strtolower(array_pop($ext_explode));
$mime = mime_content_type($file['tmp_name']);
if(!in_array($uzanti,$allowed_ext) || !in_array($mime,$allowed_mimes)){
echo 'hata'
die;
}en basit haliyle bu şekilde yapabilirsiniz.
ayrıca $_FILES['file']['type']; kullanmayın. txt dosyasının sadece uzantısını değiştirip .png yaptığınızda da image/png döner. örnek olarak; shell.php dosyasını kötü niyetli kullanıcı shell.png yapar yükler, sonra yüklenen dosyayı çalıştırır sonuçları kötü olur.
mime_content_type kullanın. bu gibi durumlarda kesin sonuç verir. uzantı farklı içerik farklı olsa da doğru sonucu döner
hocam cevabınız için teşekkür ederim aşağıdaki gibi düzenledim kodlarımı sizin verdiklerinizi ekleyerek fakat yine de başarılı olamadım, sizde bir bakar mısınız?