Foros del Web » Programando para Internet » PHP »

global.asa en php

Estas en el tema de global.asa en php en el foro de PHP en Foros del Web. Hola!!! He hecho unas estadisticas en asp utilizando global.asa para recoger los datos de cualquier persona que visualize la pagina, y ahora me gustaria hacer ...
  #1 (permalink)  
Antiguo 05/05/2005, 05:23
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 13 años, 1 mes
Puntos: 0
global.asa en php

Hola!!!
He hecho unas estadisticas en asp utilizando global.asa para recoger los datos de cualquier persona que visualize la pagina, y ahora me gustaria hacer lo mismo para unas paginas que tengo en php. Sabeis si hay de algun fichero parecido en php?? Es para ahorrarme el poner un fichero en todas las paginas.
Muchas gracias
  #2 (permalink)  
Antiguo 05/05/2005, 08:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En PHP no existe "por defecto" un "global.asa" .. En PHP tendrás que implementarlo a mano usando como "centro de datos" centralizado un archivo de texto plano .. o una base de datos ..

En php tienes las funciones de tratamiento de archivos como fopen(), file() .. etc para trabajar con archivos de texto plano.

Cara a "estadísticas" sería mejor que te plantees usar Base de datos (Mysql .. o la que gustes) ..

El tema de:
Cita:
"Es para ahorrarme el poner un fichero en todas las paginas".
No entendí bien .. pero si vas a trabajar tu archivo de texto plano tu mismo .. como registres la información de esa página ya depende de tu lógica. Podrías usar algún identificador para hacer el registro .. o tomar el "nombre de la página que estás" automáticamente y registrarlo .. en fin .. soluciones así hay muchas. (no sé como quedará en ASP con ese "global.asa" pero creo que es lo mismo .. lo único que al "usar" tal función o método para enviar el dato a dicho archivo .. nunca te "enterastes" que internamente lo hacía como te describo .. ¿tal vez?)

Un saludo,
  #3 (permalink)  
Antiguo 05/05/2005, 11:22
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 15 años, 11 meses
Puntos: 3
el global.asa es una archivo que corre cuando un visitante entra a la página.. dentro del global.asa se crea una función cuando se inicia sesión(cuando el visitante entra al site) y tb cuando sale... eso si sería bueno tb saber cómo hacerlo en php... osea q en cualquier momento q el usuario cierre nuestro site podamos hacer algo.. o cuando entre
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #4 (permalink)  
Antiguo 05/05/2005, 11:26
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
De acuerdo Una opinion, solamente

Bueno es cierto lo que dice mamon, esa es una ventaja que tiene asp, pero debemos tomar en cuenta que eso no es parte del asp en si como lenguaje sino una implementacion que tiene el Internet Information Server que posiblemente el apache pueda crear una aunque en apache solo se que tienen el .htaccess o algo asi y seria bueno que creciera eso mas para permitir con un solo archivo hacer procesos de tipo alguien entro sea en cualquier pagina y tomar un accion.

Saludos,
  #5 (permalink)  
Antiguo 05/05/2005, 11:34
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
No creo que el uso de funciones como fopen() soluciones el problema. Es que segun tengo entendido, global.asa de usa para ejecutar codigo asp en todas la paginas que se encuentran en ese mismo directorio no?

Si ese es el caso, una solucion posible, seria que crees un archivo con el codigo que quieres compartir. y luego lo "incluyas".
Esto seria poner en cada archivo manualmente
Código PHP:
inlude_once("archivotal.php"); 
en el lugar del script donde quieres que se haga tal cosa....

Claro que no es tan automatico.
Investiganco un poco (porque esto de agregar cosas automaticamente esta bueno jejej) llegue a esto:
Crear un archivo llamado .htaccess siempre y cuando uses apache y le metes esto:
Código:
php_value auto_prepend_file "path/hasta/el/archivo/a/incluir.php"
php_value auto_append_file"path/hasta/el/archivo/a/incluir.php"
con auto_prepend_file , se agrega al inicio del archivo y con lo otro al final del archivo.

Algunos links
http://docs.php.net/en/ini.html#ini.auto-append-file
http://ar2.php.net/configuration.changes

Ahi me parece que "emularia" bastante bien el global.asa... lo que seria bueno es que lo prueben porque yo no puedo (no toy en casa) y me hacen la gauchada...

Saludos!
  #6 (permalink)  
Antiguo 05/05/2005, 11:50
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Lei el primer link que dejaste, o estoy equivocado o eso se configura es en php.ini? porque si es asi y no en .htaccess entonces no funcionara si no somos dueños de los servers.

Saludos,
  #7 (permalink)  
Antiguo 05/05/2005, 11:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm fran86

Si el código/variables a "compartir" con toda la aplicación es "fijo" .. OK, usemos un "include()" para llamarlo . .ya sea que lo indiquemos a mano en cada script o de forma automática vía configuración PHP.

Pero, .. "parece" (tendría que confirmarlo ehawee) que lo que quiere es registrar datos "variables" y compartirlos por toda la aplicación (al estilo sesión de PHP .. pero "Común" .. no "único para el cliente que la crea y usa" como sucede con las "sesiones" clásicas de PHP).. Así que el archivo de texto plano o Base de datos como "centralizador de datos" hace falta. Otra cosa sea como lea en los scripts que necesiten esa información ..

No obstante no es mala idea el "forzado" a llamar a un "include()" por PHP y que ese contenga algunas funciones tipo:

mi_global_asa_mete_variable("variable","valor");
ó
mi_global_asa_dame_variable("variable");

(o como objeto (classe) .. mejor todavía).

Un saludo,
  #8 (permalink)  
Antiguo 06/05/2005, 10:52
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Cita:
Lei el primer link que dejaste, o estoy equivocado o eso se configura es en php.ini? porque si es asi y no en .htaccess entonces no funcionara si no somos dueños de los servers.

