Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ograniczenie downloadu na stronie www
Forum PHP.pl > Forum > Przedszkole
tere666
WITAM
Szukam dobrego rozwiązania do przyblokowania transferu download dla naj popularniejszych pilków na stronie
Prosil bym o pomoc jak to zrobic
Pozdrawiam
Mlodycompany
proponuje zrobienie downloada tylko dla userow zalogowanych albo ograniczenie limitu np do 5 pobran dziennie ale to by bylo zbyt 'hamskie' biggrin.gif
tere666
wiem
ale chodzi mi jakis skrypt bardziej do przycinania transfery a nie robienie limitow ilosci sciągania
wiem ze jest taka możliwosc bo spotkalem sie na wielu serwisach z czymś takim
jak by ktoś cos znal to prosze o kontakt
pozdrawiam
artega
Oto skrypt regulujący transfer
  1. <?php
  2.  
  3. $speed  = 100;
  4.  
  5. $bufsize = 2048;
  6.  
  7. $packet = 1;
  8.  
  9. $bandwidth = 0;
  10.  
  11. $file = "/home/file.tgz";
  12.  
  13. $size = filesize($file);
  14.  
  15. $fp = fopen($file, 'rb');
  16.  
  17. while (!(connection_aborted() || connection_status() == 1) && $size > 0)
  18. {
  19. if ($size < $bufsize)
  20. {
  21. echo fread($fp, $size);
  22.  
  23. $bandwidth += $size;
  24. }
  25. else
  26. {
  27. echo fread($fp , $bufsize);
  28.  
  29. $bandwidth += $bufsize;
  30. }
  31.  
  32. $size -= $bufsize;
  33.  
  34. flush();
  35.  
  36. if ($speed > 0 && ($bandwidth > $speed * $packet * 1024))
  37. {
  38. sleep(1);
  39. $packet++;
  40. }
  41. }
  42.  
  43. fclose($fp);
  44.  
  45. ?>

Wystarczy ustawić zmienna $speed na odpowiednią wartość w KB/s i zmienna $file na ścieżkę do pliku.
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.