Dynamische Signatur

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Silke Buthmann
Mitglied
Beiträge: 42
Registriert: 08.02.2005 22:31

Dynamische Signatur

Beitrag von Silke Buthmann »

Dies habe ich im Netz gefunden, es soll dadurch eine dynamische Signatur angezeigt werden. Z.B. wie alt ist der Benutzer oder wielange noch bis zum Geburtstag.

Code: Alles auswählen

<? 

//Zeitdifferenz zwischen Datum und jetzt berechnen und das notwendigen Array erzeugen!

function timediff($time) { 
    $temp=$time; 
    if(date("L")==1) { 
        $schalt=366; 
    } else { 
        $schalt=365; 
    }      
    $jahre=floor($temp/(60*60*24*$schalt)); 
    $temp=$temp-($jahre*60*60*24*$schalt); 
    $monate=floor($temp/(60*60*24*30.5)); 
    $temp=$temp-($monate*60*60*24*30.5); 
    $temp=round($temp); 
    $tage=floor($temp/(60*60*24)); 
    $temp=$temp-($tage*60*60*24); 
    $stunden=floor($temp/(60*60)); 
    $temp=$temp-($stunden*60*60); 
    $minuten=floor($temp/60); 
    $temp=$temp-($minuten*60); 
    $sekunden=$temp; 
    return array($jahre, $monate, $tage, $stunden, $minuten, $sekunden); 
} 

$jetzt=time(); 
$birthday=mktime(6, 52, 0, 11, 3, 2004); 
$differenz=$jetzt-$birthday;
$zeit=timediff($differenz); 

//Position in Tagen im Bild berechnen
$tage = floor($differenz / (60*60*24));
$anzeige = floor((($tage/365)*$width)-10);

//Bild definieren und Farben erzeugen (transparenter BG)

$width = xxx;  
$height = xxx; 
$img = imagecreatetruecolor($width, $height);
$white = ImageColorAllocate($img, 255, 255, 255);
$black = ImageColorAllocate($img, 0, 0, 0);
imagecolortransparent ($img, $white);
ImageFill($img, 0, 0, $white); 

//Hauptbildabmessungen ermitteln
$sourcefile_id = $img; 
$sourcefile_width=imageSX($sourcefile_id); 
$sourcefile_height=imageSY($sourcefile_id); 

//Backgroundbild laden und Größe ermitteln, danach einkopieren ... 
$insertfile_id = ImageCreateFromGIF("background.gif"); 
$insertfile_width=imageSX($insertfile_id); 
$insertfile_height=imageSY($insertfile_id); 
imageCopyMerge($sourcefile_id, $insertfile_id,0,0,0,0,$insertfile_width,$insertfile_height,100);

//Zeiger laden, Größe ermitteln und abhängig vom Alter einfügen ...
$insertfile_id = ImageCreateFromGIF("schieber.gif"); 
$insertfile_width=imageSX($insertfile_id); 
$insertfile_height=imageSY($insertfile_id);
imageCopyMerge($sourcefile_id, $insertfile_id, $anzeige,50,0,0,$insertfile_width,$insertfile_height,100);

ImageTTFText ($img, 18, 0, 5, 110, $black, "/usr/local/gdfonts/schriftart.ttf", 'Text bla bla' . $zeit[1] . ' Monate ' . $zeit[2] . ' Tage ' .  $zeit[3] . ' Std. und ' . $zeit[4] . ' Min. und so weiter');

//Bild ausgeben und danach wechtöten
ImageGIF($img,'ticker.gif'); 
ImageDestroy($img) 
?>
Meine Signatur soll ca 500x50 werden und im oberen Bereich soll das Schieber.gif zu sehen sein, im unteren der Text.

Nun meine Frage:
  • Was zählt der Ticker gerade? Wieviel Zeit schon vergangen ist oder wielange noch?
    Welche Bereiche muß ich für den Schieber z.B. ändern?
    Was ist bei den zuerstellenden Gifs zu beachten?
    Wenn ich die Datei in die Signatur einbau muß ich durch den [img]-Tag die php oder eins der Gifs aufrufen?
Über jegliche Tips und Hilfe wäre ich euch unheimlich dankbar! :grin:[/img]
Capricorn
Mitglied
Beiträge: 1
Registriert: 13.06.2006 11:36

Zwar keinen Schimmer, aber vielleicht hilft's ja doch...

Beitrag von Capricorn »

Also ich hab jetzt nicht viel Ahnung von PHP und kann jetzt nicht sagen, ob das Script so funktioniert. Aber rein aus der Formel heraus gelesen würde ich sagen:

Wenn das Geburtsdatum länger zurück liegt als das heutige Datum, zählt das Script wie viel Zeit vergangen ist. Liegt das Datum noch in der Zukunft, würde mir mein Tabellenkalkulationsprogramm jetzt ein Minus angeben. Also vielleicht in der Art eines Countdown -xxx. Also in dem Fall der hier angegeben ist (11.03.2004) würde das Script sagen, wie lange der Termin her ist (da: jetzt-birthday).

Okay, das hätte jetzt wahrscheinlich hier jeder überprüfen und sagen können. Aber wie ich schon sagte: ich habe keine Ahnung von PHP und suche selber nur nach so einem Ticker. Vielleicht erbarmt sich ja jemand und hilft mir auf die Sprünge. ;)
Antworten

Zurück zu „Coding & Technik“