Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67507 Members, 783 Products, 5291 Topic, 12956 Comments)

Tanya Membuat Kondisi atau validasi Download Pada Sebuah Form

Dibuat
Login Terakhir 5 Bulan lalu,
Telah Dilihat 1300 Kali
ferdinand tandi gama Mengatakan : Sultan Account
  1. misalnya nih bro ada form yg berisi suatu link download. saat di klik link nya user nya harus login baru bsa download. sperti website PHPmu ini. kalau ada yg tau koding nya mohon di bantu. sebelumnya saya ucapkan terimakasih

Ada 5 Jawaban

PHPMU.COM Support
commented on 30 Okt 2017 17:50:35
  1. Assalam, pada aksi downloadnya dibuat cek session login mas,..
  2. misalnya gini contohnya :
  3.  
  4. <?php
  5. if ($_SESSION['users']==''){
  6. echo "Anda Harus Login terlebih dahulu!";
  7. }else{
  8. $direktori = "files/"; // folder tempat penyimpanan file yang boleh didownload
  9. $filename = $_GET['file'];
  10. if(file_exists($direktori.$filename)){
  11. $file_extension = strtolower(substr(strrchr($filename,"."),1));
  12. switch($file_extension){
  13. case "pdf": $ctype="application/pdf"; break;
  14. case "exe": $ctype="application/octet-stream"; break;
  15. case "zip": $ctype="application/zip"; break;
  16. case "rar": $ctype="application/rar"; break;
  17. case "doc": $ctype="application/msword"; break;
  18. case "xls": $ctype="application/vnd.ms-excel"; break;
  19. case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  20. case "gif": $ctype="image/gif"; break;
  21. case "png": $ctype="image/png"; break;
  22. case "jpeg":
  23. case "jpg": $ctype="image/jpg"; break;
  24. default: $ctype="application/proses";
  25. }
  26.  
  27. if ($file_extension=='php'){
  28. echo "<h1>Access forbidden!</h1>
  29. <p>Maaf, file yang Anda download sudah tidak tersedia atau filenya telah diproteksi.</p>";
  30. }else{
  31. header("Content-Type: octet/stream");
  32. header("Pragma: private");
  33. header("Expires: 0");
  34. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  35. header("Cache-Control: private",false);
  36. header("Content-Type: $ctype");
  37. header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
  38. header("Content-Transfer-Encoding: binary");
  39. header("Content-Length: ".filesize($direktori.$filename));
  40. readfile("$direktori$filename");
  41. exit();
  42. }
  43. }else{
  44. echo "<h1>Access forbidden!</h1>
  45. <p>Maaf, file yang Anda download sudah tidak tersedia atau filenya telah diproteksi. <br /></p>";
  46. }
  47. }
ferdinand tandi gama
commented on 31 Okt 2017 00:48:25
  1. jadi perintah ini dimasukkan dmna mas ? makasih sebelum nya mas :)
ferdinand tandi gama
commented on 31 Okt 2017 02:12:37
  1. saya sudah coba di OJS nya masukin ke download.php tp gk bsa mass.
PHPMU.COM Support
commented on 31 Okt 2017 19:32:45
  1. DI OJS cek session level saja mas, jadinya gini :
  2.  
  3. <?php
  4. include "config/koneksi.php";
  5. if ($_SESSION['level']==''){
  6. echo "Anda Harus Login terlebih dahulu!";
  7. }else{
  8. $direktori = "files/"; // folder tempat penyimpanan file yang boleh didownload
  9. $filename = $_GET['file'];
  10. if(file_exists($direktori.$filename)){
  11. $file_extension = strtolower(substr(strrchr($filename,"."),1));
  12. switch($file_extension){
  13. case "pdf": $ctype="application/pdf"; break;
  14. case "exe": $ctype="application/octet-stream"; break;
  15. case "zip": $ctype="application/zip"; break;
  16. case "rar": $ctype="application/rar"; break;
  17. case "doc": $ctype="application/msword"; break;
  18. case "xls": $ctype="application/vnd.ms-excel"; break;
  19. case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  20. case "gif": $ctype="image/gif"; break;
  21. case "png": $ctype="image/png"; break;
  22. case "jpeg":
  23. case "jpg": $ctype="image/jpg"; break;
  24. default: $ctype="application/proses";
  25. }
  26.  
  27. if ($file_extension=='php'){
  28. echo "<h1>Access forbidden!</h1>
  29. <p>Maaf, file yang Anda download sudah tidak tersedia atau filenya telah diproteksi.</p>";
  30. }else{
  31. header("Content-Type: octet/stream");
  32. header("Pragma: private");
  33. header("Expires: 0");
  34. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  35. header("Cache-Control: private",false);
  36. header("Content-Type: $ctype");
  37. header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
  38. header("Content-Transfer-Encoding: binary");
  39. header("Content-Length: ".filesize($direktori.$filename));
  40. readfile("$direktori$filename");
  41. exit();
  42. }
  43. }else{
  44. echo "<h1>Access forbidden!</h1>
  45. <p>Maaf, file yang Anda download sudah tidak tersedia atau filenya telah diproteksi. <br /></p>";
  46. }
  47. }
eka handayani
commented on 05 Sep 2018 10:41:48
  1. Mas, saya kebetulan dapet kodingan yg sama persis dengan contoh diatas. tapi saat saya donlod filenya mengalami eror http/1.1 416 requested range not satisfiable. kalo saya boleh bertanya, hal ini kesalahan di servernya atau di kodingnya ya mas? makasih
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!