Dynamic Banner

Status
Für weitere Antworten geschlossen.

DJ-Elli

Registered +
Registriert
Apr. 2008
Beiträge
6
Hi @ all

also ich denke meine Überschrift sagt ja bereits alles.
Na ja - fast jedenfalls....

also ich bin auf der suche nach einem enfachen und ausführlichen Tutorial wie ich dynamische Banner erzeugen kann...

das wäre ansich ja auch nich das problem, denn codes gibts ja ohne ende (siehe Google)

das Ding is nur das ich diese Banner mit dem PHPkit 1.6.1 erknüpfen möchte, bzw verschiedene Dinge daraus auslesen möchte.

das hier soll aus dem kit ausgelesen und im Banner angezeigt werden:
• Username
• Rang (user, Member...)
• Mitglied seit: --.--.----
• Postinganzahl
• Name der Seite
• evtl das Zitat

ok hierzu brauch ich janz klar nen banner den hab ich auch bereits ^^
der is uch das allerkleinste problem ;)

aber ich wünsch mir das die User die möglichekit haben diesen Banner in ihrem Profil einbinden können als Signatur....

dazu muss das ganze natürlich in der editprofil.php angezeigt werden, so das sie einfach nur den Code da rauskopieren können um es dann in der Sig einzutragen :D

gern auch als iframe für externe Seiten ^^

Ich weiss das ganze is sicher nich in 2 Zeilen geschrieben....

aber ich bin in der hinsicht eher eine NUll.. daher wollt ich hier einfach ma fragen obs wen gibt der das kann und mir vorbauen würde, das ichs nur noch abändern und einbauen muss :cool:

wär wirklich sehr nett ;)

liebe Grüsse und danke schonmal :-)
 
Guten Abend,

du nimmst dir mal was ganz schwieriges vor ;)

Kennst du die PHP image Funktionen (http://de.php.net/manual/de/book.image.php)?

Ich kann dir hier mal auf die schnelle ein Grundgerüst machen:
PHP:
Header("Content-Type: image/png"); // Header wird zu einem PNG Image (ich empfehle png da z.b. jpg keine Transparenz unterstützt :)
$filename = "PFAD_ZU_DEINEM/BANNER.png"; // Pfad zu deinem Hintergrundbild
$img = imagecreatefrompng($filename); // wir erstellen das eigentlich Bild. 
// Es ist jetzt genauso groß, wie dein Banner ;)

// Bestimmen wir mal die Schriftart:
$pfad = getcwd(); // Pfad -> /var/.../.../
$font = "font.ttf"; // Von hier (dieser Datei) aus gesehen...

// Farben:

$rot = imagecolorallocate($img, 255, 0, 0);
$gruen = imagecolorallocate($img, 0, 255, 0);
$blau = imagecolorallocate($img, 0, 0, 255);
$schwarz = imagecolorallocate($img, 0, 0, 0);
/*
Farben sind R G B Werte ;)
*/


// Beginnen wir mit dem Schreiben:

imagettftext($img, 10, 0, 2, 20, $rot, $pfad.'/'.$font, $username);
/* Kleine Erklärung: 
1. Parameter = $img (klar, oder?)
2. Parameter = Schriftgröße
3. Parameter = Neigung in Grad (0 ist gerade)
4. Parameter = Position auf der x-Achse (stell dir das Bild als Koordinatensystem vor => x = waagrecht)
5. Parameter = Position auf der y-Achse (y = senkrecht)
6. Parameter = Pfad zur TTF Datei (auf meinem Server muss ich das mit diesem Pfad angeben, sonst gehts nicht)
7. Parameter = Text (ich hab jetzt hier mal $username genommen, das müsste du halt weiter oben noch definieren. */

imagettftext($img, 10, 0, 2, 35, $blau, $pfad.'/'.$font, $rang);
// Hier ist der y-Wert extrem wichtig, sonst schreibst du den "Rang" auf den Usernamen.

// Abschluss:
imagepng($img); 
imagedestroy($img);
?>

Du kannst das Bild jetzt über deinedomain.de/dateiname.php aufrufen.

Bei Fragen, schreib einfach hier rein...

mfg
snip3r

//EDIT:

Das ganze können wir natürlich auch dynamisch machen.

Dazu könnten wir einen GET Parameter angeben.

PHP:
if (!isset($_GET['username']) {
imagettftext($img, 30, 0, 20, 50, $rot, $pfad.'/'.$font, "ES WURDE KEIN USER ANGEGEBEN!");
}
else{

$username = mysql_escape_string($_GET['username']); // wir möchten ja SQL Injections o.ä. vermeiden ;)

// Datenbankverbindungsaufbau muss noch rein:
$link = mysql_connect($db_host, $db_user, $db_pass);
$select = mysql_select_db($db, $link);

$query = mysql_query("SELECT * FROM `tabelle_wo_die daten_drin_sind` WHERE `username` = '".$username."' ");
// ich mach mal keine abfrage, was passiert, wenn der user nicht existiert ;)

$row = mysql_fetch_object($query);

$rang = $row->rang;
$member_since = $row->member_since;
$posts = $row->posts;
$seite = $row->seite;
$zitat = $row->zitat


// Hier muss jetzt von "// Beginnen wir mit dem Schreiben:" bis vor "// Abschluss" alles eingefügt werden und natürlich erweitert werden

mysql_close($link);
}
// Danach den Abschluss...
?>

Wie gesagt, bei Fragen einfach nachfragen ;)

// EDIT 2: wenn du das via GET machst, dann rufst du folgende URL im Browser auf: deinedomain.de/dateiname.php?username=USERNAME (statt USERNAME dann halt einfach deinen Nick oder einen anderen ;) )
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten