function indir( $isim, $dosyayolu ){
// Yeni bi başlangıç olmalı
if( headers_sent() ){ die('Headers Sent'); }
// Bazı browserlarda gerekli olabiliyor
if( ini_get('zlib.output_compression') ){ ini_set('zlib.output_compression', 'Off'); }
// Dosya var mı yok mu onu kontrol edelim
if( file_exists( $dosyayolu ) ){
// Dosya bilgileri ve uzantısı
$boyut = filesize( $dosyayolu );
$bilgiler = pathinfo( $dosyayolu );
$uzanti = strtolower( $bilgiler["extension"] );
// Dosya türünü belirtelim
switch ( $uzanti ) {
case "pdf": $tur ="application/pdf"; break;
case "exe": $tur ="application/octet-stream"; break;
case "zip": $tur ="application/zip"; break;
case "doc": $tur ="application/msword"; break;
case "xls": $tur ="application/vnd.ms-excel"; break;
case "ppt": $tur ="application/vnd.ms-powerpoint"; break;
case "gif": $tur ="image/gif"; break;
case "png": $tur ="image/png"; break;
case "jpeg":
case "jpg": $tur ="image/jpg"; break;
default: $tur ="application/force-download";
}
header("Pragma: public"); // zorunlu
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false); // bazı browserlarda gerekiyo
header("Content-Type: ".$tur);
header("Content-Disposition: attachment; filename=\"".$isim."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$boyut);
ob_clean();
flush();
readfile( $dosyayolu );
} else {
die('Dosya bulunamadı.');
}
}