GetImageSize() funktioniert nicht richtig

Bitnets

Grünschnabel
Guten abend,

ich habe folgendes Problem: In nachfolgendem Script will ich über die Funktion GetImageSize() die Breite und Höhe von Bildern auslesen. Liegen die Bilder jedoch nicht auf meinem Server bzw handelt es sich bei dem übergeben pfad um einen Absoluten, so werden die Werte für Höhe und Breite nicht ermittelt. Handelt es sich um ein Bild, welches sich auf meinem eigenen Server befindet, so funktioniert alles fehlerfrei. Nun das Script indem das Problem auftritt:

PHP:
if (file_exists($content)) {
		$size = GetImageSize($content); 
		return "<a href=\"javascript:view_image('".$content."',".$size[0].",".$size[1].",'1')\"><img src=\"media/icon_photo.gif\" border=\"0\" /></a>";
		}
	else {
		return "<a href=\"javascript:view_image('".$content."',".$size[0].",".$size[1].",'0')\"><img src=\"media/icon_photo.gif\" border=\"0\" /></a>";
		}
}

Danke für eure Hilfe


Bitnets
 
"Liegen die Bilder jedoch nicht auf meinem Server bzw handelt es sich bei dem übergeben pfad um einen Absoluten, so werden die Werte für Höhe und Breite nicht ermittelt."

..ist mein Problem. Ich brauche Höhe und Breite von Bildern, die sowohl auf meinem Server liegen, aber auch mal auf nem fremden Server liegen können. Nur bei Letzterem scheitert die Funktion getImageSize() ? Worann liegt das? Fehlt es an Zugriffsrechten? Kann die Funktion nicht mit absoluten Pfaden umgehen? Wenn ja, gäbe es denn Alternativen zu GetImageSize?

Grüße

Bitnets
 
Das Problem ist, dass mit der file_exists()-Funktion nur lokale Dateien geprüft werden können.
Wieso prüfst du die Grafikdimensionen nicht einfach mit JavaScript?
 
danke, wie du sagtest lag es an file_exists()
hab den code nun folgendermaßen umgeschrieben und er funktioniert:

PHP:
	$handle = @fopen($content, "r");
	if ($handle) {	
		$size = GetImageSize($content);
		return "<a href=\"javascript:view_image('".$content."',".$size[0].",".$size[1].",'1')\"><img src=\"media/icon_photo.gif\" border=\"0\" /></a> [<a href=\"javascript:view_image('".$content."',".$size[0].",".$size[1].",'1')\">Bild hinterlegt</a>]";
 		}
	else {
		fclose($handle);
		return "<a href=\"javascript:view_image('".htmlspecialchars($content)."',".$size[0].",".$size[1].",'0')\"><img src=\"media/icon_photo.gif\" border=\"0\" /></a>";
		}
}

eine kleine Frage hätte ich noch: gibt es einen Php-Befehl mit dem ich einen Server Pingen kann und dann den Rückgabewert erhalte? .. Ich hab nun nämlich das Problem, dass das Laden meiner Seite extrem verlangsamt wird, wenn der Server auf dem mein Image liegt langsam ist
 
Zurück