Beitrags-Archiv für die Kategory 'PHP'

Der richtige Mix aus HTML und PHP

Montag, 20. Juli 2009 21:51

Es gibt verschiedene Möglichkeiten, PHP-Variablen und HTML-Tags miteinander zu verknüpfen. Wie ist mit sicherheit Geschmackssache und kommt ganz auf den Programmierstil des jeweiligen Programmieres an.

Variane 1:

<?php echo "Hello $user"; ?>

Variante 2:

<?php echo 'Hello '.$user; ?>

Wie jedoch verknüpft man PHP-Variablen und HTML-Tags am sinnvollsten miteinander bzw. welche Variante wird vom PHP-Interpreter schneller abgearbeitet?

Hierzu wieder 2 kleine Codeschnipsel, welche von den jeweiligen Varianten gebrauch machen und die Zeit, welche zum Abarbeiten des PHP-Scriptes benötigt wird, am Ende ausgibt:

Variane 1:

<?php
$start=microtime();
for($i=0;$i<50;$i++)
	$test[$i]="Hello Number <b>$i</b>";
$end=microtime();
echo $end-$start;
//Ausgabe: 0.000218
?>

Variane 2:

<?php
$start=microtime();
for($i=0;$i<50;$i++)
	$test[$i]='Hello Number <b>'.$i.'</b>';
$end=microtime();
echo $end-$start;
//Ausgabe: 0.000171
?>

Vergleicht man die Ausgabe der 2 Codeschnipsel miteinander, stellt man fest, dass Variante 2 geringfügig schneller abgearbeitet wird. Warum? der PHP-Interpreter muss den String nicht erst nach Variablen durchsuchen, sondern weiß durch die Trennnung von HTML-Code sowie PHP-Variablen sofort, was er auszugeben hat. Ein weiterer Grund, warum ich Variante 2 empfehlen würde ist, dass auch der Quelltext strukturierter und somit einfacher lesbar ist.

Thema: PHP | Kommentare (0) | Autor:

PHP Eventcounter Image

Dienstag, 26. Mai 2009 22:13

Hier eine kleine Funktion, welches einen Eventcounter erstellt und daraus ein Bild erzeugt:

eventcounter

Der Funktion createeventimage() werden das Jahr, Monat, Tag, Stunde, Minute, Sekunde sowie der Name des Events und der Dateiname des zu erzeugenden Bildes übergeben. Aus diesen Daten wird dann der Eventcounter erzeugt und als Bild zurückgegeben.

<?php
function createeventimage($year, $month, $day, $hour, $minute, $second, $event, $file)
{
	$countdown = mktime($hour, $minute, $second, $month, $day, $year);
	$today = time();
	$diff = $countdown - $today;
	if ($diff < 0)
		$diff = 0;
	$d = floor($diff/60/60/24);
	$h = floor(($diff - $d*60*60*24)/60/60);
	$m = floor(($diff - $d*60*60*24 - $h*60*60)/60);
	$s = floor(($diff - $d*60*60*24 - $h*60*60 - $m*60));
 
	$counter= "Noch ".$d." Tage ".$h." Stunden ".$m." Minuten ".$s." Sekunden";
 
	$picture=ImageCreate(450,75);
	$color_white=ImageColorAllocate($picture,255,255,255);
	$color_black=ImageColorAllocate($picture,0,0,0);
 
	imagefilledrectangle($picture, 0, 0, 450, 75, $color_black);
	imagefilledrectangle($picture, 5, 5, 445, 70, $color_white);
	imagefilledrectangle($picture, 10, 10, 440, 65, $color_black);
	imagestring($picture, 4, 15, 15, $counter, $color_white);
	imagestring($picture, 4,15, 35, "bis ".$event, $color_white);
 
	header("Content-type: image/jpeg");
	imagejpeg($picture, $file);
	header("Location: ".$file);
}
?>

Benutzen der Funkion:

<?php
createeventimage($_GET["Y"], $_GET["M"], $_GET["D"], $_GET["h"], $_GET["m"], $_GET["s"], $_GET["event"], $_GET["file"]);
?>

Damit der Eventcounter immer die aktuell verbleibende Zeit bis zum gewünschten Event anzeigt, wird als Bild nicht wie gewöhnlich ein “Bild” (z.B. ein JPG-File) eingebunden, sondern das PHP-Script (Im Beispiel die Datei “event.php”, welches die Funktion sowie den Funktionsaufruf enthält), dem die Daten für das Event übergeben werden:

 
<img src="http://blog.gut-man.de/phpscripts/event.php?event=Silvester 2020&Y=2020&M=1&D=13&h=0&m=0&s=0&file=event.jpg" alt="eventcounter" />

Vorteil dieses Scriptes gegenüber z.B. einer JavaScript basierenden Lösung?

Bilder lassen sich in die meisten Gästebücher \ Portalseiten oder auch z.B. Emails einbinden, wo JavaScirpt aus Sicherheitsgründen nicht erlaubt werden kann…

Thema: PHP | Kommentare (0) | Autor:

Neue Website für den SV Tell Obermässing

Montag, 4. Mai 2009 19:05

Die Homepage des Schützenverein Tell Obermässing ist jetzt zwar auch schon wieder eine Weile online, ich möchte Sie hier dennoch noch kurz vorstellen.
Homepage Schützenverein Tell Obermässing

Die Website basiert auf dem CMS-System “Joomla!” und erlaubt es somit, Inhalte schnell und einfach direkt Online anzupassen und einzupflegen. Programmiert wurde Sie nach aktuellen W3C-Standards, erreichbar ist das ganze über tell-obermaessing.de.

Thema: PHP, Webdesign | Kommentare (0) | Autor:

PHP Passwortgenerator

Freitag, 16. Januar 2009 18:52

Hier eine nützliche Funktion für PHP, welche Passwörter erzeugt.
Der Funktion pwdgen(); wird lediglich die Länge des gewünschten Passwortes übergeben.

<?php
function pwdgen($length) 
{
	$salt_lower=range('a', 'z');
	$salt_upper=range('A', 'Z');
	$salt_numbers=range('0', '9');
	$salt_signs=array('+','-','/','*','%','$','@','=','}','{','[',']');
	$salt=array_merge($salt_lower,$salt_upper,$salt_numbers,$salt_signs);
	$makepass	= '';
	mt_srand((double)microtime()*1000000);
	for ($i = 0; $i < $length; $i++)
		$makepass .= $salt[mt_rand(0,count($salt))];
 
	return $makepass;
}
?>

Benutzung:

<?php
	echo pwdgen(10);
	//Ausgabebeispiel: mIFjHMc-2
?>

Thema: PHP | Kommentare (0) | Autor: