• 12-02-2015, 11:43:15
    #19
    Üyeliği durduruldu
    Ceu adlı üyeden alıntı: mesajı görüntüle
    header("Cache-control: private");
    header("Content-Disposition: attachment; filename=" . basename($link));
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header('Content-Type: application/'.$uzanti.'');
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");

    Bunlara gerek yok
    Onları kaldırınca da aynı sorun: ) bu kadar zormuydu işlem ben anlamadım. Jiç bir örneği olan yokmudur?
  • 12-02-2015, 13:19:53
    #20
    üst satırlarına get ile id çekip veritabanı sorgusundan sonra aşağıdakileri yazarak deneyebilir misiniz bi?

    $dizin = '/home/someuser/products/data.tar.gz'; // dosya konumu
    $mm_tip="application/octet-stream"; // dosya türüne göre değiştirin ama çoğu durumda gerekmez
    
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Type: " . $mm_tip);
    header("Content-Length: " .(string)(filesize($dizin)) );
    header('Content-Disposition: attachment; filename="'.basename($dizin).'"');
    header("Content-Transfer-Encoding: binary\n");
    
    readfile($dizin);
    
    exit();
  • 12-02-2015, 13:48:28
    #21
    Base64 ile sifreleyip sorunsuzca indirmesini sağlayabilirsin.

    index.php
    $resim['tur']=base64_encode("image/jpeg");
    $resim['yol']=base64_encode("resim.jpg");
     
    
    <a href="indir.php?indir=<?=$resim['yol']."&tur=".$resim['tur']?>">İndir</a
    indir.php
    <?  
    header("content-type:".base64_decode($_GET['tur'])."");
    header("content-disposition: attachment; filename=".base64_decode($_GET['indir']));
    readfile(base64_decode($_GET['indir']));
    ?>
  • 12-02-2015, 13:56:46
    #22
    Üyeliği durduruldu
    Misafir adlı üyeden alıntı: mesajı görüntüle
    üst satırlarına get ile id çekip veritabanı sorgusundan sonra aşağıdakileri yazarak deneyebilir misiniz bi?

    $dizin = '/home/someuser/products/data.tar.gz'; // dosya konumu
    $mm_tip="application/octet-stream"; // dosya türüne göre değiştirin ama çoğu durumda gerekmez
    
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Type: " . $mm_tip);
    header("Content-Length: " .(string)(filesize($dizin)) );
    header('Content-Disposition: attachment; filename="'.basename($dizin).'"');
    header("Content-Transfer-Encoding: binary\n");
    
    readfile($dizin);
    
    exit();
    İnen dosya bozuk çıkıyor. Dosya uzak sunucu da olacak

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:56:46 -->-> Daha önceki mesaj 13:52:22 --

    wrecking adlı üyeden alıntı: mesajı görüntüle
    Base64 ile sifreleyip sorunsuzca indirmesini sağlayabilirsin.

    index.php
    $resim['tur']=base64_encode("image/jpeg");
    $resim['yol']=base64_encode("resim.jpg");
     
    
    <a href="indir.php?indir=<?=$resim['yol']."&tur=".$resim['tur']?>">İndir</a
    indir.php
    <?  
    header("content-type:".base64_decode($_GET['tur'])."");
    header("content-disposition: attachment; filename=".base64_decode($_GET['indir']));
    readfile(base64_decode($_GET['indir']));
    ?>
    Deniyorum hocam hemen.
  • 12-02-2015, 14:38:38
    #23
    Hocam header ile yapın, uğraşmayın
  • 12-02-2015, 15:53:53
    #24
    Üyeliği durduruldu
    Ceu adlı üyeden alıntı: mesajı görüntüle
    Hocam header ile yapın, uğraşmayın
    hocam olmuyor ki header ile readfile 1 2 GB 'lık dosyayı iki saat indirmiyor. Siz denediniz mi?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 15:53:53 -->-> Daha önceki mesaj 15:35:49 --

    wrecking adlı üyeden alıntı: mesajı görüntüle
    Base64 ile sifreleyip sorunsuzca indirmesini sağlayabilirsin.

    index.php
    $resim['tur']=base64_encode("image/jpeg");
    $resim['yol']=base64_encode("resim.jpg");
     
    
    <a href="indir.php?indir=<?=$resim['yol']."&tur=".$resim['tur']?>">İndir</a
    indir.php
    <?  
    header("content-type:".base64_decode($_GET['tur'])."");
    header("content-disposition: attachment; filename=".base64_decode($_GET['indir']));
    readfile(base64_decode($_GET['indir']));
    ?>

    Hocam .zip iniyor açılıyor fakat diğer dosya türleri bozuk oluyor açılmıyor neden olabilir?
  • 12-02-2015, 16:05:01
    #25
    Burdan type bulup ayarlayabilirsin.
  • 12-02-2015, 16:43:28
    #26
    Üyeliği durduruldu
    wrecking adlı üyeden alıntı: mesajı görüntüle
    Burdan type bulup ayarlayabilirsin.
    hocam teşekkürler peki son olarak, verdiğiniz URL de dosya adında boşluk var ise indirmiyor bunu nasıl düzeltebilirim?
  • 12-02-2015, 16:45:57
    #27
    $dosya_adi = str_replace(' ', '%20', $dosya_adi);
    dener misiniz?

    düzenleme: çalışırsa nihayi kodu yazın buraya da hocam başka arkadaşlar da arayınca çalışan kodu rahatça bulabilsinler.