duda con ob_start()
Rodrigo Fuentealba
darkprox en gmail.com
Mie Feb 21 07:55:39 CLST 2007
El 20/02/07, Felipe Tornvall N. <lpct en linux.pctools.cl> escribió:
>
> Buenas lista !!!
Buenos Días
> estoy tratando de capturar el trafico (uso de kb)...de un sitio mediante
> php... la idea es usar la siguiente estructura:
>
ob_start y demases... buena idea
> el tema es q funciona bien....
> pero si dentro del contenido del sitio aparece
> <img src="imagen.jpg"> no logro tomar el tamaño de esta...
busca dentro de lo que estás midiendo las siguientes cosas ( * es un comodin):
src=" * " ; href=" * "
si * no comienza con http:// y file_exists( * ), entonces tamano =
tamano + filesize(*);
de otra manera, esta funcion funciona:
<?php
function url_exists($url) {
$a_url = parse_url($url);
if (!isset($a_url['port'])) $a_url['port'] = 80;
$errno = 0;
$errstr = '';
$timeout = 30;
if(isset($a_url['host']) &&
$a_url['host']!=gethostbyname($a_url['host'])){
$fid = fsockopen($a_url['host'], $a_url['port'], $errno,
$errstr, $timeout);
if (!$fid) return false;
$page = isset($a_url['path']) ?$a_url['path']:'';
$page .= isset($a_url['query'])?'?'.$a_url['query']:'';
fputs($fid, 'HEAD '.$page.' HTTP/1.0'."\r\n".'Host:
'.$a_url['host']."\r\n\r\n");
$head = fread($fid, 4096);
$head = substr($head,0,strpos($head, 'Connection: close'));
fclose($fid);
if (preg_match('#^HTTP/.*\s+[200|302]+\s#i', $head)) {
$pos = strpos($head, 'Content-Type');
return $pos !== false;
}
} else {
return false;
}
}
?>
para saber si la URL existe... y decir "solo lo que se ha cargado en
el server es... tanto; imagenes obtenidas desde otro server = X;
funciones para eso,
http://cl2.php.net/manual/es/function.file-exists.php
http://cl2.php.net/manual/es/function.filesize.php
http://cl2.php.net/manual/es/function.is-file.php
> lo pensé usando
> imagesize (http://cl2.php.net/getimagesize), pero en el momento q la imagen no
> es jpg o gif..... o no mantiene el nombre dado.... no se.... muy complicado
> encuentro..... aunque es una posible solucion..... si alguien conoce una
> unica funcion q logre capturar el tamña total de la pagina desplegada por
> parte del cliente (incluyendo <img src="">) sería de gran utilidad,
>
> muchas gracias !
>
--
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas Web
Registered User 387639 - http://counter.li.org
Más información sobre la lista de distribución PHP