Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wymuszanie ściągania...
Forum PHP.pl > Forum > PHP
Skr3czu
Witam,

Mam taki kod:

  1. <?
  2. function dl_file($file){ // do pobierania pliku z serwera:D
  3.  
  4. //Plik istnieje
  5. if (!is_file($file)) { die("<b>Plik nieistnieje</b>"); }
  6.  
  7. //Jakieś tam info
  8. $len = filesize($file);
  9. $filename = basename($file);
  10. $file_extension = strtolower(substr(strrchr($filename,"."),1));
  11.  
  12. //Content-Type
  13. switch( $file_extension ) {
  14. case "pdf": $ctype="application/pdf"; break;
  15. case "exe": $ctype="application/octet-stream"; break;
  16. case "rar": $ctype="application/x-rar-compressed"; break;
  17. case "zip": $ctype="application/zip"; break;
  18. case "doc": $ctype="application/msword"; break;
  19. case "xls": $ctype="application/vnd.ms-excel"; break;
  20. case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  21. case "gif": $ctype="image/gif"; break;
  22. case "png": $ctype="image/png"; break;
  23. case "jpeg":
  24. case "jpg": $ctype="image/jpg"; break;
  25. case "mp3": $ctype="audio/mpeg"; break;
  26. case "wav": $ctype="audio/x-wav"; break;
  27. case "mpeg":
  28. case "mpg":
  29. case "mpe": $ctype="video/mpeg"; break;
  30. case "mov": $ctype="video/quicktime"; break;
  31. case "avi": $ctype="video/x-msvideo"; break;
  32.  
  33. //Wg. mnie nie powinny być ściągane ale jak chcesz
  34. case "php":
  35. case "htm":
  36. case "html":
  37. case "txt": die("Zakazane uzycie dla ". $file_extension ." </b>"); break;
  38.  
  39. default: $ctype="application/force-download";
  40. }
  41.  
  42. //początek nagłówków
  43. // header("Pragma: public");
  44. // header("Expires: 0");
  45. // header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  46. // header("Cache-Control: public");
  47. // header("Content-Description: File Transfer");
  48.  
  49. //Content znaleziony
  50. header("Content-Type: $ctype");
  51.  
  52. // I ściągamy plik
  53. $header="Content-Disposition: attachment; filename=".$filename.";";
  54. header($header);
  55. //header("Content-Transfer-Encoding: binary");
  56. //header("Content-Length: ".$len);
  57.  
  58. // header("Content-type: application/octet-stream");
  59. //ader("Content-Disposition: attachment; filename=jakis.rar");
  60.  
  61.  
  62. @readfile($file);//funkcja ktora czyta plik i go wypisuje
  63. }
  64. require('funkcje.php');
  65. lacz_baza();
  66. if($_COOKIE['pobierz']==md5('glupek')) // jezeli ma dostep na kilka godzin
  67. {
  68. $zap=mysql_fetch_array(mysql_query("select link from pliki_d where id_pliku='".$_GET['id_p']."'"));
  69. $aktual=mysql_query("update pliki_d SET pobrano=pobrano+1 where id_pliku='".$_GET['id_p']."'");
  70. dl_file($zap['link']);
  71.  
  72. }
  73. if((isset($_POST['submit'])) and ($_GET['co']=='sprawdz')) // jezeli wpisał dkod w formularz
  74. {
  75. $zapytanie=mysql_query("select kod, waznosc from kody_d where kod='".$_POST['kod']."' and aktywny='0'");
  76. if(mysql_num_rows($zapytanie)>0) //jezeli kod prawidłowy
  77. {
  78. $dane=mysql_fetch_array($zapytanie);
  79. if ($dane['waznosc']>0)
  80. {
  81. setcookie ('pobierz',md5(glupek), time()+3600*$dane['waznosc'],'/','',0);
  82. }
  83.  
  84. $update=mysql_query("update pliki_d SET pobrano=pobrano+1 where id_pliku='".$_GET['id_p']."'");
  85. $update=mysql_query("update kody_d SET aktywny='1' where kod='".$_POST['kod']."'");
  86. $zap=mysql_fetch_array(mysql_query("select link from pliki_d where id_pliku='".$_GET['id_p']."'"));
  87.  
  88. dl_file($zap['link']);
  89.  
  90.  
  91.  
  92. }else //jezeli nieprawidłowy
  93. $blad='Podałes nieprawidłowy kod!';
  94. }
  95.  
  96. ?>


I która część odpowiada za wymuszanie ściągania danego pliku ?

Pozdrawiam.
nospor
no przeciez w komentarzach tego kodu masz to napisane...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.