Página 1 de 1
PHP
Publicado: 29 Jul 2005 01:11
por rianxeira
Bueno, que acabo de teminar un cursillo de ASP y tengo intringulis por si alguien puede recomendarme un buen tutorial de php para descargarme, basicamente es para hacer un par de cosillas en mi web y (creo) no voy anecesitar interaccionar con ninguna base de datos, basicamente seran un par de paginas que crearan un par de archivos de texto.
Publicado: 29 Jul 2005 11:49
por Grumete
Con
esto ya lo tienes todo.
Publicado: 29 Jul 2005 12:18
por rianxeira
Bien, parece muy completo, muchas gracias churrumete, dios te lo pague con un par de nicotines
Publicado: 13 Nov 2005 12:56
por rianxeira
Uehh, resucito esto pa una cosilla.
En la pagina web que tengo, poco a poco estoy haciendo cosillas en php de produccion propia, para ir aprendiendo a programar en php de la que hago la web, y he decidido mejorar el cutrecontador que tengo, que es este.
Código: Seleccionar todo
<?
// Archivo en donde se acumulará el numero de visitas
$archivo = "numero.dat";
// Abrimos el archivo para solamente leerlo (r de read)
$abre = fopen($archivo, "r");
// Leemos el contenido del archivo
$total = fread($abre, filesize($archivo));
// Cerramos la conexión al archivo
fclose($abre);
// Abrimos nuevamente el archivo
$abre = fopen($archivo, "w");
// Sumamos 1 nueva visita
$total = $total + 1;
// Y reemplazamos por la nueva cantidad de visitas
$grabar = fwrite($abre, $total);
// Cerramos la conexión al archivo
fclose($abre);
// Imprimimos el total de visitas dándole un formato
echo "<font face='verdana' size='2'>Visitas:".$total."</font>";
?>
Este suma una visita cada vez que se carga la pagina, asi que no es muy fiable que digamos. La cosa, ¿hay alguna forma de mejorarlo para que no sume mas de una visita al dia de una direccion? si usar mysql, simplemente con un archivo de texto plano. Estuve mirando el manual y ya me pierdo.
O sea, basicamente solo pido pa de come, una funcion que me de la ip del visitante, luego ya la tratare yo.
Publicado: 13 Nov 2005 21:56
por Penetreitor
rianxeira escribió:Código: Seleccionar todo
// Abrimos el archivo para solamente leerlo (r de read)
$abre = fopen($archivo, "r");
Grandioso
Publicado: 14 Nov 2005 01:00
por rianxeira
Es que cuando estoy aprendiendo un lenguaje comento hasta las cosas mas obvias XD. tengo mas comentarios que codigo.
Publicado: 14 Nov 2005 14:34
por Ishay
A lo mejor esta te sirve:
function obtener_ip () {
if(!empty($_SERVER['HTTP_X_FORWARDER_FOR']))
$ip = $_SERVER['HTTP_X_FORWARDER_FOR'];
elseif(!empty($_SERVER['HTTP_VIA']))
$ip = $_SERVER['HTTP_VIA'];
elseif(!empty($_SERVER['REMOTE_ADDR']))
$ip = $_SERVER['REMOTE_ADDR'];
else $ip = 'Desconocido';
return $ip;
}
Sino puedes tirar de galletitas, porque imagino que si almacenas todas las ips en ficheros tendrás que hacer alguna rutina para purgarlos.
Publicado: 28 Dic 2005 21:35
por rianxeira
Gñ, estoy haciendo el contador y no carrula, a ver si alguien puede ayudarme.
Código: Seleccionar todo
<?
function obtener_ip () {
if(!empty($_SERVER['HTTP_X_FORWARDER_FOR']))
$ip = $_SERVER['HTTP_X_FORWARDER_FOR'];
elseif(!empty($_SERVER['HTTP_VIA']))
$ip = $_SERVER['HTTP_VIA'];
elseif(!empty($_SERVER['REMOTE_ADDR']))
$ip = $_SERVER['REMOTE_ADDR'];
else $ip = 'Desconocido';
return $ip;
}
function aumentar_contador ($arg1){
// Archivo en donde se acumulará el numero de visitas
$archivo = "numero.dat";
$abre = fopen($archivo, "r");
// Leemos el contenido del archivo
$total = fread($abre, filesize($archivo));
// Cerramos la conexión al archivo
fclose($abre);
// Abrimos nuevamente el archivo
$abre = fopen($archivo, "w");
// Sumamos 1 nueva visita si es necesario
if ($arg1!=0)
$total = $total + $arg1;
// Y reemplazamos por la nueva cantidad de visitas
$grabar = fwrite($abre, $total);
// Cerramos la conexión al archivo
fclose($abre);
return $total;
}
//Obtener ip
$ipVisita=obtener_ip();
//obtenemos la lista de ips del archivo
$archivoip = "ips.dat";
$abreip= fopen($archivoip, "r");
$indice=0;
while (!feof($abreip)) {
fgets($abreip);
$indice++;
}
fclose($abreip);
//si supera x registros lo borramos
if ($indice>100){
$abreip= fopen($archivoip, "w");
fputs($abreip, $ipvisita);
echo "<font face='verdana' size='2'>Visitas:".aumentar_contador(1)."</font>";
}
//si no lo supera seguimos
else{
$esta=0;
$abreip= fopen($archivoip, "r");
for ($i = 0; $i < $indice; $i++){
if (strcasecmp($ipVisita,fgets($abreip))==0)
$esta=1;
}
fclose($abreip);
//si esta registrada la registramos
if (esta==0){
$abreip= fopen($archivoip, "a");
fputs($abreip, $ipVisita);
fclose($abreip);
echo "<font face='verdana' size='2'>Visitasllega3:".aumentar_contador(1)."</font>";
}
else{
echo "<font face='verdana' size='2'>Visitasllega4:".aumentar_contador(0)."</font>";
}
}
?>
La idea es que cuando alguien llega coge la ip y lo comprueba con una lista que hay en un archivo que cuando se llega a 100 ips se borra, si la ip esta el contador se queda tan pancho, si no esta aumenta en uno y añade la ip a la lista
Pues bien, el bicho siempre suma, y abro el archivo de ips y veo que los añade en una linea, ¿alguien tiene alguna idea?
Publicado: 28 Dic 2005 21:36
por Nicotin
rianxeira escribió:Bien, parece muy completo, muchas gracias churrumete, dios te lo pague con un par de nicotines
Si hubiese
un par de Nicotines os ibais a enterar.
Publicado: 29 Dic 2005 02:39
por rianxeira
Nah, ya esta, era algo tan tonto como usar la función chop(), debia pillar algun caracter raro y por eso nunca daban igual.