Probleme mit getImageSize (Mod:Resize Remote Avatars)
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Probleme mit getImageSize (Mod:Resize Remote Avatars)
Ich habe mir den Mod Resize Remote Avatars (http://www.phpbbhacks.com/viewhack.php?id=3201) installiert.
Lokal funktioniert er auch wunderbar (wenn ich das image auch
lokal liegen habe (http://localhost/...img.jpg)
Lade ich das ganze allerdings hoch und probiere es online aus,
bekomme ich immer "Avatar konnte nicht gefunden werden".
Ich vermute, es liegt daran, dass folgender Code nicht korrekt
ausgeführt wird: $size = @getimagesize( $url );
(die URL sieht dann wie folgt aus: http://www.xyz.de/.../bild.jpg)
Hat jemand eine Idee ?!
Vielen Dank im Voraus
Lenni
Lokal funktioniert er auch wunderbar (wenn ich das image auch
lokal liegen habe (http://localhost/...img.jpg)
Lade ich das ganze allerdings hoch und probiere es online aus,
bekomme ich immer "Avatar konnte nicht gefunden werden".
Ich vermute, es liegt daran, dass folgender Code nicht korrekt
ausgeführt wird: $size = @getimagesize( $url );
(die URL sieht dann wie folgt aus: http://www.xyz.de/.../bild.jpg)
Hat jemand eine Idee ?!
Vielen Dank im Voraus
Lenni
Anscheinend haben mehrere schon das Problem gehabt.
Hier ein Lösungsvorschlag:
Expertenmeinungen?
Hier ein Lösungsvorschlag:
Code: Alles auswählen
function getimagesize_remote($image_url) {
$handle = fopen ($image_url, "rb");
$contents = "";
if ($handle) {
do {
$count += 1;
$data = fread($handle, 8192);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while(true);
} else { return false; }
fclose ($handle);
$im = ImageCreateFromString($contents);
if (!$im) { return false; }
$gis[0] = ImageSX($im);
$gis[1] = ImageSY($im);
// array member 3 is used below to keep with current getimagesize standards
$gis[3] = "width={$gis[0]} height={$gis[1]}";
ImageDestroy($im);
return $gis;
}
-
- Ehemaliges Teammitglied
- Beiträge: 5703
- Registriert: 26.02.2004 00:09
Das dachte ich auch. Aber laut php.net geht das auch ohne GD:itst hat geschrieben:Vermutlich ist die GD-Extension nicht installiert/aktiviert. Hoster fragen bzw. phpinfo() nutzen.
http://de.php.net/manual/de/function.ge ... ]Anmerkung: Dieser Befehl funktioniert auch ohne GD-Bibliothek.[/quote]
Gruß Christian
---
Aus einem anderen Forum
Bei mir funktioniert's nicht!
Auch der o.a. Code führt nicht zu dem gewünschten Ergebnis ...
Jemand noch eine Idee?
Anscheinend ein Bug ...
Angeblich gefixt...
http://www.acurainspired.com/forums/lof ... t2168.html
Aber ich weiss nicht, in welcher Version.
Anscheinend jedenfalls nicht in der Version, die bei meinem Provider läuft.
*grmpf*
edit Christian_W: mehrere Beiträge zusammengefügt. Nächstesmal bitte editieren
Kann mir das jemand erklären? D.h. ggf. müsste ich mich an den Provider
wenden?
Auch der o.a. Code führt nicht zu dem gewünschten Ergebnis ...
Jemand noch eine Idee?
Anscheinend ein Bug ...
Angeblich gefixt...
http://www.acurainspired.com/forums/lof ... t2168.html
Aber ich weiss nicht, in welcher Version.
Anscheinend jedenfalls nicht in der Version, die bei meinem Provider läuft.
*grmpf*
edit Christian_W: mehrere Beiträge zusammengefügt. Nächstesmal bitte editieren
Hier verstehe ich leider nur Bahnhof...fixed this problem. It was not only affecting getimagesize(url) but also fopen(url...) and so on.
This was a problem with the fact I was using chroot apache. I had not given apache any way to do DNS so when it hit a url which included a domain name it choked. For OpenBSD I fixed this by copying /etc/resolv.conf into /var/www/etc/resolv.conf
-Rob

Kann mir das jemand erklären? D.h. ggf. müsste ich mich an den Provider
wenden?
-
- Ehemaliges Teammitglied
- Beiträge: 5703
- Registriert: 26.02.2004 00:09
Re: Aus einem anderen Forum
Wie und wo hast Du denn den oben geposteten Code eingefügt?lenni hat geschrieben:Bei mir funktioniert's nicht!
Auch der o.a. Code führt nicht zu dem gewünschten Ergebnis ...
Welche phpBB-Version nutzt Du?
Welche PHP-Version läuft bei Dir? ( KB:phpinfo )
Gruß Christian
---
Re: Aus einem anderen Forum
Ich habe folgenden Hack installiert: http://www.phpbbhacks.com/viewhack.php?id=3201Christian_W hat geschrieben:Wie und wo hast Du denn den oben geposteten Code eingefügt?
Dort wird in der functions.php in einer neuen Funktion die Funktion getimagesize aufgerufen.
Das habe ich auskommentiert und o.a. Funktion aufgerufen (nat.,
nachdem ich die diese Funktion auch in der functions.php eingebaut habe).
Christian_W hat geschrieben:Welche phpBB-Version nutzt Du?
2.0.10
PHP Version 4.3.8Christian_W hat geschrieben:Welche PHP-Version läuft bei Dir? ( <a href="/doku/kb/artikel.php?artikel=phpinfo" title="Dieser Artikel beschreibt, wie man wesentliche Daten der PHP-Konfiguration ermittelt." target="_blank" class="postlink">PHP Konfiguration ausgeben</a> )
Gruß Christian
Ist das eigentlich eine halbwegs "up2date" version?
Ich sehe gerade, dass bei mir "allow_url_fopen" auf "off" steht.
Kann ich das per ini_set ändern?
Wieso hat mein Provider diese Einstellung gewählt (default ist wohl on)?
Welche Gründe kann das wohl haben?
Gruß und Dank
lenni
-
- Ehemaliges Teammitglied
- Beiträge: 5703
- Registriert: 26.02.2004 00:09
Re: Aus einem anderen Forum
Also so:lenni hat geschrieben:Dort wird in der functions.php in einer neuen Funktion die Funktion getimagesize aufgerufen.
Das habe ich auskommentiert und o.a. Funktion aufgerufen (nat.,
nachdem ich die diese Funktion auch in der functions.php eingebaut habe).
Code: Alles auswählen
// $size = @getimagesize( $url );
$size = getimagesize_remote( $url );
PHP 4.3.9 ist die neueste PHP4-Version (released 22-Sep-2004)lenni hat geschrieben:PHP Version 4.3.8
Ist das eigentlich eine halbwegs "up2date" version?
Damit ist die Version 4.3.8 recht aktuell.
Nein, das geht wohl nicht:lenni hat geschrieben:Ich sehe gerade, dass bei mir "allow_url_fopen" auf "off" steht.
Kann ich das per ini_set ändern?
http://php3.de/ini-set
Das ist aber der Grund warum es nicht klappt.
Frag das mal am besten Deinen Hoster. Wird wohl aus Sicherheitsgründen so sein: Bei google gefundenlenni hat geschrieben:Wieso hat mein Provider diese Einstellung gewählt (default ist wohl on)?
Welche Gründe kann das wohl haben?
Gruß Christian
---
Vielen Dank für die Hilfe!
Damit hat sich das Thema Remote Avatare für mich wohl zunächst einmal erledigt
Gruß Lenni
P.S.
Genau so habe ich es auch gemacht.
Edit:
Unsere Änderung betrifft zur Zeit nur PHP 5. Sie können, falls Sie diese Option trotzdem nutzen möchten, eine php.ini mit folgenden Inhalt in das betreffende Verzeichnis des Scriptes ablegen:
allow_url_fopen = on
Heisst dass, ich kann eine php.ini in mein /includes Verzeichnis nur
mit dem obigen Eintrag legen, und dann funktioniert das?
Damit hat sich das Thema Remote Avatare für mich wohl zunächst einmal erledigt

Gruß Lenni
P.S.
Code: Alles auswählen
// $size = @getimagesize( $url );
$size = getimagesize_remote( $url );
Edit:
Unsere Änderung betrifft zur Zeit nur PHP 5. Sie können, falls Sie diese Option trotzdem nutzen möchten, eine php.ini mit folgenden Inhalt in das betreffende Verzeichnis des Scriptes ablegen:
allow_url_fopen = on
Heisst dass, ich kann eine php.ini in mein /includes Verzeichnis nur
mit dem obigen Eintrag legen, und dann funktioniert das?

-
- Ehemaliges Teammitglied
- Beiträge: 5703
- Registriert: 26.02.2004 00:09