Saludos,
Sisi, esta variable se puede configurar desde el php.ini, pero tambien desde un .htaccess...
Veras, existen diferentes tipos de configuracion, las que son de tipo "administrativo" necesariamente se establecen en un php.ini, pero hay otras qye la haces desde alchivos de apache o inclusive en tiempo de ejecucion con ini_set()

Fijate en la columna "changeable" en
http://docs.php.net/en/ini.html

y al final de
http://ar2.php.net/manual/en/ini.php
te dice que significa cada cosa.

Igualmente... puede pasas que en algunos sercivios gratis te restrinjan el uso de este tipo de archivos de apache.

saludos
  #9 (permalink)  
Antiguo 06/05/2005, 11:11
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Cita:
mm fran86

Si el código/variables a "compartir" con toda la aplicación es "fijo" .. OK, usemos un "include()" para llamarlo . .ya sea que lo indiquemos a mano en cada script o de forma automática vía configuración PHP.

Pero, .. "parece" (tendría que confirmarlo ehawee) que lo que quiere es registrar datos "variables" y compartirlos por toda la aplicación (al estilo sesión de PHP .. pero "Común" .. no "único para el cliente que la crea y usa" como sucede con las "sesiones" clásicas de PHP).. Así que el archivo de texto plano o Base de datos como "centralizador de datos" hace falta. Otra cosa sea como lea en los scripts que necesiten esa información ..

No obstante no es mala idea el "forzado" a llamar a un "include()" por PHP y que ese contenga algunas funciones tipo:

mi_global_asa_mete_variable("variable","valor");
ó
mi_global_asa_dame_variable("variable");

(o como objeto (classe) .. mejor todavía).

Un saludo,
Si, la idea era crear un archivo que meneje las sesiones y despues se incluiria con el .htaccess (que al serria lo mismo que incluirlo manualmente en cada uno de los archivos del directorio).
La idea de una clase esta buena, y ma la sumo a la lista de proyectos.
El problema es que por ahora esa lista esta en stand by....

Saludos!
  #10 (permalink)  
Antiguo 11/05/2005, 02:41
 
Fecha de Ingreso: noviembre-2004
Mensajes: 19
Antigüedad: 13 años, 1 mes
Puntos: 0
Cita:
Iniciado por fran86
Si, la idea era crear un archivo que meneje las sesiones y despues se incluiria con el .htaccess (que al serria lo mismo que incluirlo manualmente en cada uno de los archivos del directorio).
La idea de una clase esta buena, y ma la sumo a la lista de proyectos.
El problema es que por ahora esa lista esta en stand by....

Saludos!
En esta parte me he perdio, si lo incluyo en el .htaccess puedo subirlo yo a la carpeta que tengo en el servidor y a rular... o eso yo no lo puedo modificar???
  #11 (permalink)  
Antiguo 11/05/2005, 07:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por ehawee
En esta parte me he perdio, si lo incluyo en el .htaccess puedo subirlo yo a la carpeta que tengo en el servidor y a rular... o eso yo no lo puedo modificar???
El ".htaccess" es própio del servidor HTTP: Apache .. no sé cual usaras tu concretamente.

Por lo demás, da igual si haces que tu configuración de PHP añada automáticamente un cierto archivo (que pueda contener definición de funciones o código en general) o lo hagas a mano (vía include("mi_global_asa.php")) ..

No sé si te quedó claro el tema de que debes centralizar en algún sitio los datos de tus sesiones .. como para que puedas "ver" las sesiones que tienes activas ..

Un saludo,
  #12 (permalink)  
Antiguo 31/05/2005, 14:56
Avatar de Holden  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 326
Antigüedad: 15 años, 11 meses
Puntos: 4
justamente buscaba la misma información que vienen tratando en este thread,
EL punto es este.
El global asa ademas de manejar variables comunes a todos los navegante y a la sessión maneja eventos de la aplicación.
osea Session_start, Session_end, etc.

Como bien lei arriba el IIS tiene mucho que ver en eso.

Mi pregunta es existe algo parecido para php y apache o hay que hacerlo y controlarlo a mano?

Gracias
  #13 (permalink)  
Antiguo 23/06/2005, 11:49
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Habria que ver que maraña hace IIS para detectar cuando el navegador se cierra. Quizas usando javascript se puede, pero esa ya no es mi area.

Desde ya te cuento que PHP no maneja eventos "utiles" (por lo menos no como JS).


Por lo general lo que se usa (sin complicarte mucho) es darle a la sesion un tiempo de vida determinado (algo asi como 4 minutos) y que siempre resulta arbitrario. Entonces, si la sesion se renueva en ese tiempo, perfecto.... Si no es porque la das por caducada.
Sabiendo esto y usando una tabla que registre las sesiones, y a la vez borre (de la tabla) las viejas (EX: pasaron 4 minutos) tenes algo parecido. Este es el mecanismo que usan los scripts de "usuarios online".

Otra es usar connection_status()
http://ar2.php.net/manual/en/functio...ion-status.php
y mira por el comentario de
Código:
carlos at fischerinformatica dot com dot br
30-Jan-2002 11:58
(algo que se olvida de comentar este tipo es que tenes que ponerlo al FINAL DE TU PAGINA)
Estaria bueno explorar por esos lados, pero yo aun no he visto nada ya implementado. Y sospecho que desto dejaria al navegador en espera (como que nunca se termina de cargar la pagina).
Ademas ese "echo "test<br>\n";" que esta en el bucle yo lo reenplazaria por un echo " ";

Esas son opciones, claro... no se como hace esactamente ISS.

Saludos

Última edición por fran86; 23/06/2005 a las 12:01
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 14:54.