• 22-08-2022, 21:57:53
    #1

    sunucumdaki bir dosyayı indirtmeye çalışıyorum ancak sürekli olarak bu hatayı alıyorum, dosya adı vs. başarıyla geliyor ancak dosya açılmıyor. Sizce hatam nerede?
    if(isset($sepetkontrolcek['sepet_id'])){ 
        $pdf = $ebookcek['ebook_file'];
    
      $file_url = "$url/assets$pdf";
    
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header("Content-Disposition: attachment; filename=$slug.pdf");
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    readfile($file_url);
    
    }
    }
  • 22-08-2022, 22:40:28
    #2
    Yardım ihtiyacım devam ediyor.
  • 22-08-2022, 23:54:57
    #3
    Öncelikle indirme işlemini yaptırmadan önce file_exists ile dosyanın gerçekten diskte olup olmadığını kontrol edin. Muhtemelen olmayan dosyayı indirmeye zorluyorsunuz. O anki hata mesajı içeren outputu pdf olarak indiriyor.

    ozgur_medya adlı üyeden alıntı: mesajı görüntüle
    sunucumdaki bir dosyayı indirtmeye çalışıyorum ancak sürekli olarak bu hatayı alıyorum, dosya adı vs. başarıyla geliyor ancak dosya açılmıyor. Sizce hatam nerede?
    if(isset($sepetkontrolcek['sepet_id'])){
        $pdf = $ebookcek['ebook_file'];
    
      $file_url = "$url/assets$pdf";
    
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header("Content-Disposition: attachment; filename=$slug.pdf");
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    readfile($file_url);
    
    }
    }
  • 22-08-2022, 23:59:22
    #4
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Öncelikle indirme işlemini yaptırmadan önce file_exists ile dosyanın gerçekten diskte olup olmadığını kontrol edin. Muhtemelen olmayan dosyayı indirmeye zorluyorsunuz. O anki hata mesajı içeren outputu pdf olarak indiriyor.
    if(isset($sepetkontrolcek['sepet_id'])){
      $pdf = $ebookcek['ebook_file'];
    
    $file_url = "$url/assets$pdf";
    
    if(file_exists($file_url)){
    
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header("Content-Disposition: attachment; filename=$slug.pdf");
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    readfile($file_url);
    
    }
    }
    Evet böyle bir kullanım izlediğimde herhangi bir down işlemi yapmıyor ancak $file_url'yi echo ettirdigimde gelen linki tarayicima girdigimde boyle bir dosya oldugunu goruyorum. Sizce sorun ne olabilir?
  • 23-08-2022, 00:07:04
    #5
    Dosya sizin yazılımınızın bulunduğu dizinde ise getcwd(), __DIR__, realpath gibi fonksiyonlar kullanarak dosyanın tam yolunu alın. Sizin url'den yakaladığınız dosyayı yazılım yakalayamıyor olabilir. Şöyle ki:

    <?php file_exists(realpath(__DIR__.'/'.$url.'/assets' . $pdf));
    ozgur_medya adlı üyeden alıntı: mesajı görüntüle
    if(isset($sepetkontrolcek['sepet_id'])){
      $pdf = $ebookcek['ebook_file'];
    
    $file_url = "$url/assets$pdf";
    
    if(file_exists($file_url)){
    
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header("Content-Disposition: attachment; filename=$slug.pdf");
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    readfile($file_url);
    
    }
    }
    Evet böyle bir kullanım izlediğimde herhangi bir down işlemi yapmıyor ancak $file_url'yi echo ettirdigimde gelen linki tarayicima girdigimde boyle bir dosya oldugunu goruyorum. Sizce sorun ne olabilir?