Foros del Web » Programando para Internet » PHP »

sessions dudas .....

Estas en el tema de sessions dudas ..... en el foro de PHP en Foros del Web. Hola a todos, tengo dos preguntas con las sessions. 1) segun en mi Php.ini las sessions se escriben en session.save_path = c:\tmp Pero al cerrar ...
  #1 (permalink)  
Antiguo 29/06/2004, 14:29
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
sessions dudas .....

Hola a todos, tengo dos preguntas con las sessions.
1) segun en mi Php.ini las sessions se escriben en
session.save_path = c:\tmp
Pero al cerrar el brouser las sessions, sigen ahi y no se borran.
Esto es asi o que tengo que tocar para eliminar las session, para que no sigan acumulando.
2) Bueno la segunada ya no es de las sessions pero es algo parecido.
Tengo unas paginas PHP corriendo en una Intranet, las cuales genera unos reportes de la base de datos Local y ademas de eso genero unos archivos temporales en una carpeta determinada.
La cosa es que los archivos temperales quiero eliminarlos al cerrarce el brouser, como puedo hacer eso....
Yo coleque un Boton de Cerrar, el cual elimina los archivos temporales, pero si cierran el brouser desde cualquier otro lado, los archivos no los puedo eliminar.
Bueno desde ya muchas gracias y saludos a todos.
P.D recibo concejos.... Ayudaaaaaaaaaa
  #2 (permalink)  
Antiguo 30/06/2004, 23:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
1) .. según php.ini .. verás unas directivas como session.gc_maxlifetime y otras referentes al tema para controla cuando pasará tus SID (Sessión) que ya expiró (que lo define esa directiva) al estado "garbage" (basura) en espera de ser borrado en tanto porcentaje de ejecuciones de session_start().

2) .. En principio no deberías ni de generar archivos "temporales" si es que generas archivos para poner links para que lo "descargen". Puedes enviar el archivo directo a ser descargado al navegador (con cabeceras HTTP adecuadas y siendo PHP quien lee y entrega al buffer de salida el archivo).

No sé si te trabajas así en tu generación de reportes o bien generas el archivo fisicamente y colocas un link para descargarlo.

Si fuese así, por lo menos podrías pasar tu descarga del archivo por un script PHP que haga mínimo:

Código PHP:
<?
// cabeceras HTTP simple de redirección = link común <a href= ...>
header("Location: $archivo");
// forzar a PHP a que lea el archivo  lo entregue al buffer de salida.
readfile($archivo);
// borrar el archivo. En este punto se supone que PHP ya ha leido por completo el archivo. El tiempo que demore su descarga al navegador no debería ser problema.
unlink($archivo);
// termina el script ...
?>
Si necesitas elminar esos archivos te vendría bien crear un "Cron Job" (Linux) o un "Programador de taréas" (Windows) para ejecutar a intervalos de tiempo un script tuyo que borre esos archivos. El único problema es tener cuidado en que archivo borras (usa las fechas de creación del archivo) para no borrar algún archivo que todavía esté en uso.

Un saludo,
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 03:32.