PHP Dosya İndirme daima Bozuk (zamanın% 50) mi

0 Cevap php

I have a script which automatically downloads a file. It works perfectly to download the file, but the problem is that 50% or more of the time, it downloads a corrupt file.

Genellikle silme ve tekrar indirmeyi, ama her zaman çalışır.

How can I make this download 100% of the time perfectly always, not corrupted? The file size changes depending on the file being downloaded.

<?php

// Automatically Start File Download 
if (isset($_GET['filename'])):
    $filename = $_GET['filename'];
    $domain = "http://www.domain.com";
    $filepath = "/addons/downloads/websites/";

     //BUILD THE FILE INFORMATION
     $file = $domain . $filepath . $filename;
     // echo $filepath . $filename;
     // echo $file;

     //CREATE/OUTPUT THE HEADER
    if (file_exists("/home/unrealde/public_html/ebook/domain.com/".$filepath . $filename)):
        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);

    else: 
        $errorMsg = "<b>Download Error: File $filename Doesnt Exist!</b> <br />Please Contact <a href='mailto:support@domain.com'>support@domain.com</a>";
    endif;

    echo $errorMsg;

else: 
    // don't download any file
endif;
?>

0 Cevap