MyBB.de Forum
Brauche etwas PHP-Hilfe - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Brauche etwas PHP-Hilfe (/thread-25542.html)

Seiten: Seiten: 1 2 3


Brauche etwas PHP-Hilfe - mattias - 29.04.2012

Hallo Leute,

ich möchte in der Forenübersicht ein kleines Avatar des letzten Posters abbilden. Ich habe es auch geschafft, aber hab leider etwas wichtiges übersehen: Die Dateiendung.

Ich habe folgenden Code:
PHP-Code:
$avabildendung "png";

$lastava "<img class=\"miniavatar\" src=\"uploads/avatars/avatar_{$lastpost_data['lastposteruid']}.{$avabildendung}\">"

Der untere Teil der mit der Variable $lastava beginnt, spuckt den Avatar des letzten Posters verkleinert durch CSS. Nun hab ich aber die Dateiendung des Avatars nicht mitberücksichtigt. Die Variable $avabildendung hab ich auf png erstmal festgelegt, das heißt, alle Avatare werden angezeigt, wenn sie die Endung .png besitzen. Nun möchte ich aber die Variable $avabildendung so umschreiben, dass sie eine beliebige Dateiendung sein kann, damit auch Avatare mit anderen Dateiendungen als png angezeigt werden.

Gibt es dafür keine Tricks mit php?

PS: Ich weiß, dass es Plugins gibt, die etwas ähnliches machen, aber ähnlich reicht hier leider nicht aus.


RE: Brauche etwas PHP-Hilfe - StefanT - 29.04.2012

Und was ist, wenn ein Benutzer ein externes Avatar hat? Oder eines aus der Galerie?


RE: Brauche etwas PHP-Hilfe - King Louis - 29.04.2012

Benutzt lieber folgenden Code:
PHP-Code:
$memprofile $mybb->user;
        if(
$memprofile['avatar'])
        {
            
$memprofile['avatar'] = htmlspecialchars_uni($memprofile['avatar']);
/*            $avatar_dimensions = explode("|", $memprofile['avatardimensions']);
            if($avatar_dimensions[0] && $avatar_dimensions[1])
            {
                $avatar_width_height = "width=\"{$avatar_dimensions[0]}\" height=\"{$avatar_dimensions[1]}\"";
            } 
            $lastava = "<img src=\"{$memprofile['avatar']}\" alt=\"\" $avatar_width_height />"; */
            
$lastava "<img class=\"miniavatar\" src=\"{$memprofile['avatar']}\" alt=\"\" />"
        } 

Das auskommentierte ist der Code zur bestimmung der Größe des Avatars, das fällt bei dir ja weg.


RE: Brauche etwas PHP-Hilfe - mattias - 29.04.2012

Ganz einfach, externe Avatare und Standardavas aus der Galerie wird es bei mir nicht geben Wink


RE: Brauche etwas PHP-Hilfe - King Louis - 29.04.2012

Und wenn der User keinen Avatar hat? Toungue würden bei dir je nach Browser Fehler angezeigt. Benutzte einfach den von mir geposteten Code, der sollte alle Eventualitäten abdecken.


RE: Brauche etwas PHP-Hilfe - mattias - 29.04.2012

Hab deinen Post übersehen, werd ihn sofort ausprobieren Smile

Edit: Leider funktioniert er nicht richtig. Anstatt den Avatar des letzten Posters abzubilden, spuckt er immer den eigenen Avatar aus :/


RE: Brauche etwas PHP-Hilfe - King Louis - 29.04.2012

Ups stimmt Big Grin du müsstest die Variable $memprofile mit den Daten des lastposter füttern. Dazu ist wahrscheinlich eine zusätzliche Datenbank Abfrage nötig, die kann ich dir leider jetzt nicht liefern, ich bin nur mit dem Handy on Wink


RE: Brauche etwas PHP-Hilfe - mattias - 29.04.2012

Hm.. alles klar. Am liebsten möchte ich die Datenbankabfragen so gering wie möglich halten. Mit meiner Methode da oben wird keine zusätzliche Datenbankabfrage benötigt. Ich muss halt nur wissen, ob man $avabildendung als beliebige Dateiendung umschreiben kann.

Edit: Eine Alternative wäre nur eine Dateiendung für Avas zuzulassen, aber das wäre sehr suboptimal :/


RE: Brauche etwas PHP-Hilfe - StefanT - 29.04.2012

(29.04.2012, 14:12)mattias schrieb: Ich muss halt nur wissen, ob man $avabildendung als beliebige Dateiendung umschreiben kann.
Die richtige Endung steht doch eh nur in der Datenbank... Wink


RE: Brauche etwas PHP-Hilfe - mattias - 29.04.2012

Ja eben, dafür brächte ich dann eine Datenbankabfrage, aber die Frage ist ja, ob es mit der Sprache PHP möglich ist, eine Variable als beliebige Dateiendung umschreiben zu lassen. Ich habs bereits mit .* versucht, aber dann möchte er ein Bild mit der Endung .*

Also ich schätze es ist nicht möglich so wie ich es mir vorgestellt hab?