PHP

Adoradores de la NES, seguidores del pingüino, Gafa-Pastas afiliados al iPod, histéricos del emule...
Responder
Avatar de Usuario
rianxeira
Ulema
Mensajes: 18449
Registrado: 24 Nov 2003 04:10
Ubicación: Medio planeta
Contactar:

PHP

Mensaje 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.

Avatar de Usuario
Grumete
marinero de aguas brávidas
Mensajes: 3923
Registrado: 06 May 2003 23:51
Ubicación: HALGUNA CHABA QUE DECE TENER SIBER SECSO?
Contactar:

Mensaje por Grumete »

Con esto ya lo tienes todo.
Mu' rico tó

Avatar de Usuario
rianxeira
Ulema
Mensajes: 18449
Registrado: 24 Nov 2003 04:10
Ubicación: Medio planeta
Contactar:

Mensaje por rianxeira »

Bien, parece muy completo, muchas gracias churrumete, dios te lo pague con un par de nicotines

Avatar de Usuario
rianxeira
Ulema
Mensajes: 18449
Registrado: 24 Nov 2003 04:10
Ubicación: Medio planeta
Contactar:

Mensaje 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.

Avatar de Usuario
Penetreitor
Mojahedín
Mensajes: 879
Registrado: 17 Sep 2003 12:19

Mensaje por Penetreitor »

rianxeira escribió:

Código: Seleccionar todo


// Abrimos el archivo para solamente leerlo (r de read)
$abre = fopen($archivo, "r");





Grandioso

Avatar de Usuario
rianxeira
Ulema
Mensajes: 18449
Registrado: 24 Nov 2003 04:10
Ubicación: Medio planeta
Contactar:

Mensaje por rianxeira »

Es que cuando estoy aprendiendo un lenguaje comento hasta las cosas mas obvias XD. tengo mas comentarios que codigo.

Avatar de Usuario
Ishay
Perro infiel amiricano
Mensajes: 43
Registrado: 25 Oct 2005 18:37

Mensaje 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.

Avatar de Usuario
rianxeira
Ulema
Mensajes: 18449
Registrado: 24 Nov 2003 04:10
Ubicación: Medio planeta
Contactar:

Mensaje 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?

Avatar de Usuario
Nicotin
Manuel Fraga Iribarne
Mensajes: 12343
Registrado: 25 Feb 2003 13:25
Ubicación: ...ale ...pira.
Contactar:

Mensaje 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.
The bigger the headache, the bigger the pill. Call me the big pill.

Avatar de Usuario
rianxeira
Ulema
Mensajes: 18449
Registrado: 24 Nov 2003 04:10
Ubicación: Medio planeta
Contactar:

Mensaje 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.

Responder