Foros del Web » Programando para Internet » PHP »

para saber el tamaño de la pçágina.. se hace así??

Estas en el tema de para saber el tamaño de la pçágina.. se hace así?? en el foro de PHP en Foros del Web. Hola foro!!! Hace ya unas semanas, posteé para ver si alguien me podía echar una mano para averiguar la transferencia de Mb que se hace ...
  #1 (permalink)  
Antiguo 08/06/2004, 03:14
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
para saber el tamaño de la pçágina.. se hace así??

Hola foro!!!

Hace ya unas semanas, posteé para ver si alguien me podía echar una mano para averiguar la transferencia de Mb que se hace al vititar mi portal... nadie respondió

He estado investigando y he encontrado este comando
Código PHP:
memory_get_usage() 
pero no se si realmetne devuelve el tamaño de la página generada con php o lo que ocupan las variables empleadas en memoria...

Se haría asi?? muchas gracias!!!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #2 (permalink)  
Antiguo 08/06/2004, 09:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues eso es la memoria que actualmente ocupan las variables/objetos que tengas en tu script ejecutandose ..

Para ver el tamaño de tu página generada con PHP .. tendrías que abrir tu página capturando el buffer que crea PHP ...

Por ejemplo:

Código PHP:
<?
ob_start
();
readfile('nose.php');
$size=ob_get_length();
ob_end_clean();
echo 
$size.' bytes';
?>
(si necesitas ademas de ver ese dato .. ver la página tendrías que user ob_end_flush() en lugar de "clean" que desecha todo el buffer hasta ese punto y .. donde requieras .. muestras tu $size. Ten cuidado con el "abuso" de las funciones del buffer. Sobrecargan al servidor .. usalo con moderación.

Un saludo,
  #3 (permalink)  
Antiguo 09/06/2004, 01:29
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
entonces, ese código lo tendría que poner al final del la página... y meterlo en la BD (en eso espero no tener problemas)... no??

Lo que quiero es saber la transferencia que realiza mi portal al mes... lo tenía pensado usar en todas las páginas... eso es abusar??

Muchas gracias Cluster!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #4 (permalink)  
Antiguo 09/06/2004, 03:00
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Hola de nuevo Cluster & Co. he introducido el código que me has puesto al final del index.php ya que el contenido del portal se muestra con includes permaneciendo los menús inalterables... y siempre me muestra el mismo resultado la variable $size... he navegado por diversas secciones con tamaño de contenido muy diverso y siempre el mismo valor... 15433 bytes.. a qué puede ser debido??

Gracias again!!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #5 (permalink)  
Antiguo 10/06/2004, 10:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Vamos a ver ...

Tu quieres mostrar el tamaño de una página desde la misma página (script) o tener un escript -a parte- que te muestre el tamaño de X.php generado (su HTML/etc resultante)...

EL ejemplo que puse es para el 2º caso ...

Si quieres presentar ese dato en todas tu páginas .. tienes que hacer:

Código PHP:
<? 
// Al principio de tu script.
ob_start(); 
?>

Aquí tu código de tu página completo con sus include() y demás ...

<? 
// al final de tu script
$size=ob_get_length(); 
ob_end_clean(); 
echo 
$size.' bytes'
?>
Visita php.net y mira que son y que hacen las funciones que ahí expuse .. son de control del buffer de salida de PHP. ob_start() dice "aquí empiezo a capturar el buffer" y las ob_end_xxx() .. "aquí termino de capturar" y .. por el camino puedes hacer cosas como usar la función ob_get_length() para saber el tamaño ocupado por el buffer en ese punto. Por eso hay que meter tu código actual entre esas funciones para que todo lo que hagan tus include() .. tu resto de HTML y demás cosas que compongas como -salida- dinámica sea "capturado" por esas funciones.

Un saludo,

Última edición por Cluster; 10/06/2004 a las 10:37
  #6 (permalink)  
Antiguo 11/06/2004, 01:43
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
así que tendría que poner ese código en todos mis includes e ir sumando los $sizes... okas miraré en el manual a ver si aprendo más cosilas, gracias!!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #7 (permalink)  
Antiguo 11/06/2004, 06:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm no es necesario en todos tus "include()" .. sino más bien en las partes de tu código que den la salida a tu navegador (el HTML/etc resultante)

Ejemplo ..

En una extructura "modular" tipo:

Código PHP:
<?
include("varios.php");
?>
<hmtl>
<head>
</head>
<body>
<?
switch ($_GET['seccion']){
case 
"nose":
   include (
"nose.php");
break;
case 
"otra":
   include (
"otra.php");
break;
}
?>
</body>
</html>
Las sentencias "ob_start()" y las "ob_end_xxx()" las podrías sólo en ese script .. no en los "include" que hagas de cada "case" del switch o de los restantes que tengas por ahí. Se supone que según tu lógica (PHP) bajo determinados condiciones vas a "llamar a" cierto código que a su vez tal vez genere su salida (HTML/etc) correspondiente pero .. al final lo que se entrega es todo eso que se ha ido componiendo bajo tus condiciones de tu lógica. Así que el código (último) que puse .. donde dice "aquí tu código" .. podrías tu página completa.

Un saludo,
  #8 (permalink)  
Antiguo 18/06/2004, 01:56
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Cluster siento no haberte respondido antes.. pero creo que no me llegó el aviso de nuevo mensaje... a ver si me aclaro, que los viernes estoy especialmente denso....

Mi estructura es... tengo un index.php y cargo todo con includes dependiendo de las variables de sección y los `id` de los art´culos seleccionedos... como todo se genera en el index.. sólo tendría que incluir ese código en él, no??

Gracias!!! y perdona por le plasteo!!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #9 (permalink)  
Antiguo 18/06/2004, 07:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Haz tus pruebas y sobre todo intenta entender como PHP genera una página tomando tu código de tus "include" (interpretandolo) y de resto de código que generes dinámicamente para que .. cuando lo tiene todo "unido" lo entrega al navegador para que este haga su parte (cliente).

Así veras que las funciones tipo ob_start() y afines lo único que hacen es darte la opcion de controlar en que momento entregar o no esa salida al navagador (cliente mejor dicho) pues .. no siempre tienes que esperar a que todo lo haga PHP para entregar la salida .. pero es lo recomendable en la mayoría de casos para no sobrecargar al servidor HTTP cando lo puede hacer de una vez su parte. A su vez, esas funciones te dán opción a que hagas algunas cosas como .. calcular su tamaño, llevarlo a una variable directamente .. etc ..

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 17:20.