Foros del Web » Programando para Internet » PHP »

Escribir con php en txt

Estas en el tema de Escribir con php en txt en el foro de PHP en Foros del Web. Buen dia compañeros. Les cuento, para evitar todo el trabajo que conlleva crear un sistema similar con sql decidi hacerlo con archivos de texto. Lo ...
  #1 (permalink)  
Antiguo 27/10/2009, 01:19
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 0
Exclamación Escribir con php en txt

Buen dia compañeros.
Les cuento, para evitar todo el trabajo que conlleva crear un sistema similar con sql decidi hacerlo con archivos de texto.

Lo que quiero hacer es guardar solo el nombre del usuario logueado en un archivo txt. Y mostrarlo en el index. Uso sesiones.

El problema esta en que no se como hacer para que cuando la sesion termine, el usuario se borre de ese txt. En una palabra, como deberia hacerlo para visualizar solo los usuarios registrados logueados en ese instante y no todos los que se conectaron. Saludos, gracias y espero que entiendan la pregunta.
  #2 (permalink)  
Antiguo 27/10/2009, 06:25
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Escribir con php en txt

las variables de sesión, son únicas por sesión, si estableces:

$_SESSION['nombre']="fulano";

sólo aparecerá "fulano" en la sesión de fulano, mientras que en la sesión de los demás usuarios no se mezclaran, es más, el módulo session de php trabaja con archivos!, no veo cual es el problema, si igualmente puedes destruir la sesión con session_destroy();
  #3 (permalink)  
Antiguo 27/10/2009, 19:49
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 53
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Escribir con php en txt

Creo que él se refiere a otra cosa, no?
Lo que queres hacer es almacenar todos los usuarios conectados en el momento para mostrarlos en la página de inicio, tipo el foro, no?
Yo lo que hacía cuando usaba archivos de texto como base de datos, era almacenar cada registro (o sea, nombre, nick, etc..) de cada usuario, por reglón, separado por |
Para hacerla más simple, en tu caso, pondría, en el archivo de texto, cada nombre por reglón,
y como los nombre de usuarios son únicos, no hay dos con el mismo nombre, simplemente reemplazaría el nombre por nada:

Código PHP:
$usuariosOnline=file_get_contents("usuariosOnline.txt");
 
$reemplazo str_replace($SESSION['usuario']."\n"""$usuariosOnline);  //reemplazo incluyendo el salto de línea (\n)

// y lo guardo otra vez

$archivo fopen("usuariosOnline.txt""w");
fputs($archivo$reemplazo);
fclose($archivo); 
Ahora, si lo que queres guardar es el nombre personal, cosa que si puede haber más de uno igual, entonces almacenaría el nombre junto con el id, y luego reemplazaría a ambos:

ej: 243|john Q. (los separé con | )

Código PHP:
$reemplazo str_replace($SESSION['id']."|".$SESSION['nombre']."\n"""$usuariosOnline); 
Suponiendo, por supuesto, que guardes el id en una variable de sesión.
__________________
mysql_query("SELECT * FROM Intenet WHERE "Una pagina de verdad" ORDER BY id ASC");
  #4 (permalink)  
Antiguo 29/10/2009, 14:25
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Escribir con php en txt

Cita:
Iniciado por aenet Ver Mensaje
Creo que él se refiere a otra cosa, no?
Lo que queres hacer es almacenar todos los usuarios conectados en el momento para mostrarlos en la página de inicio, tipo el foro, no?
Yo lo que hacía cuando usaba archivos de texto como base de datos, era almacenar cada registro (o sea, nombre, nick, etc..) de cada usuario, por reglón, separado por |
Para hacerla más simple, en tu caso, pondría, en el archivo de texto, cada nombre por reglón,
y como los nombre de usuarios son únicos, no hay dos con el mismo nombre, simplemente reemplazaría el nombre por nada:

Código PHP:
$usuariosOnline=file_get_contents("usuariosOnline.txt");
 
$reemplazo str_replace($SESSION['usuario']."\n"""$usuariosOnline);  //reemplazo incluyendo el salto de línea (\n)

// y lo guardo otra vez

$archivo fopen("usuariosOnline.txt""w");
fputs($archivo$reemplazo);
fclose($archivo); 
Ahora, si lo que queres guardar es el nombre personal, cosa que si puede haber más de uno igual, entonces almacenaría el nombre junto con el id, y luego reemplazaría a ambos:

ej: 243|john Q. (los separé con | )

Código PHP:
$reemplazo str_replace($SESSION['id']."|".$SESSION['nombre']."\n"""$usuariosOnline); 
Suponiendo, por supuesto, que guardes el id en una variable de sesión.

Exactamente eso es lo que busco amigo. Probare el codigo que pegaste. Muchas Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:10.