Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Licznik odwiedzin na jednym serwerze dziala a na innym niecalkiem[php]
Forum PHP.pl > Forum > PHP
uczaj21
Witam serdecznie mam pewien problem który mnie irytuje chodzi o skrypt wyświetlajacy ilość osób na stronie online oraz ilość odwiedzonych osób + nr ip.Co ciekawe wrzuciłem ten skrypcik na serwer freehost.pl( darmowe konto) i tam chodzi wszystko ale jak ten sam skrypt wrzuciłem na inny serwer płatny(serwer jor.pl+domena pl) to właśnie na nim nie wyświetla się ilość osób odwiedzających a ilość osób online i nr ip osób chodzi questionmark.gif na freehost chodzi wszystko a kopiuje wszelkie pliki związane z tym skryptem są to pliki tekstowe.Zamieszczam kod skryptu Proszę o pomoc

plik glowny licznik.php
pliki tekstowe :banned_ip.txt,counter.txt,ip.txt(wlasnie te pliki kopiuje + licznik.php)
  1. <META HTTP-EQUIV="Reply-to" CONTENT="adres zwrotny">
  2. <META NAME="Description" CONTENT="opis dokumentu">
  3. <META NAME="Author" CONTENT="autor dokumentu">
  4. <META NAME="Generator" CONTENT="Zajączek 3.0">
  5. <TITLE></TITLE>
  6. </HEAD>
  7. <BODY>
  8. <div style="text-align:center">
  9.  
  10. <?php
  11. $ip = $_SERVER['REMOTE_ADDR'];
  12.  
  13. function badIP($ip)
  14. {
  15.  $end_line = "r\n";
  16.  if(file_exists("banned_ip.txt")){
  17.    $fd = fopen("banned_ip.txt", "r+");
  18.  }
  19.  else{
  20.    $fd = fopen("banned_ip.txt", "a+");
  21.  }
  22.  if(!$fd) return false;
  23.  while (!feof ($fd)) {
  24.    $line = trim(fgets($fd));
  25.    if($line == $ip){
  26.      fclose($fd);
  27.      return true;
  28.    }
  29.  }
  30.  fseek($fd, filesize("banned_ip.txt"));
  31.  fputs($fd, $ip.$end_line);
  32.  fclose($fd);
  33.  return false;
  34. }
  35.  
  36. function getHits()
  37. {
  38.  if(($fp = @fopen("counter.txt", "r+")) === false)
  39.    return false;
  40.  $count = fgets($fp);
  41.  if(!badIP($_SERVER['REMOTE_ADDR'])){
  42.    $count = $count + 1;
  43.    fseek($fp, 0);
  44.    fputs($fp, $count);
  45.  }
  46.  fclose($fp);
  47.  return $count;
  48. }
  49. $minut = 1;
  50. $teraz = time()+60*$minut;
  51. $bazaip = file("ip.txt");
  52. $ile = count($bazaip);
  53. $ip = $_SERVER["REMOTE_ADDR"];
  54.  
  55. for ($i=0;$i<$ile;$i++) {
  56. $pol = explode("",$bazaip[$i]);
  57. if ($pol[2]<time()) {$bazaip[$i]="";}
  58. if ($pol[1]==$ip) {
  59. $bazaip[$i]="$ip$teraz <br>\n"; $jest=1;
  60. }
  61. }
  62.  
  63. if ($jest<>1) $bazaip[]="$ip $teraz\n";
  64. $f = fopen("ip.txt","w");flock($f,2);
  65. for ($i=0;$i<$ile+1;$i++) {
  66. if ($bazaip[$i]<>"") { fwrite($f, $bazaip[$i]); $ileip++; }
  67. }
  68. flock($f,3); fclose($f);
  69.  
  70. echo '<font size="2"><u>Gosci na naszej stronie online : </u></font>'.'<b><font color="#099FF0">'.$ileip.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></font>';
  71. echo('<font size="2"><u>Ta strona została odwiedzona : </u></font>'.'<font color="#099FF0"><b>'.getHits().'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></font>');
  72. echo '<font size="2"><u>&nbsp;Twoj numer ip : &nbsp;</u></font>'.'<b><font color="#099FF0">'.$ip.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b>';
  73. ?>
  74.  
  75. <!--FOOTER-->
  76. </BODY>
  77. </HTML>
  78. <!--/FOOTER-->

pdaje link z serwera freehost na ktorym skrypt dobrze dziala freehost.pl skrypt dobrze dziala
podaje serwer jor na ktorym niedziala tylko ilosc osob ktore odwiedzily strone jor.pl na tym sa problemy dodam ze wszelkie pliki skopiowalem ?
okitoki
poustawiałeś atrybuty pliką na 777?
możesz nie mieć prawa do zapisu


to jest fajny opis nazwy zmiennej
$minut = 1;
$teraz = time()+60*$minut;

dla mnie teraz to
$teraz = time()
a dla ciebie
$teraz = time() + minuta smile.gif
uczaj21
skrypt sciaglem z netu a tak szczerze mowiac to niewiem jak ustawia sie te uprawnienia 777. Ale jak zgrywalem na serwer freehost to zadnych uprawnien nie dawalem i chodzi ?
okitoki
na freehost możesz mieć domyślnie ustawione na swój katalog takie uprawnienia, ale przeważnie tak nie jest, uprawnienia się zmienia np w total commander, nie mam go wiec nie powiem ci dokładnie gdzie ale poszukaj w nim zmian atrybutów
uczaj21
Juz sobie poradzilem jednak chodzila o te prawa 777. Mam kolejny problem licznik odwiedzin online nie dziala prawidlowo czyli zawsze pokazuje wartosc 1 nawet jesli na stronie rownoczesnie jest pare osob questionmark.gifquestionmark.gifquestionmark.gif? zamieszczam kod
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3.  
  4. function badIP($ip)
  5. {
  6. $end_line = "r\n";
  7. if(file_exists("banned_ip.txt")){
  8.   $fd = fopen("banned_ip.txt", "r+");
  9. }
  10. else{
  11.   $fd = fopen("banned_ip.txt", "a+");
  12. }
  13. if(!$fd) return false;
  14. while (!feof ($fd)) {
  15.   $line = trim(fgets($fd));
  16.   if($line == $ip){
  17.     fclose($fd);
  18.     return true;
  19.   }
  20. }
  21. fseek($fd, filesize("banned_ip.txt"));
  22. fputs($fd, $ip.$end_line);
  23. fclose($fd);
  24. return false;
  25. }
  26.  
  27. function getHits()
  28. {
  29. if(($fp = @fopen("counter.txt", "r+")) === false)
  30.   return false;
  31. $count = fgets($fp);
  32. if(!badIP($_SERVER['REMOTE_ADDR'])){
  33.   $count = $count + 1;
  34.   fseek($fp, 0);
  35.   fputs($fp, $count);
  36. }
  37. fclose($fp);
  38. return $count;
  39. }
  40. $minut = 1;
  41. $teraz = time()+60*$minut;
  42. $bazaip = file("ip.txt");
  43. $ile = count($bazaip);
  44. $ip = $_SERVER["REMOTE_ADDR"];
  45.  
  46. for ($i=0;$i<$ile;$i++) {
  47. $pol = explode("",$bazaip[$i]);
  48. if ($pol[2]<time()) {$bazaip[$i]="";}
  49. if ($pol[1]==$ip) {
  50. $bazaip[$i]="$ip$teraz <br>\n"; $jest=1;
  51. }
  52. }
  53.  
  54. if ($jest<>1) $bazaip[]="$ip $teraz\n";
  55. $f = fopen("ip.txt","w");flock($f,2);
  56. for ($i=0;$i<$ile+1;$i++) {
  57. if ($bazaip[$i]<>"") { fwrite($f, $bazaip[$i]); $ileip++; }
  58. }
  59. flock($f,3); fclose($f);
  60.  
  61. echo '<font size="2"><u>Gosci na naszej stronie online : </u></font>'.'<b><font color="#099FF0">'.$ileip.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></font>';
  62. echo('<font size="2"><u>Ta strona została odwiedzona : </u></font>'.'<font color="#099FF0"><b>'.getHits().'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></font>');
  63. echo '<font size="2"><u>&nbsp;Twoj numer ip : &nbsp;</u></font>'.'<b><font color="#099FF0">'.$ip.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b>';
  64. ?>
  65.  
  66. <!--FOOTER-->
  67. </BODY>
  68. </HTML>
  69. <!--/FOOTER-->


Prosze o szybka pomoc z gory dziekuje
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.