Saber peso de un archivo con filesize

Iniciado por fary, 14 Enero 2010, 00:30 AM

0 Miembros y 1 Visitante están viendo este tema.

fary

Hola buenas, queria saber si con Filesize podria saber el peso de un archivo que no esta en mi web, por ejemplo, podria obtener el peso de un video de youtube?

salu2!, esperando respuesta.
Un byte a la izquierda.

дٳŦ٭

No, para saber el peso del archivo lo tienes que descargar.


Con sangre andaluza :)


fary

Entonces no es posible, saber el peso de un archivo que este online???

salu2!
Un byte a la izquierda.

Hendrix

Puedes hacerlo con una petición HTTP HEAD al sitio en cuestión.

Un Ejemplo de como podrías hacerlo: http://www.grumet.net/weblog/archives/http-head-example.html

En el Content-Lenght tienes el peso de la pagina/archivo.

Tendras que usar cURL para ello, aqui tienes la busqueda: http://www.google.es/#hl=es&source=hp&q=curl+http+head+request

Un Saludo  :)
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Hendrix

#4
Te e codeado estas 2 funciones, son algo sencillas. No te fijes en los fallos que puede tener, sino en la idea y en como uso el HTTP HEAD.

Código (php) [Seleccionar]
function HeadRequest($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$r = curl_exec($ch);
curl_close($ch);

return $r;
}

function ObtenerPeso($url)
{
$pag = HeadRequest($url);
$pos = strpos($pag, "Content-Length");
if($pos === false)
{
return "No se pudo obtener el peso...";
}
$primero = explode("Content-Length: ",$pag);
$segundo = explode("\r\n",$primero[1]);
return $segundo[0]." Bytes";
}

$url = $_GET["url"];

echo("Sacando peso de $url...<br>");
$peso = ObtenerPeso($url);
echo("El archivo pesa: $peso");
?>


Ejemplo de uso:

http://localhost/prueba.php?url=www.elhacker.net/jasildbg/JaSiLDBG_es.pdf

Resultado:

CitarSacando peso de www.elhacker.net/jasildbg/JaSiLDBG_es.pdf...
El archivo pesa: 317815 Bytes

Un Saludo  :)
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián