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.
Ejemplo de uso:
http://localhost/prueba.php?url=www.elhacker.net/jasildbg/JaSiLDBG_es.pdf
Resultado:
Un Saludo
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