¿Contador de visitas con php?

  • Autor Autor Drakezael
  • Fecha de inicio Fecha de inicio
D

Drakezael

Gamma
hola, necesito un contador de visitas encontré este en la red, obviamente googleo antes de pedir soporte, ya que casi siempre se encuentra la información que se busca.

PHP:
<? 
  
 $tiempo = 60 * 24; 
 $found = 0; 
 $users = 0; 
 $user  = ""; 
 $ip = $REMOTE_ADDR; 
 $time = time(); 
  
 $debug = $DOCUMENT_ROOT."/debug"; 
  
 if (!is_file("$debug/hoy.txt")) { 
         $s = fopen("$debug/hoy.txt","w"); 
         fclose($s); chmod("$debug/hoy.txt",0666); 
 } 
  
 $f = fopen("$debug/hoy.txt","r+"); flock($f,2); 
  
 while (!feof($f)) { $user[] = chop(fgets($f,65536)); } 
  
 fseek($f,0,SEEK_SET); ftruncate($f,0); 
  
 foreach ($user as $line) { 
         list($gip,$gtime) = split("\|",$line); 
         if ($gip == $ip) { $gtime = $time; $bla = 1; } 
         if ($time < $gtime + ($tiempo * 60)) { 
             fputs($f,"$gip|$gtime\n"); 
             $users = $users + 1; 
         } 
 } 
  
 if ($bla == 0) { fputs($f,"$ip|$time\n"); $users = $users + 1; } 
  
 fclose ($f); 
 echo "Visitas hoy: $users"; 
  
 ?>

Cosa que dicho php hace que mi IIS me de error, entonces ¿ esta malo el script? o no se que me recomiendan ustedes, solo quiero un contador de visitas diarias y quizás cada semana o mensual, tampoco la gran cosa.

Desde ya gracias. 🙄🙄🙄🙄🙄🙄🙄
 
no es mejor usar uno gratis ? no entiendo que tipo de error tienes, si puedes dejar tu web sería mejor para ver.

También es mejor usar un contador con base de datos.
 
Y porque no usas histats?
 
Hacer un contador de visita es muy facil.
1- Cada vez que alguien entre en la pagina web, guardas un registro en la base de dato
2- Cuentas todos los registros totales y si quieres le pones unos filtros
3- Los muestras
 
Me recuerdas a mi cuando iniciaba en los blogs, yo mismo los creaba y hacía mis contadores... Pero puedes usar Google Analytics. :encouragement:
 
Gracias a todo por el tiempo para responder, agradecido, ya encontre el codigo que buscaba, lo dejo para que cualquier otra persona quizás necesite y lo use.

PHP:
<?PHP
$countfile = "count.dat";
$diafile = "dia.dat";
$countdia = "count_dia.dat";
$arr = getdate();
$since = $arr["mday"];

$exist_file = fopen($countfile, "r+");
$new_count = fgets($exist_file, 255);
$new_count++;
fseek($exist_file,SEEK_SET);
fputs($exist_file, $new_count);
fclose($exist_file);

$abrir_dia = fopen($diafile, "r+");
$nuevo_dia = fgets($abrir_dia, 255);
fclose($abrir_dia);
if ($nuevo_dia != $since)
{
$undia_mas = fopen($diafile, "w");
fputs($undia_mas, $since);
fclose($undia_mas);
}

$visit_dia = fopen($countdia, "r+");
$new_visit = fgets($visit_dia, 255);
$new_visit++;
if ($nuevo_dia != $since)
{
fclose($visit_dia);
$a_cero = fopen($countdia, "w");
fputs($a_cero, "1");
fclose($a_cero);
}
else
{
fseek($visit_dia,SEEK_SET);
fputs($visit_dia, $new_visit);
fclose($visit_dia);
}

print("<br>
<br>
 <span class=\"todayvisit\">Visitors today:</span> $new_visit ");

?>
 
muchas gracias muy buen aporte
 
Gracias a todo por el tiempo para responder, agradecido, ya encontre el codigo que buscaba, lo dejo para que cualquier otra persona quizás necesite y lo use.

PHP:
<?PHP
$countfile = "count.dat";
$diafile = "dia.dat";
$countdia = "count_dia.dat";
$arr = getdate();
$since = $arr["mday"];

$exist_file = fopen($countfile, "r+");
$new_count = fgets($exist_file, 255);
$new_count++;
fseek($exist_file,SEEK_SET);
fputs($exist_file, $new_count);
fclose($exist_file);

$abrir_dia = fopen($diafile, "r+");
$nuevo_dia = fgets($abrir_dia, 255);
fclose($abrir_dia);
if ($nuevo_dia != $since)
{
$undia_mas = fopen($diafile, "w");
fputs($undia_mas, $since);
fclose($undia_mas);
}

$visit_dia = fopen($countdia, "r+");
$new_visit = fgets($visit_dia, 255);
$new_visit++;
if ($nuevo_dia != $since)
{
fclose($visit_dia);
$a_cero = fopen($countdia, "w");
fputs($a_cero, "1");
fclose($a_cero);
}
else
{
fseek($visit_dia,SEEK_SET);
fputs($visit_dia, $new_visit);
fclose($visit_dia);
}

print("<br>
<br>
 <span class=\"todayvisit\">Visitors today:</span> $new_visit ");

?>
Se podria optimizar muchisimo mas
 
Atrás
Arriba