Ein anderer Weg als mit allow_url_fopen?

Hallo Community,

ich habe ein kleines Forum-Script auf meinem Webspace programmiert. Die Inhalte sind schmal gehalten und da kommt mir das Problem. Da hier auf bplaced.net die allow_url_fopen auf 0 gesetzt ist, kann ich mit getimagesize() nicht auf die Bildinformationen zugreifen.

Dies mache ich bei allen der geposteten Bildern sobald sie angezeigt werden und wenn dann bilder verlinkt werden die größer als XX Pixel sind, soll das Bild in der Anzeige nur kleiner dargestellt werden.

Durch die Server-Einstellung der fopen kann das Script jetzt nicht mehr die Bilder auf Größe überprüfen und die werden in ihrer Original-Größe angezeigt.

Nun gut, da mir der Service hier bisher super gefällt und alles unkompliziert ist, muss ich mir eine neue Lösung einfallen lassen. Bin da aber in einer Sackgasse.

Kennt jemand einen anderen Weg die Bildinformationen aus verlinkten Bildern auszulesen? Wäre super wenn sich jemand melden würde.

Liebe Grüße

hhoollyy

Zum ersten kannst du Bilder, die deine Nutzer im Forum hochladen auch ohne allow_url_fopen auslesen.
Bei anderen Bildern musst du dann auf Javaskript zurückgreifen. Das geht jedoch erst, wenn sie fertig geladen sind. Ein Beispiel gibt es hier:
atomgiant.com/2006/05/30/resize- … avascript/

PS: Du kannst auch placed PRO kaufen oder zu square7 wechseln um allow_url_fopen zu erhalten. Um den Server nicht zu überlasten, solltest du die Bildgrößen für mindestens 24 Stunden zwischenspeichern, sodass du nicht jedes Mal einen externen Zugriff brauchst.
Bilde dazu einen Hash (z.B. md5) von der url und speichere dann Hash und zugehörige Größe in einer Datei bzw. Tabelle.

danke,

genau die javascript funktion hab ich gesucht. ich werde diese mal einbauen und testen ob sie userfriendly genug ist :slight_smile:

Die Lösung mit den Hash-Werten hört sich auch sehr verführerisch an. Aber ich belasse es erst mal bei der JavaScript Funkion.

Vielen Dank für die schnelle Antwort! :hail:

edit: funktioniert besser als ich dachte die Lösung mit JavaScript. Noch mals vielen Dank :slight_smile:

Hätte es net einfach auch CSS getan?
Das geht automatisch und verzieht auch net die Proportionen wenn man max-width und max-height nutzt^^

Hi,
wüsste nicht, dass css Abfragen könnte.

Es geht ja gerade darum (Beispiel Forum): User postet ein Bild mittels UBB-Code:

Für die Anzeige im Forum selbst, wird das bild dann un_ubb’ed :wink: und so wird dann aus

folgende zeile:

Wenn das Bild jetzt breiter als, sagen wir mal, 500px ist, passt es nicht mehr komplett in mein Forumlayout und der Beitrag kriegt einen horizontalen Scrollbalken. Um dies zu verhindern habe ich lokal mit der PHP-Funktion getimagesize() gearbeitet und somit die Bildgröße überprüft. War die Breite > 500 px musste ich es im Beitrag kleiner darstellen (mittels css) und verlinken damit es sich im neuen Fenster öffnet und die User sich das Bild in original Größe anschauen können.

Edit: Mir kam sowieso schon eine Client-Seitige-Lösung in den Sinn nur die Umsetzung fehlte. So wird der Webserver entlastet, das ist doch spitze. (Problem natürlich dann bei Personen die JS nicht aktiviert haben, aber für mein Anliegen genügt es im Moment völlig). Gerne nehme ich jedoch weitere Vorschläge entgegen :slight_smile: Man lernt ja nie aus.

Wie gesagt… JS ist in diesem Fall mehr als unnötig, dazu kommt das die CSS Lösung einfacher ist und insgesamt besser :wink:
Das ich dirs vormachen muss ist allerdings… nunja… du solltest es selber können vor allem weil ich sagte wie^^
stylesheet.css[quote]img.fpic{
max-width:500px;
}[/quote][size=85](könntest auch noch nen max-height einbauen… wenn du halt auch willst das es net zulang ist :wink:)[/size]
und Bilder sehen dann z.B. so aus:<img class="fpic" src="PATH/URL" alt="picture">oder halt so wenn XHTML<img class="fpic" src="PATH/URL" alt="picture" />und wenn du willst könnte man auch noch nen hover effeckt einbauen.
stylesheet.css[quote]img.fpic:hover{
max-width:100%;
}[/quote][size=85](weiß aber net ob 100% Bildgröße sind oder vom Parent abhängig ist)[/size]