Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/09/2010, 17:10
sToRaGe
 
Fecha de Ingreso: mayo-2010
Mensajes: 51
Antigüedad: 14 años
Puntos: 0
contador de visitas con control por ip y fecha

Buenas,
A ver si alguien me puede ayudar.
He hecho un código juntando varios que he encontrado y lo he intentado modificar para adaptarlo.
Debería comprobarse primero si el día de hoy coincide con la fecha que hay en la primera linea del archivo "ip.txt". Si no coinciden significa que ha cambiado de día y se borrará todo el archivo y pondrá en la primera linea del "ip.txt" la nueva fecha.
Luego comprobará si la IP del usuario que entra en la web está guardado en ese archivo. Si entra por primera vez en ese día no se encontrará y guardará la IP en la siguiente linea del archivo de texto. En el caso contrario la IP sí se encontrará en el archivo y no la añadirá.
Si añade la nueva IP al archivo debería abrir otro archivo llamado "contador.txt" donde le sumará 1 a la cifra que ya exista en ese archivo, sumando así una visita a la página.
El total de visitas se imprimirá en pantalla.

Este es el código que tengo pero no me imprime el total de visitas:
Código PHP:
<?php
$dia_actual
=date("d");
$mes_actual=date("m");
$anio_actual=date("Y");
$fecha_actual=($anio_actual."/".$mes_actual."/".$dia_actual."\r\n");

$ip $_SERVER['REMOTE_ADDR'];
$archivo file("ip.txt");
$lineas count($archivo);
for(
$i=0$i $lineas$i++){
}
 if ((
$archivo[0])!=($fecha_actual)){ //si ha cambiado de dia borro las ip
 
echo "Diferentes y borrados!";
     
$ff fopen("ip.txt","w+");
     
fwrite($ff,"");
    
fclose($ff); 
     
$ff fopen("ip.txt","w+");
     
fwrite($ff,$fecha_actual);
    
fclose($ff); 
 }else{
 
$existe 0;
$visitas 0;
$fp fopen("ip.txt","r"); 
while(
$ip2 fgets($fp)){
    
$visitas++;
    
$ips .= $ip2;
    if(
$ip.'' == $ip2)$existe 1;
}
fclose($fp); 
if(
$existe == 0){
    
$fp fopen("ips.txt","a"); 
    
fwrite($fp$ip.''.$ips);
    
fclose($fp); 
    
$cont "contador.txt";
$abre fopen($cont"r");
$total fread($abrefilesize($cont));
fclose($abre);
$abre fopen($cont"w");
$total $total 1;
fwrite($abre$total);
fclose($abre);
}
}
print (
"Visitas: ".$total);
 
?>
Gracias de antemano.

Última edición por sToRaGe; 21/09/2010 a las 05:43