PHP ile dosya uzantısından mime tiplerinin bulunması
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.
PHP
//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);