Probleme mit getImageSize (Mod:Resize Remote Avatars)

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
lenni
Mitglied
Beiträge: 202
Registriert: 25.10.2004 16:25

Probleme mit getImageSize (Mod:Resize Remote Avatars)

Beitrag von lenni »

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
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Vermutlich ist die GD-Extension nicht installiert/aktiviert. Hoster fragen bzw. phpinfo() nutzen.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
lenni
Mitglied
Beiträge: 202
Registriert: 25.10.2004 16:25

Beitrag von lenni »

Anscheinend haben mehrere schon das Problem gehabt.

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;
}
Expertenmeinungen?
Christian_W
Ehemaliges Teammitglied
Beiträge: 5703
Registriert: 26.02.2004 00:09

Beitrag von Christian_W »

itst hat geschrieben:Vermutlich ist die GD-Extension nicht installiert/aktiviert. Hoster fragen bzw. phpinfo() nutzen.
Das dachte ich auch. Aber laut php.net geht das auch ohne GD:
http://de.php.net/manual/de/function.ge ... ]Anmerkung: Dieser Befehl funktioniert auch ohne GD-Bibliothek.[/quote]
Gruß Christian
---
lenni
Mitglied
Beiträge: 202
Registriert: 25.10.2004 16:25

Aus einem anderen Forum

Beitrag von lenni »

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

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
Hier verstehe ich leider nur Bahnhof... :cry:
Kann mir das jemand erklären? D.h. ggf. müsste ich mich an den Provider
wenden?
Christian_W
Ehemaliges Teammitglied
Beiträge: 5703
Registriert: 26.02.2004 00:09

Re: Aus einem anderen Forum

Beitrag von Christian_W »

lenni hat geschrieben:Bei mir funktioniert's nicht!
Auch der o.a. Code führt nicht zu dem gewünschten Ergebnis ...
Wie und wo hast Du denn den oben geposteten Code eingefügt?
Welche phpBB-Version nutzt Du?
Welche PHP-Version läuft bei Dir? ( KB:phpinfo )

Gruß Christian
---
lenni
Mitglied
Beiträge: 202
Registriert: 25.10.2004 16:25

Re: Aus einem anderen Forum

Beitrag von lenni »

Christian_W hat geschrieben:Wie und wo hast Du denn den oben geposteten Code eingefügt?
Ich habe folgenden Hack installiert: http://www.phpbbhacks.com/viewhack.php?id=3201

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
Christian_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
PHP Version 4.3.8

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
Christian_W
Ehemaliges Teammitglied
Beiträge: 5703
Registriert: 26.02.2004 00:09

Re: Aus einem anderen Forum

Beitrag von Christian_W »

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).
Also so:

Code: Alles auswählen

//    $size = @getimagesize( $url );
    $size = getimagesize_remote( $url );
Das wäre dann richtig und funktioniert bei mir auch.
lenni hat geschrieben:PHP Version 4.3.8
Ist das eigentlich eine halbwegs "up2date" version?
PHP 4.3.9 ist die neueste PHP4-Version (released 22-Sep-2004)
Damit ist die Version 4.3.8 recht aktuell.
lenni hat geschrieben:Ich sehe gerade, dass bei mir "allow_url_fopen" auf "off" steht.
Kann ich das per ini_set ändern?
Nein, das geht wohl nicht:
http://php3.de/ini-set
Das ist aber der Grund warum es nicht klappt.
lenni hat geschrieben:Wieso hat mein Provider diese Einstellung gewählt (default ist wohl on)?
Welche Gründe kann das wohl haben?
Frag das mal am besten Deinen Hoster. Wird wohl aus Sicherheitsgründen so sein: Bei google gefunden

Gruß Christian
---
lenni
Mitglied
Beiträge: 202
Registriert: 25.10.2004 16:25

Beitrag von lenni »

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.

Code: Alles auswählen

//    $size = @getimagesize( $url ); 
    $size = getimagesize_remote( $url );
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? :o
Christian_W
Ehemaliges Teammitglied
Beiträge: 5703
Registriert: 26.02.2004 00:09

Beitrag von Christian_W »

lenni hat geschrieben:Heisst dass, ich kann eine php.ini in mein /includes Verzeichnis nur
mit dem obigen Eintrag legen, und dann funktioniert das? :o
Ich denke nicht, dass das bei jedem Hoster möglich ist. => ausprobieren oder Hoster fragen.

Gruß Christian
---
Antworten

Zurück zu „phpBB 2.0: Mod Support“