Ana sayfa PHP PHP İle Dosya Uzantısından Mime Tiplerinin Bulunması

PHP İle Dosya Uzantısından Mime Tiplerinin Bulunması

19
0
yararlı php kodları
yararlı php kodları

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ı.

BİR CEVAP BIRAK

Please enter your comment!
Please enter your name here