Downloader Function With PHP

Downloader Function With PHP


Fungsi dibawah ini merupakan fungsi buatan untuk mendownload file dari remote HTTP ke local harddisk. Tentunya hanya file yang memiliki hak akses 0777 saja yang akan bisa didownload.

 

Pengen Belajar Web Development HTML CSS JQuery Javascript Codeigniter Lebih Lengkap, Mudah, dan Lebih Terstruktur?

Pake Modul Video Tutorial Interaktif Mudah Jelas Gamblang, Nggak Pakai Ribet, Kenapa Video? Kalo Ebook Atau Buku Tebelnya minta ampun Gan. Mumpung Ada Promo, Beli Sekarang Dah Gan!! Promo Tutorial Premium Mahir Web Development Bangun 5 Project Website + Mahir Membuat 4 Aplikasi Android + Bonus Tutorial Membuat Themes Wordpress Premium, 3 Tutorial Isi 5 Dvd Cuma Rp 150rb Aja Gan (harga normal Rp 296rb) !!! Terbatas Sampe 12 Februari 2020 (Yang Bikin Videonya Udah Pengalaman Di Web Development Lebih Dari 15 Tahun Gan!!) (Pemesanan bisa SMS/WA ke 0838 1157 5876, atau bisa pesan secara online di sini)


PHP Code:

<?
define ("_MAX_DOWNLOAD_RATE", 20.5*1024); //20kb / second
define ("_DOWNLOAD", "D:/down-test/");
function putItNow($file_source, $file_target)
{
? // Preparations
? $file_source = str_replace(' ', '%20', html_entity_decode($file_source)); // fix url format
? if (file_exists($file_target)) { chmod($file_target, 0777); } // add write permission

? // Begin transfer
? if (($rh = fopen($file_source, 'rb')) === FALSE) { return false; } // fopen() handles
? if (($wh = fopen($file_target, 'wb')) === FALSE) { return false; } // error messages.
? while (!feof($rh))
? {
??? // unable to write to file, possibly because the harddrive has filled up
??? if (fwrite($wh, fread($rh, round(_MAX_DOWNLOAD_RATE))) === FALSE) { fclose($rh); fclose($wh); return false; }
? }

? // Finished without errors
? fflush($rh);
? fflush($wh);
? return true;
}

if(isset($_POST['submit']) && !empty($_POST['source']))
{
??? $target = _DOWNLOAD.basename($_POST['source']);
??? if(putItNow($_POST['source'], $target))
??? {
??? ??? echo "Download for = ".$_POST['source']." into $target was DONE successfully !!!";
??? }
??? else
??? {
??? ??? echo "Unable to download = ".$_POST['source'];
??? }???
}
?>
<h2>PHP DOWNLOADER
</h2>
<form action="" method="post">
<input name="source" type="text" size="20" />
<input name="submit" type="submit" value="download" />
</form>

Definisi _MAX_DOWNLOAD_RATE digunakan untuk mendefinisikan nilai max download rate saat mendownload file, yakni 20 kb / second
sedangkan definisi _DOWNLOAD menentukan lokasi hasil download pada harddisk

diperlukan fungsi str_replace untuk menggantikan string %20 menjadi spasi. Sedangkan urutan download data na adalah:

1. fopen
2. fwrite
3. fread
4. fclose
5. fflush

demikian dan terimakasih, wkwkwkwkwkwkw.. bwat al-k thanks !!!!
bwat ephii jangan patah hati molo hihi...
bwat anggi jangan lupa berdoa sebelum tidur, huwahahahahahaha ....

Artikel Terkait :