Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Siteden readfile komutu ile pdf dosyası indirme sorunu

arkadaşlar dosya indirmede kullandığım bir kod var.bu kod ana dizindeki pdf dosyalarımı indiriyor fakat upload içerisindeki dosyaları okuyamıyor.

<?php 
$file=basename($_GET['dosya']); // basename sayesinde klasör linkleri görmez sadece dosya ismini alır.

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.$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;
}else{
 echo $file." Dosya Bulunamadi !";
}

?>

kod bu arkadaşlar.



 header('Content-Disposition: attachment; filename='.$file);


yukardaki kısmı şu şekilden yapınca çalışmıyor.

 header('Content-Disposition: attachment; filename=/upload/'.$file);


yada başka şekilde.Yardımcı olursanız çok sevinirim.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • siyahbeyaz adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    472 cevap - 20 soru
    sen ftp de bulunan bir pdf i bu sekilde okutamazsın... bu tür işlemler için pdf classları vardır.
    bunlardan bazıları zend pdf, FPDF, FPDI vs... diye gider..
    benim size tavsiye
    FPDI KULLANIN.. FPDI ICIN http://www.setasign.de/products/pdf-php-solutions/fpdi BURDAN ındirebilirsiniz..
    gerekli cevirme kodlarida..

    require_once('fpdf.php'); 
    require_once('fpdi.php'); 
    $pdf = new FPDI();
    
    $pdf->AddPage(); 
    
    $pdf->setSourceFile('upload/dosyaadi.pdf'); 
    // pdf import işlemi
    $tplIdx = $this->pdf->importPage(1); 
    // sayfa genişlik ve yükseklik ayarlarını alıp otomatik döndürelim..
    $this->pdf->useTemplate($tplIdx, 0, 0, 0, 0, true); 
    
    // pdf dosyamız üzerinde istersek degisiklik yapabiliriz.. font yazi vs ekleme icin.
    $this->pdf->SetFont('Arial', '', '13'); 
    $this->pdf->SetTextColor(0,0,0);
    // pdf nin baslayacagı yazı pozisyonunu ayarlayalım padding özelligi.
    $this->pdf->SetXY(20, 20);
    //first parameter defines the line height
    $this->pdf->Write(0, 'gift code');
    //force download ile kullanıcıya kaydetirelim..
    $this->pdf->Output('yenidosyaAdi.pdf', 'D');