Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt download pomocy!
Forum PHP.pl > Forum > Gotowe rozwiązania
wapmart
Znalazłem taki skrypt do dbsługi downloandu i niestety nie moge go wyedytować aby on mi zadziałał angrysmiley.gif ,a konkretnie chciał bym go używać jako klikomierza w link z obsługą funkcji Topdownload bym był wdzięczny jak ktoś obcykany w php by mi pomugł.
Skrypt pochodzi z iportal.prv.pl
Skrypt składa się z 3 plików plus READ
-READ
-get_file
-pobierz_plik
-pobierz_plik_conf

1 plik READ
===================================================================
  1. 0.
  2. Sam skrypt zliczający pochodzi iportal.prv.pl.
  3. Róbcie z tym o chcecie tylko jak coś to napiszcie, że coś miałem z tym wspólnego
    .
  4.  
  5. Czekam na wszelkie komentarze:
  6. .:kontakt:.
  7. ixi@xlo.pl
  8.  
  9. ixi@poczta.fm
  10.  
  11.  
  12.  
  13. I.
  14. Jeśli chcesz używać jednej z poniższych funkcji do obsługi downloadu najpierw do
    łącz pobierz_plik.php:
  15. <? include_once "pobierz_plik.php"; ?> 
  16. <? include_once "pobierz_plik_conf.inc"; ?> 
  17. Utwórz plik download.dat i nadaj mu prawa 666
  18. >> Nie wiesz jak?
  19. >> Użyj Windows Commandera >> Menu Files/ Change atributes
  20.  
  21. II
  22. Trzy funkcje:
  23. 1. 
  24. <? pobierz_plik($plik_do_pobrania,$nazwa_wyswietlana,$podac_rozmiar,$podac_ilosc_pobran) ?>
  25. która jest linkiem do pliku, a po/przed linkiem w zależności od parametru: 
  26.  
  27. $podac_rozmiar(true(1)/false) wyświetla rozmiar pliku w b.
  28.  
  29. $podac_ilosc_pobran(true(1)/false) wyświetla ilość pobrań pliku.
  30. Funkcja pobiera z pliku ilość pobrań i wyświetla w nawiasie przed nazwą, 
  31.  
  32.  
  33. Jeśli nazwa pliku jes równa "", stanie się nią nazwa pliku.
  34. 2.
  35. <? liczba_pobran($plik_do_pobrania) ?>
  36.  
  37. która pobiera z pliku ilość pobrań i wyświetla.
  38. W razie gdyby ktoś chciał niezależnie wyświetlić liczbę pobrań danego pliku.
  39. 3.
  40. <? top_downloads($podac_rozmiar,$podac_ilosc_pobran,$ile_wyswietlic) ?>
  41.  
  42. Lista jest wyświetlana na podstawie pliku download.dat i jeśli coś się tam znajd
    uje 
  43. to będzie brane pod uwagę, rozmiar jest podawany tylko jeśli plik jest na serwer
    ze.
  44.  
  45. III.
  46.  
  47. Można oczywiście stworzyć link ręcznie:
  48. <a href="http://twoj.serv.pl/get_file.php?id=plik_do_pobrania">nazwa_wyswietlana</a>
  49.  
  50. Pozdr.
  51. iXi

