Forum Wiki Galerie Kontakt Wie man Fragen richtig stellt. Tutorial Forum
Zurück   GIMP-Forum 3.0 > Arbeiten mit Gimp > Tutorials

Hinweise
Alt 06.01.2007, 01:00   #1
Sturm
Neuer Benutzer
 
Benutzerbild von Sturm
 
Registriert seit: 17.12.2006
Beiträge: 26
Lächeln PHP Bild erstellen Tutorial

Hallo,
Das ist mein erses Tutorial das ich schreib und da ich Gimp noch nicht so gut kenne, mach ich einfach mal ein PHP Tutorial.
-Um was geht es?
Wir wollen ein Bild erstellen, welches aus PHP besteht.
Der Hintergrund (damit wenächstens etwas Gimp dabei ist ) hab ich mal so erstellt:

Wir wollen das Bild mit volgendem Zeug beschriften: Counter (wieviele haben das Bild gesehen?)
Betriebssystem
Browser
IP
Zufallsspruch
und ein paar Kleinigkeiten.
Zum Schluss runden wir das ganze mit einer .htaccess Datei ab, damit die User meinen es seie
auch wirklich eine PNG Datei. (und keine PHP )

Was brauchen wir?
Einen Webspace mit FTP und PHP (ein guter ist uttx, pytahl, Funpic (geht .htaccess nicht!) und ebytehost)
Dan brauchen wir eine Schriftart (z.B. Arial) diese speichern wir auf dem Server und nennen sie (z.b.) arial.ttf. Dan erstellen wir noch eine counter.txt und laden sie hoch. Nun erstellt ihr die Datei sig.php die ihr mit volgendem Inhalt füllt (Kommentare stehen dabei, ahb mich bemüht aber mein code ist so schlampig )

PHP-Code:
<?php


//Mit dieser Funktion wird der Counter aktiv.
//Aufgaben: Öffnet eine Datei, list sie aus, erhöht sie um eins und schließt sie wieder.

function counter() {
 
//Öffnen
 
$datei fopen("counter.txt","r+");
 
//Auslesen
 
$counterstand fgets($datei10);
 
//Wen nichts drin ist
 
if($counterstand == "")
   {
   
$counterstand 0;
   }
   
//Counterstand + 1
   
$counterstand++;
   
//Setzt den Dateizeiger auf das erste Byte der Datei
   
rewind($datei);
   
//Speichert die Datei
   
fwrite($datei$counterstand);
 
//rückgabe
 
return $counterstand;
 
//Datei schließen
 
fclose($datei);
}

//Diese Funktion gibt einen Zufallsspruch aus den Array Zitat aus.
function spruch($name) {
 
//Das Array (kan nach belieben erweiter werden)
 
$zitat[] = $name.' Gut, Alles Gut !'
 
$zitat[] = $name.' - Es ist schön Coden zu können :)';
 
$zitat[] = $name.' - Nur noch Göttlich!';
 
$zitat[] = $name.' - Den kannste nicht vergleichen!';
 
$zitat[] = $name.' - Kennt sich auf einmahl aus :)';

 
//wieviele sind in dem Array?
 
$anzahl count $zitat );
 
$anzahl--;
 
//Zifall
 
srand(microtime()*1000000);
 
$zufall rand(0,$anzahl); 
 
//Ausgeben
 
return $zitat[$zufall]; 
}

//Diese Funktion sucht, welches Betriebsystem der User aht und gibt es zurück.
function getOS() {
if(
eregi('Win'$_SERVER['HTTP_USER_AGENT'])) {
$OS 'Windows';
} elseif(
eregi('Mac'$_SERVER['HTTP_USER_AGENT']) or (eregi('PPC'$_SERVER['HTTP_USER_AGENT']))) {
$OS 'Macintosh';
} elseif(
eregi('Linux'$_SERVER['HTTP_USER_AGENT'])) {
$OS 'Linux';
} elseif(
eregi('FreeBSD'$_SERVER['HTTP_USER_AGENT'])) {
$OS 'FreeBSD';
} elseif((
eregi('SunOS'$_SERVER['HTTP_USER_AGENT']))) {
$OS 'SunOS';
} elseif((
eregi('BeOS'$_SERVER['HTTP_USER_AGENT']))) {
$OS 'BeOS';
} elseif((
eregi('OS/2'$_SERVER['HTTP_USER_AGENT']))) {
$OS 'OS2';
} else {
$OS 'Andere';
}
if(
$OS == "Windows") {
if(
eregi('95'$_SERVER['HTTP_USER_AGENT'])) {
$OS 'Windows 95';
} elseif(
eregi('98'$_SERVER['HTTP_USER_AGENT'])) {
$OS 'Windows 98';
} elseif(
eregi('NT 5.1'$_SERVER['HTTP_USER_AGENT'])) {
$OS 'Windows XP';
} elseif(
eregi('NT'$_SERVER['HTTP_USER_AGENT'])) {
$OS 'Windows NT';
} elseif((
eregi('2000'$_SERVER['HTTP_USER_AGENT']))) {
$OS 'Windows 2000';
} elseif((
eregi('visual'$_SERVER['HTTP_USER_AGENT']))) {
$OS 'Windows Visual';
} else {
$OS 'Windows';    
}
}
return 
$OS;
}

