PHP Script For Download With Speed Limit

Hihihi,,, apakah kalian mengerti dengan judul yang aku pakai diatas ? Itu maksudnya kita buat script PHP untuk membatasi kecepatan download oleh user. Sama halnya dengan rapidshare.com, di rapidshare kan ada 2 pilihan download, Free Download dengan kecepatan download yang dibatasi, dan Premium Download untuk kecepatan download tanpa batas. Nah seperti itulah maksud dari postingan ini. Ok, untuk lebih jelas tentang source codenya silhakan lihat di bawah ini :

<?php
// contoh file yang akan di download oleh user
$local_file = 'test-file.zip';
// nama file alternatif yang akan diterima oleh user
$download_file = 'your-download-name.zip';

// set download rate limit (=> 20,5 kb/s)
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file)) {
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($local_file));
    header('Content-Disposition: filename='.$download_file);

    flush();    

    $file = fopen($local_file, "r");
    while(!feof($file)) {

        // mengirimkan part file yang di download
        print fread($file, round($download_rate * 1024));    

        // flush file
        flush();

        // jeda waktu
        sleep(1);
    }    

    fclose($file);}
else {
    die('Error: File '.$local_file.' tidak ada !');
}
?>

Ok, kira – kira seperti itulah scriptnya, semoga bisa membatu. 🙂

Leave a Reply