Bonjour à tous,

je cherche une fonction simple qui me permet de trouver le header de n'importe quel fichier distant sur le web. J'ai bien trouvé cela:

function remote_file_exists ($url)
{
/*
Permet de tester si les urls sont valides
Return error codes:
1 = Invalid URL host
2 = Unable to connect to remote host
3 = Le fichier n'est pas une application
*/
$head = "";
$url_p = parse_url ($url);

if (isset ($url_p["host"]))
{ $host = $url_p["host"]; }
else
{ return 1; }

if (isset ($url_p["path"]))
{ $path = $url_p["path"]; }
else
{ $path = ""; }

$fp = @fsockopen ($host, "80", $errno, $errstr, 20);

if (!$fp)
{ return 2; }
else
{
$parse = parse_url($url);
$host = $parse['host'];

fputs($fp, "HEAD ".$url." HTTP/1.1\r\n");
fputs($fp, "HOST: ".$host."\r\n");
fputs($fp, "Connection: close\r\n\r\n");

$headers = "";
while (!feof ($fp))
{
$headers .= fgets ($fp, 128);
}
// -- est ce une application ? --
$type = substr_count($headers,"Content-Type: application");
if ($type!=1){
return 3;
}

}
fclose ($fp);
$arr_headers = explode("\n", $headers);
$return = false;
if (isset ($arr_headers[0]))
{ $return = strpos ($arr_headers[0], "404") === false; }
return $return;
}
Mais la seule chose qui m'interesse, c'est de savoir si le fichier distant est bien une application obtenue ici
$type = substr_count($headers,"Content-Type: application");
N'y a t'il pas quelque chose de plus simple sans passer par un fsockopen qui nécessite de de connaitre le port du serveur ? Ce ne serait pas possible avec un :
fopen("$url", "r");
Merci d'avance... Car je suis entrain de m'arracher les cheveux.