Bir dosyanın MIME-TYPE’ ını belirlemek için dosya uzantısına bakmak gerekir. Aşağıda dosya uzantısına göre bir dosyanın MIME-TYPE ‘ın bulunması için PHP işlev örnekleri bulacaksınız. Not! Dosya uzantısı kolayca değiştirilebildiği için bu yol ile mime-türünü belirlemek pek garantili bir yol değildir fakat en çok kullanılanıdır.
Buradan diğer mime tiplerine ulaşabilirsiniz.
//kullanımı: dosyaMimeTipi('dosyaadi.jpg'); // image/jpg
function dosyaMimeTipi($dosya){
$mime_tipleri = array(
"pdf"=>"application/pdf"
,"exe"=>"application/octet-stream"
,"zip"=>"application/zip"
,"docx"=>"application/msword"
,"doc"=>"application/msword"
,"xls"=>"application/vnd.ms-excel"
,"ppt"=>"application/vnd.ms-powerpoint"
,"gif"=>"image/gif"
,"png"=>"image/png"
,"jpeg"=>"image/jpg"
,"jpg"=>"image/jpg"
,"mp3"=>"audio/mpeg"
,"wav"=>"audio/x-wav"
,"mpeg"=>"video/mpeg"
,"mpg"=>"video/mpeg"
,"mpe"=>"video/mpeg"
,"mov"=>"video/quicktime"
,"avi"=>"video/x-msvideo"
,"3gp"=>"video/3gpp"
,"css"=>"text/css"
,"jsc"=>"application/javascript"
,"html"=>"text/html"
);
$dosyauzanti = strtolower(end(explode('.',$dosya)));
return $mime_tipleri[$dosyauzanti];
}
?>
Ikinci Yol – finfo_open kullanarak
//kullanımı: dosyaMimeTipi('dosyaadi.jpg'); // image/jpg
function dosyaMimeTipi($dosya){
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$finfile = finfo_file($finfo, $dosya);
finfo_close($finfo);
if ($finfile){
return $finfo;
} else {
return "application/octet-stream"; // eğer bulunamazsa bu mime tipini kullan
}
}
Dosya yükleme işlemlerinde kullanmak isterseniz
$mimetipi = dosyaMimeTipi("dosyaadi.jpg");
$dosyaadi = "dosyaadi.jpg";
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public",false);
header("Content-Description: Dosya Transferi");
header("Content-type: ".$mimetipi);
header("Content-Length: " .(string)(filesize($dosyaadi)) );
header('Content-Disposition: attachment; filename="'.$dosyaadi.'"');
header("Content-Transfer-Encoding: binary\n");
readfile($dosyaadi);
Kaynak : 2015 sonrası güncellenmeyen ve kaybolup gitmesini istemediğim blog yazılarının yer aldığı bilgisayar.me sayfası.