===================================================================
2 plik get_file
===================================================================
  1. <? include "./funkcje/pobierz_plik_conf.inc"; ?>
  2. <?
  3. if(!$nd)
  4. {
  5.  
  6. // skrypt z iportal.prv.pl //
  7.  // no bo po co się bawić pierdołami?questionmark.gif/////
  8.  
  9. $lines=file("download.dat");
  10. $stan=0;
  11. for($n=0; $n<count($lines); $n++)
  12. {
  13.  $str=explode("t",$lines[$n]); 
  14. if(chop($str[1])=="$katalog_domyslny$id")
  15. {
  16.  settype($str[0],"integer");
  17. $str[0]++;
  18.  $lines[$n]=implode("t",$str);
  19.  $stan=1;
  20.  }
  21. }
  22.  
  23. $plik=fopen("download.dat","w");
  24. flock($plik,2);
  25. if($stan==0) fputs($plik,"1t$idtn");
  26. for($n=0; $n<count($lines); $n++) fputs($plik,chop($lines[$n])."tn");
  27. flock($plik,3);
  28. fclose($plik);
  29. //////
  30.  //to jest mój mały dodatek, możesz wywalić i nic się nie stanie:)//
  31. //////
  32.  
  33. $plik_do_pobrania = "$katalog_domyslny"."$id";
  34. if (file_exists($plik_do_pobrania))
  35. {
  36. header("Location: $plik_do_pobrania");
  37. }else
  38. {
  39. echo "Przykro nam, ale niestety plik: <b>$plik_do_pobrania </b> nie istnieje.Prosimy o kontakt z administratorem.";
  40. }
  41.  
  42.  
  43. }else
  44. {
  45.  
  46. $lines=file("download.dat");
  47. $stan=0;
  48. for($n=0; $n<count($lines); $n++)
  49. {
  50.  $str=explode("t",$lines[$n]); 
  51. if(chop($str[1])=="$id")
  52. {
  53.  settype($str[0],"integer");
  54. $str[0]++;
  55.  $lines[$n]=implode("t",$str);
  56.  $stan=1;
  57.  }
  58. }
  59.  
  60. $plik=fopen("download.dat","w");
  61. flock($plik,2);
  62. if($stan==0) fputs($plik,"1t$idtn");
  63. for($n=0; $n<count($lines); $n++) fputs($plik,chop($lines[$n])."tn");
  64. flock($plik,3);
  65. fclose($plik);
  66. ////
  67.  //to jest mój mały dodatek, możesz wywalić i nic się nie stanie:)//
  68. ////
  69.  
  70. $plik_do_pobrania = "$id";
  71. if (file_exists($plik_do_pobrania))
  72. {
  73. header("Location: $plik_do_pobrania");
  74. }else
  75. {

====================================================================
3 plik pobierz_plik
====================================================================

  1. ? include "pobierz_plik_conf.inc"; ?>
  2.  
  3. <?php function kowertuj_na_iso($czytaj)
  4. {
  5.  
  6.  
  7. $out = strtr($czytaj, "šąśżźĄŚŻŹ", "&plusmn;&plusmn;&para;żĽˇ&brvbar;Ż&not;");
  8. echo "$out";
  9. }
  10. ?>
  11.  
  12.  
  13.  
  14. <?
  15. function pobierz_plik($plik_do_pobrania,$nazwa_wyswietlana,$podac_rozmiar,$podac_ilosc_pobran)
  16. {
  17. global $katalog_domyslny;
  18.  
  19. if($nazwa_wyswietlana == "")
  20. {
  21. $nazwa_wyswietlana = $plik_do_pobrania;
  22. }
  23.  
  24. $lines=file("download.dat");
  25.  
  26. if ($podac_rozmiar == true || $podac_rozmiar == 1)
  27. {
  28. $rozmiar=filesize("$katalog_domyslny$plik_do_pobrania");
  29. }
  30. for($n=0; $n<count($lines); $n++)
  31. {
  32.  $str=explode("t",$lines[$n]); 
  33. if(chop($str[1])=="$katalog_domyslny$plik_do_pobrania")
  34. {
  35.  settype($str[0],"integer");
  36.  $liczba_pob = $str[0];
  37.  $lines[$n]=implode("t",$str);
  38. break;
  39.  }else{  $liczba_pob = 0;}
  40.  
  41. }
  42. if ($podac_ilosc_pobran == true || $podac_ilosc_pobran == 1)
  43. {
  44. ///////
  45. //zmodyfikuj dla własnych potrzeb format wyświetlania/
  46. //////
  47. echo "<font size="1">($liczba_pob)</font> ";
  48.  
  49. }
  50. echo "<a href="get_file.php?id=$plik_do_pobrania">";
  51.  
  52. /////
  53. //zmodyfikuj dla własnych potrzeb format wyświetlania/
  54. ////
  55. kowertuj_na_iso($nazwa_wyswietlana);
  56.  
  57. echo "</a>";
  58. if ($podac_rozmiar == true || $podac_rozmiar == 1)
  59. {
  60.  
  61. ///////
  62. //zmodyfikuj dla własnych potrzeb format wyświetlania/
  63. //////
  64. echo " &nbsp;<font size="1">($rozmiar B)</font>";
  65.  
  66. }
  67. }
  68. ?>
  69.  
  70.  
  71.  
  72. <?
  73. function liczba_pobran($plik)
  74. {
  75. global $katalog_domyslny;
  76.  
  77. $lines=file("download.dat");
  78.  
  79. for($n=0; $n<count($lines); $n++)
  80. {
  81.  $str=explode("t",$lines[$n]); 
  82. if(chop($str[1])=="$katalog_domyslny$plik")
  83. {
  84.  settype($str[0],"integer");
  85.  $liczba_pob = $str[0];
  86.  $lines[$n]=implode("t",$str);
  87. break;
  88.  }else{  $liczba_pob = 0;}
  89.  
  90. }
  91. ///
  92. //zmodyfikuj dla własnych potrzeb format wyświetlania/
  93. //
  94. echo "$liczba_pob";
  95. }
  96. ?>
  97.  
  98. <?
  99. //////////
  100. // T O P  D O W N L O A D S
  101. //////
  102.  
  103. function pobierz_plik2($plik_do_pobrania,$nazwa_wyswietlana,$podac_rozmiar,$podac_ilosc_pobran)
  104. {
  105. global $katalog_domyslny;
  106.  
  107. if(!$nazwa_wyswietlana)
  108. {
  109. $nazwa_wyswietlana = $plik_do_pobrania;
  110. }
  111. $lines=file("download.dat");
  112.  
  113. if ($podac_rozmiar == true || $podac_rozmiar == 1)
  114. {
  115. $rozmiar=filesize("$plik_do_pobrania");
  116. }
  117. for($n=0; $n<count($lines); $n++)
  118. {
  119.  $str=explode("t",$lines[$n]); 
  120. if(chop($str[1])=="$plik_do_pobrania")
  121. {
  122.  settype($str[0],"integer");
  123.  $liczba_pob = $str[0];
  124.  $lines[$n]=implode("t",$str);
  125. break;
  126.  }else{  $liczba_pob = 0;}
  127.  
  128. }
  129. if ($podac_ilosc_pobran == true || $podac_ilosc_pobran == 1)
  130. {
  131. ///
  132. //zmodyfikuj dla własnych potrzeb format wyświetlania/
  133. //
  134. echo "<font size="1">($liczba_pob)</font> ";
  135.  
  136. }
  137. $href_str = "get_file.php?id=$plik_do_pobrania"."&nd=1";
  138. echo "<a href="$href_str">";
  139.  
  140. ///
  141. //zmodyfikuj dla własnych potrzeb format wyświetlania/
  142. ///
  143. kowertuj_na_iso($nazwa_wyswietlana);
  144.  
  145. echo "</a>";
  146. if ($podac_rozmiar == true || $podac_rozmiar == 1)
  147. {
  148. //////
  149. //zmodyfikuj dla własnych potrzeb format wyświetlania/
  150. ///
  151. if (file_exists($plik_do_pobrania))
  152. {
  153. echo " &nbsp;<font size="1">($rozmiar B)</font>";
  154. }
  155. }
  156. }
  157. ?>
  158.  
  159. <?
  160.  
  161. function top_downloads($podac_rozmiar,$podac_ilosc_pobran, $ile_wyswietlic)
  162. {
  163.  
  164. global $katalog_domyslny;
  165. $lines=file("download.dat");
  166. $ile =  count($lines);
  167.  
  168. for($n=0; $n<$ile; $n++)
  169. {
  170. $str=explode("t",$lines[$n]); 
  171. $liczby_pobran_po_kolei[$n] = $str[0];
  172. $nazwy_pobran_po_kolei[$n] = $str[1];
  173. }
  174.  
  175. sort($liczby_pobran_po_kolei);
  176. natsort($liczby_pobran_po_kolei);
  177. //array_flip($liczby_pobran_po_kolei);
  178. $index = count($liczby_pobran_po_kolei);
  179.  
  180. for ($l = 0; $l <= count($liczby_pobran_po_kolei); $l++)
  181. {
  182. $liczby_pobran_po_kolei1[$l] = $liczby_pobran_po_kolei[$index];
  183. $index--;
  184. }
  185.  
  186. $liczby_pobran_po_kolei = $liczby_pobran_po_kolei1;
  187.  
  188. $top_ile = $ile_wyswietlic;
  189.  
  190. if ($top_ile >= $ile)
  191. {
  192. $top_ile = $ile;
  193. }else
  194. {
  195. $top_ile = $ile_wyswietlic;
  196. }
  197.  
  198.  
  199. //wykonuje funkcje dla zadanej ilości plikuff:)
  200.  
  201. $jesli_takie_same = 0;
  202.  
  203. for($o=0; $o < $top_ile; $o++)
  204. {
  205.  
  206. for($x=0; $x<count($lines); $x++)
  207. {
  208.  $str=explode("t",$lines[$x]); 
  209.  
  210.  if((chop($str[0]) == "$liczby_pobran_po_kolei[$o]") && ($jesli_takie_same < $top_ile) && ($lines[$x] != "") && ($lines[$x] != " "))
  211. {
  212. echo "$jesli_takie_same - $top_ile";
  213. $jesli_takie_same++;
  214. $lines[$x] = "";
  215.  
  216. pobierz_plik2($str[1],"$str[1]",$podac_rozmiar,$podac_ilosc_pobran);
  217. echo "<BR>";
  218. }
  219. }
  220.  
  221.  
  222. }
  223.  
  224.  
  225. }
  226. ?>


====================================================================
4 plik pobierz_plik_conf
====================================================================
  1. <?php
  2. /*
  3.  -->> K O N F I G U R A C J A <<--
  4. //Podaj katalog domyślny jeśli np. wszystkie pliki trzymasz w katalogu download,
  5. (lub coś takiego) wtedy nie podajesz już tego katalogu używając fukcji POBIERZ_PLIK
  6. inaczej musisz podać pełną relatywną ścieżkę.Podając link ręcznie musisz dodać n
    azwę katalogu
  7. Jeśli chcesz używać skryptu do pobieranie plków z innych serwerów zmień katalog 
    dymyślny na "", i ustaw parametr podają rozmiar pliku na false(lub 0).
  8.  */
  9. $katalog_domyslny = 'download/';
  10. ?>

====================================================================
koniec skryptu
dr_bonzo
Prosze umieszczac kod php w obpowienim bbCode ([php ])
wapmart
Oj! przepraszam ale ja tu pierwszy raz -poprawiłem-
dr_bonzo
Dlatego przypominam a nie karze smile.gif
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-2024 Invision Power Services, Inc.