• 19-10-2012, 15:19:36
    #1
    Üyeliği durduruldu
    Merhabalar

    .mp3 uzantılı olan dosyaya indirmeleri için link veriyorum fakat bütün tarayıcılar tıklayınca direk indirme işlemini başlatmıyor.Sadece mozilla indiriyor.Chrome explorer gibi tarayıcılar playerda açıyor.linke sağ tık yapıp farklı kaydet demek gerekiyor mecburen.Bu konuda yardıma ihtiyacım var çok acil
  • 19-10-2012, 15:29:00
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    header ekleyerek yapıyorsun galiba.
    mp3linki koyduğun yerin altına hemen bunu ekle işte mp3 linkinin değişkeni neyse
    header('Location:'.$mp3linki);
  • 19-10-2012, 16:56:44
    #3
    header('Content-Disposition: attachment; filename="ali.mp3"');
  • 19-10-2012, 18:52:54
    #4
    Üyeliği durduruldu
    Sorunu çözemedim malesef yardımcı olabilecek varmı ?
  • 19-10-2012, 19:05:08
    #5
    header ile çözebilirsiniz.

    <?php
    $filename = "theDownloadedFileIsCalledThis.mp3";
    $myFile = "/absolute/path/to/my/file.mp3";

    $mm_type="application/octet-stream";

    header("Cache-Control: public, must-revalidate");
    header("Pragma: hack"); // WTF? oh well, it works...
    header("Content-Type: " . $mm_type);
    header("Content-Length: " .(string)(filesize($myFile)) );
    header('Content-Disposition: attachment; filename="'.$filename.'"');
    header("Content-Transfer-Encoding: binary\n");

    readfile($myFile);

    ?>

    http://php.net/manual/en/function.header.php
  • 19-10-2012, 19:37:19
    #6
    Üyeliği durduruldu
    Malesef olmadı oda.

    <?php
    $file = '444.mp3';

    if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
    }
    ?>


    Bu kod ile oluyor fakat linke nasıl entegre edeblirim bunu. indirmek için tıklayınız denildiğinde indirilmesini nasıl saglarım yani
  • 19-10-2012, 20:52:47
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşım bir kaç tane yolla yapabilirsin. Birincisi linkleri verirken

    http://www.site.com/mp3.php?file=dosya_adi

    gibi kullanıp, yukarıda kullandığın header kodunu mp3.php diye kaydedip GET ile gelen dosyayı kontrol edip işlem yaparsın.

    <?php
    if($_GET['file']){
    $file = temizleme_fonksiyonun($_GET['file']);
    if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
    }
    gibi. Ya da linkleri değiştirmek zorsa mp3 olanları o dosyaya yönlendirerek:

    RewriteRule ^/dizin/(.*\.mp3)    /mp3.php?file=$1 [L]
    Veya htconfig içine ya da sunucun destekliyorsa htacess içine:

    <FilesMatch "\.(?i:mp3)$">
      ForceType application/octet-stream
      Header set Content-Disposition attachment
    </FilesMatch>
    ekleyerek.
  • 20-10-2012, 01:09:24
    #8
    Üyeliği durduruldu
    Sorun çözüldü konu kapatılabilir.Yardımcı olmaya çalışan herkese teşekkür ederim