Membuat Force Download


Force Download ? apa maksud dari kata tersebut aku juga agak susah mendefinisikannya, intinya Force Download adalah di saat kita menemui satu link suatu situs yang mengarah ke satu file itu akan secara langsung di download.

Misalnya gini, pernahkah kalian mencari suatu gambar melalui Google Image ? Saat kita pilih salah satu gambar yang pas dengan pilihan kita, terkadang gambarnya bisa langsung di download dengan muncul window save as tanpa memperlihatkan previewnya di browser. Dan sering juga saat kita ke satu link gambar bukan download ke hard disk kita, melainkan ditampilkan dulu di browser, baru bisa di download dan disimpan di komputer kita. Gimana, udah ngerti belum maksudku ?🙂 Untuk lebih jelasnya apa yang aku maksud dengan window save as tadi bisa kalian lihat pada gambar di bawah ini

Save Window

Untuk sourcecode PHP nya silahkan lihat di bawah ini :

<?php
$namaFile = "lokasi file";
$ekstensi = strtolower(substr(strrchr($namaFile,"."),1));
switch($ekstensi){
	case "pdf"	: $ctype = "application/pdf"; break;
	case "exe"	: $ctype = "application/octet-stream"; break;
	case "zip"	: $ctype = "application/zip"; break;
	case "rar"	: $ctype = "application/rar"; break;
	case "doc"	: $ctype = "application/msword"; break;
	case "xls"	: $ctype = "application/vnd.ms-excel"; break;
	case "ppt"	: $ctype = "application/vnd.ms-powerpoint"; break;
	case "gif"	: $ctype = "image/gif"; break;
	case "png"	: $ctype = "image/png"; break;
	case "jpg"	: $ctype = "image/jpg"; break;
	default		: $ctype = "application/proses";
}

// perintah untuk force file
header("Pragma  : private");
header("Expires : 0");
header("Cache-Control  : must-revalidate, post-check=0, pre-check=0");
header("Cache-Control  : private", false);
header("Content-Type   : $ctype");
header("Content-Disposition : attachment; filename=\"".basename($namaFile)."\";");
header("Content-Transfer-Encoding : binary");
header("Content-Length : ".filesize($namaFile));
readfile($namaFile);
exit();
?>

Oke,,, selamat mencoba kawan – kawan🙂

Mari Berdiskusi Bersama

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s