¿Contador de visitas con php?

Desde
30 Ene 2014
Mensajes
347
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
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. :rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes::rolleyes:
 

Alex Cachi

Zeta
Programador
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Desde
28 Ene 2014
Mensajes
1.625
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.
 

Drakezael

Gamma
Desde
30 Ene 2014
Mensajes
347
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
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.


Por eso quiero que me recomienden uno :D!
 

JM0N

Gamma
Programador
Desde
20 Feb 2014
Mensajes
282
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
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
 

andree1

1
Ni
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Excelente comerciante!
Suscripción a IA
Desde
27 Jul 2012
Mensajes
3.996
Me recuerdas a mi cuando iniciaba en los blogs, yo mismo los creaba y hacía mis contadores... Pero puedes usar Google Analytics. :encouragement:
 

Drakezael

Gamma
Desde
30 Ene 2014
Mensajes
347
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
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 ");

?>
 

JM0N

Gamma
Programador
Desde
20 Feb 2014
Mensajes
282
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
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
 
Arriba