Schlagwort-Archive: PHP-Funktionen

PHP-Funktionen (III): Sekunden zu Jahre:Tage:Stunden:Minuten:Sekunden

Weißt du, was am 14.02.2009 um 00:31:30 Uhr war? – Nein? Da sind genau 1234567890 Sekunden seit Beginn der Unix-Epoche (1.1.1970 00:00:00 Uhr GMT) vergangen…
Warum erzähle ich das? Der Computer speichert ein Datum oder eine Uhrzeit, indem er die Sekunden seit Beginn der Unix-Epoche speichert. Jetzt gerade ist es für den Computer .

Um eine Zeitdauer für den Menschen lesbar zu machen, bietet es sich an – anders als beim Computer – nicht die Sekunden auszugeben, sondern die Sekunden in Jahre:Tage:Stunden:Minuten:Sekunden umzurechnen. Folgende Funktion tut dies:
[code lang=’php‘]
function SekundenZuFormatString($sekunden)
{
//Erstelle String mit folgendem Aufbau y:d:h:m:s
//0:000:00:00

//Jahr: 60*60*24*365 = 31536000 Sekunden
$jahre = floor($sekunden / 31536000);
$sekunden = $sekunden % 31536000;

//Tag: 60*60*24 = 86400 Sekunden
$tage = floor($sekunden / 86400);
$tage = str_pad($tage, 3, „0“, STR_PAD_LEFT);
$sekunden = $sekunden % 86400;

//Stunde: 60*60 = 3600 Sekunden
$stunden = floor($sekunden / 3600);
$stunden = str_pad($stunden, 2, „0“, STR_PAD_LEFT);
$sekunden = $sekunden % 3600;

//Minute: 60 Sekunden
$minuten = floor($sekunden / 60);
$minuten = str_pad($minuten, 2, „0“, STR_PAD_LEFT);
$sekunden = $sekunden % 60;

$sekunden = str_pad($sekunden, 2, „0“, STR_PAD_LEFT);

return $jahre.‘:‘.$tage.‘:‘.$stunden.‘:‘.$minuten.‘:‘.$sekunden;
}
[/code]

PHP-Funktionen (II): Text nach Wort abschneiden

Mit substr($string, 0, 50); kann man einen String nach 50 Zeichen abschneiden. Man steht aber hin und wieder vor dem Problem, dass man einen Text nicht mitten im Wort abschneiden will, sondern erst nach dem Wort. Hier hilft folgende PHP-Funktion:

[code lang=’php‘]
function TextNachWortAbschneiden($text, $anzahlZeichen=200)
{
if (strlen($text) > $anzahlZeichen)
{
//Wenn der Text abgeschnitten werden muss

//Array $woerter aus $text durch ‚ ‚ getrennt
$woerter = explode(“ „,$text);

$neuertext = „“;
//Zählervariable für Array $woerter
$i = 0;
while (strlen($neuertext) < $anzahlZeichen) { //Text wird zusammengesetzt $neuertext .= $woerter[$i]." "; $i++; } } else { //Wenn der Text nicht abgeschnitten werden muss $neuertext = $text; } return $neuertext; } [/code]

PHP-Funktionen (I): Zufallsstring

In unregelmäßigen Abständen werde ich hier nützliche PHP-Funktionen reinstellen, die einem das Leben erleichtern.

Wir fangen an mit einer Funktion, die einen Zufallsstring generiert. Anwendungsbereich für eine solche Funktion ist bspw. youtube, wo jedes Video seine eindeutige Zeichenkette hat.

[code lang=’php‘]
//Standardmäßig hat der Zufallsstring eine Länge von 16 Zeichen
function zufallsstring($laenge=16)
{
//Zeichen, die im Zufallsstring vorkommen sollen
$zeichen = ‚1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ‘;

$zufalls_string = “;
$anzahl_zeichen = strlen($zeichen);
for($i=0;$i<$laenge;$i++) { $zufalls_string .= $zeichen[mt_rand(0, $anzahl_zeichen - 1)]; } return $zufalls_string; } [/code] Die Lösung mittels md5(uniqid(rand())) würde natürlich auch gehen, hat aber den Nachteil, dass die Zeichen des Zufallsstring nur aus [0-9][a-f] stammen und nicht vorgegeben werden können.