Dateigröße über den Header ermitteln

Hi,

Das wenn ich z.b. mit dem browser google.de aufrufe, zurück kommt.
Dadrin ist ja auch die länge in bytes der datei, also das was ich brauche.

Aber wie man das ganze aufruft : keine ahnung :(.

gruß kevin
 
Hi,

Hab jetzt was gefunden:
PHP:
<?php
function webfilesize($url){
	$URLKomp = parse_url($url);
	$port = $URLKomp[port];
	if (!$port) $port = 80;
	$host = $URLKomp[host];
	$pfad = $URLKomp[path];
	$stream = "";
	$size = 0;
	
	if (@fsockopen($host, $port, &$errno, &$errstr, 15)==False) {
	    return False;
	} else {	
	$fp = fsockopen($host, $port, &$errno, &$errstr, 15);
	if ($fp) { // Verbindung erfolgreich?
		fputs($fp, "HEAD $pfad HTTP/1.0\nHost:$host\n\n");
		while (!feof($fp)) $stream .= fgets($fp, 128);
		fclose($fp);
		$size = ereg_replace(".*Content-Length: ([0-9]*).*","\\1", $stream);
	} else echo($errstr);
	
	if($size<1000){
	       return number_format($size, 2, ",", ".")." Bytes";
	   }elseif($size<1000000){
	       return number_format($size/1024, 2, ",", ".")." KB";
	   }else{
	         return number_format($size/1048576, 2, ",", ".")." MB";
	   } 
	}
}
echo (webfilesize("http://www.downloads.de/files/games/pkwehj378.exe")); 
?>

Das funktioniert auch wunderbar, aber was mach ich wenn z.b. die datei 123.php eine datei per location() weiterleitet?
Soll ich dann die komplette datei nach einer location() angabe durchsuchen?
worauf muss ich dabei achten?

gruß kevin
 
Zurück