Wie kann ich überprüfen, ob eine externe URL, bzw. Bild existiert ?
Mit fopensock oder ? Aber das will irgendwie net so hinhaun !
Ort: / Boardübersicht / PHP / MySQL Probleme / Externe URL prüfen
Seite 1 von 1
Wie kann ich überprüfen, ob eine externe URL, bzw. Bild existiert ?
Mit fopensock oder ? Aber das will irgendwie net so hinhaun !
Schau mal in die 2.85 RC 2, da ist sowas für Avatare drin :)
Alles klar, danke !
du meinst allow_url_fopen ?
MrNase postete
Schau mal in die 2.85 RC 2, da ist sowas für Avatare drin :)
nein, nicht wirklich. das ist nur ein übler hack. (mangels alternativen)
Ich habs immer noch net hinbekommen, aber ich gebe den Kampf nicht auf, vorher veröffentliche ich den Hack nicht ! :)
Wieso gibt er mir hier bei jedem Bild das ich prüfe diese Fehlermeldung aus ? auch wenn ich genau weiß das dieses Bild existiert ?
$fp = fsockopen ($toplist['sitebanner'], 80, &$errno, &$errstr, 30); if (!$fp) { $err_msg .= "Sie haben eine ungültige Banner URL angegeben !<br>"; } else { fputs ($fp, "GET / HTTP/1.0\r\n\r\n"); while (!feof($fp)) { echo fgets($fp,128); } fclose($fp); }
weil php evtl fsockopen blockt! ist standarteinstellung.
Ist das von meinem Server oder dem anderen seinem abhängig ?
von deinem.
wo finde ich die einstellungen, ich hab nur webspace ! :(
dann kannste es vergessen, darf nur der hoster ändern.
Gibt es dann noch irgend eine andere Möglichkeit zu prüfen, ob das Bild existiert ?
Hab das jetzt nochmal mit dem Code aus der functions.inc.php versucht:
function checksize($banner) { if(!ini_get('allow_url_fopen')) { return; } if ( $ic_bannersize = @getimagesize($toplist['sitebanner']) ) { if ( $ic_bannersize[0] > 468 ) { $err_msg .= 'Ihr Banner ist zu breit. Max. 468 Pixel !<br>'; } if ( $ic_bannersize[1] > 60 ) { $err_msg .= 'Ihr Banner ist zu hoch. Max. 60 Pixel !<br>'; } if ( $ic_bannersize[2] > 3 ) { $err_msg .= 'Ihr Banner hat ein ungültiges Format.<br>'; } } else { $err_msg .= 'Ihr Banner konnte nicht geladen werden.<br>'; } }
und mit
checksize($toplist['sitebanner']);
aufgerufen, jetzt erhalte ich aber nur nen weißen Screen nach dem abschicken !
Ähm.. Ohne return irgendwas; wird das nix weil die Funktion dann ja nix zurückgibt :)
http://de3.php.net/return :)
Hab ich aber so aus dem Code !
Hab in der Referenz gelesen, das ini_get einen Konfigurationswert zurückgibt, müsste das dann hier nicht ne andere Variable sein ?
Aber der gibt mir immer den weißen Screen egal ob gültig oder nicht !
das kannste nicht per ini_get setzten, steht so in der doku, lies einfach mal.
Will er garnicht :)
Er will nur gucken ob wie es um allow_url_fopen in der php.ini steht und dafür geht ini_get.. Für was anderes müsste er ini_set nehmen aber dafür hat kaum einer bei nem normalen Webhoster die erforderlichen Rechte.
Ich glaube ich vergesse das ganze !
MrNase postete
Will er garnicht :)
das sowieso nicht, das ist nämlich ein stück aus dem thwb-source. ;)
Ich hab mich jetzt entschieden den Hack so zu lassen und Morgen oder so zu veröffentlichen, dann kann ihn ja jemand erweitern der es hinbekommt und Lust dazu hat, ich bin mit meinem LAtein am Ende.
Seite 1 von 1