//Nun nurnoch scheun welcher Browser er benützt

function getBrowser() {
if(
eregi('MSIE'$_SERVER['HTTP_USER_AGENT'])) {
$browser 'IE';
} elseif(
eregi('Netscape'$_SERVER['HTTP_USER_AGENT'])) {
$browser 'Netscape';
} elseif(
eregi('Opera'$_SERVER['HTTP_USER_AGENT'])) {
$browser 'Opera';
} elseif(
eregi('Firefox'$_SERVER['HTTP_USER_AGENT'])) {
$browser 'Firefox';
} elseif(
eregi('Konqueror'$_SERVER['HTTP_USER_AGENT'])) {
$browser 'Konqueror';
} else {
$browser 'Irgendein unbekannter :)';
}
return 
$browser;
}

//Nun noch die Variablen bestimmen:
$text1  "Deine IP: ";                         
$text2  "Dein Browser: ";                     
$text3  "Dein Betriebssystem: "
$text4  "Views: ";   
$grafik "bg.png";                             
$font_g 10;                                   //Schriftgröse
$font_g_c 15;                                //Counter Schriftgröse
$font_g_s 13;                               //Spruch Schriftgröße
$font_g_s2 7;                              //Schriftgröße Sonstiges 
$font   "arial.ttf";                      //Schrift (ttf)
$name "Sturm";                           //Name für Spruch

//Bild einlesen
$img imageCreateFromPNG($grafik);

//Farben schwarz, weiß, rot, blau, grün
$schwarz imageColorAllocate($img000);
$weiß imageColorAllocate($img999999999);
$rot ImageColorAllocate($img25500);
$blau ImageColorAllocate($img00255);
$gruen ImageColorAllocate($img271890);


//Die Texte   bild  gröse        x  y   farbe    font  Text 
//IP
ImageTTFText($img$font_g01025$schwarz$font$text1);
ImageTTFText($img$font_g015025$blau$font$_SERVER["REMOTE_ADDR"]);

//Browser
ImageTTFText($img$font_g01040$schwarz$font$text2);
ImageTTFText($img$font_g015040$blau$fontgetBrowser());

//Betriebssystem
ImageTTFText($img$font_g01055$schwarz$font$text3);
ImageTTFText($img$font_g015055$blau$fontgetOS());

//Counter
ImageTTFText($img$font_g_c01080$schwarz$font$text4);
ImageTTFText($img$font_g_c015080$gruen$fontcounter());

//Spruch 
ImageTTFText($img$font_g_s025030$schwarz$fontspruch($name));

//Sonstiges
 
$sonstiges "(PHP - PNG Bild)";
 
ImageTTFText($img$font_g_s2052077$rot$font$sonstiges);
 
//Time
 
$timestamp time();
 
$datum date("d.m.Y - H:i"$timestamp);
 
ImageTTFText($img$font_g_s2050087$rot$font$datum);
 
//Copryght
 
$cop "(c) Sturm";
 
ImageTTFText($img$font_g_s2050098$rot$font$cop); 
 


//Header
header("Content-type: image/PNG");

//Ausgeben
imagePNG($img);

//Speicher freigeben
imageDestroy($img);
?>
Das wars mit dem Bilderstellen. Im Code ist alles erklärt bei fragen bitte in diesem Thread posten.
Ohne mod_rewrite: http://sturm.ebytehost.com/sonstiges...ur/neu/sig.php


Für die unter euch, die immer genau hinscheun (ist eine html, oder php datei ist es ein png, oder php Bild? *gg*) hab ich auch noch einen Trick. Und zwar die mod_rewrite Egine von Apache Webserver. Dieser muss aktiviert werden mehr daazu unter http://www.modrewrite.de . Dan erstellt eine .htaccess Datei und ladet sie auf dem Server.

Code:
RewriteEngine on
RewriteRule signatur.png$ sig.php
Diese befehle sind relativ simpel. Per RewriteEngine on wird die rewrite egine auf "an" geschaltet (sobald diese aktiviert ist.)Per RewriteRule signatur.png$ sig.php wir signatur.png zu sig.php weitergeleitet, OHNE das es angezeigt wird.

Hier das fertige ergebnis:

MFG Sturm!

PS: Entschuldigt mich wen ich nen Fehler gemacht habe postet es einfach aber meine Augen sind müde von dem ganzen Holzmachen heute

Geändert von Sturm (06.01.2007 um 12:04 Uhr)
Sturm ist offline   Mit Zitat antworten
 

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:37 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.