bit ‘n’ byte

PHP explode mit Zeilenumbrüchen als Delimiter

17. Oktober 2011

Der Zeilenumbruch hat den ASCII-Code 10, wir können also unseren String mit chr(10) explodieren lassen.

$string = 'ich,bin,ein
string,mit,zeilenumbruch';
$array = explode(chr(10),$string);

print_r($array);
//Array ( [0] => ich,bin,ein [1] => string,mit,zeilenumbruch )

MySQL Daten werden nicht utf-8 kodiert gespeichert.

17. Oktober 2011

Eine utf-8 tabelle und eine utf-8 kodierte PHP Datei machen noch lang keine utf-8 kodierten Einträge in der Datenbank. eine Checkliste für grenzenlosen utf-8 Genuss.

header('Content-Type: text/html; charset=utf-8');

mysql_query('SET CHARACTER SET utf8'); // Vor dem Absenden der Daten
  • In der MySQl Datenbank alle Kollationen utf8_general_ci
  • In httpd.conf: AddDefaultCharset utf-8
  • In php.ini: default_charset =”utf-8″

PHP Warning: imagettftext(): Could not find/open font [Lösung]

10. Oktober 2011

$ttfpath = realpath('.'); //'.' mit Verzeichnis ersetzen, falls ttf nicht im selben liegt.
putenv('GDFONTPATH='.$ttfpath);
$ttf = 'arial.ttf';
//...//
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
//...//

Funktion zum überprüfen einer Email Adresse in PHP

17. Dezember 2010

Um die, zum Beispiel aus einem Kontaktformular, übergebene Email-Adresse zu überprüfen, eignet sich diese Funktion.

/**
 * Funktion zum Überprüfen einer Email-Adresse
 *
 * @param string $email
 * @return bol True, wenn es sich um eine korrekte Adresse handelt.
 */
function checkEmail($email) {
 // Prüfen ob der String in "$email" dem Muster einer Email-Adresse entspricht
 if (filter_var($email, FILTER_VALIDATE_EMAIL)) {

 // E-Mail in lokalen und domain Teil trennen
 $email = explode("@", $email);
 $host = $email[1];

 // Prüfen ob ein Mxrecord für die Domain existiert.
 if (getmxrr($host,$mxhosts)) return true;
 }
 return false;
}

Zuerst überprüfen wir mit der PHP Funktion filter_var() die Adress-Syntax der Email-Adresse, dann schauen wir nach, ob für den angeblichen Domain-Teil ein Mxrecord existiert.

5 Hintergrundbild Generatoren: Nützlich und einfach zu bedienen.

15. Dezember 2010

Background Generatoren sparen Zeit, geben Impulse für die Kreativität und diese sind auch noch einfach und intuitiv zu bedienen.

1. Patterncooler

2. Background Dotter

3. Stripemania

4. Colourlovers

5. Tartanmaker

PHP Array in mySQL Datenbank speichern.

15. Dezember 2010

Um ein PHP Array komfortabel in MySQL speichern zu können, eignet sich die “serialize()” zusammen mit der “unserialize()” Funktion.

<?php
$data = array(
 'foo' => 'bar',
 'tip' => 'top',
 'nummer' => 3,
 'do' => 'run'
);

$data = serialize($data);
// Erzeugt: a:4:{s:3:"foo";s:3:"bar";s:3:"tip";s:3:"top";s:6:"nummer";i:3;s:2:"do";s:3:"run";}

// Den gewonnenen String können wir jetzt speichern
mysql_query("INSERT INTO Tabelle (ArrayString) VALUES ('$data')");

// Um das Array aus der Datenbank wieder verwenden zu können, brauchen wir die "unserialize()" Funktion
$sql = mysql_fetch_row("SELECT ArrayString FROM Tabelle");

$data = unserialize($sql['ArrayString']);
// Und wir haben wieder das Array
?>

Anonym E-Mails mit temporären Mailboxen empfangen.

26. Januar 2009

Häufig benötigt man um einen Account in einem Forum, ein Downloadlink oder was auch immer zu bekommen eine E-Mail Adresse. An die Mail- Adresse wird dann meistens ein Validierungslink zur Verifizierung der E-Mail geschickt. Deshalb kann man auch nicht popel@example.com angeben. Oftmals hat das auch seine Berechtigung, so wird z.B. ein vergessenes Passwort später an die E-Mail Adresse gesendet oder sie wird für sonstige Kommunikation genutzt.

Leider gibt es auch weniger seriöse Dienste, die die angegebene Adresse nutzen um dem Besitzer unsinnige und quantitativ exponentiell steigende Werbemails auszuliefern. Das ist nicht nur ärgerlich sondern kann den normalen Mailbetrieb auf Dauer fast unmöglich machen.

Abhilfe schaffen so genannte Wegwerf- Postfächer, E-Mail Accounts, die ohne Registrierung und anonym für ein paar Stunden oder Tage bestehen, ehe sie verfallen. An solch eine E-Mail Adresse kann man ruhigen Gewissens allen Quatsch senden lassen ohne seine persönliche Mail- Adresse vor die Säue zu werfen.
Den ganzen Beitrag lesen »

Anonyme E-Mails mittels Remailer versenden.

26. Januar 2009

Es soll ja Fälle geben, in denen die Möglichkeit eine anonyme Mail versenden zu können praktisch währen. Natürlich haben sich deswegen auch schon ein paar Leute über die Umsetzung Gedanken gemacht. Ich stelle euch hier eine Möglichkeit vor.

Das Prinzip ist einfach. Ihr schickt eine Mail an einen speziellen Remailer Dienst, dieser löscht im Header der E-Mail alle Daten, die euch identifizieren könnten. Diese Mail wird dann weitergeleitet und landet anonym beim Empfänger.
Den ganzen Beitrag lesen »

mod_rewrite mit Apache und openSuSE zum laufen bringen.

25. Januar 2009

Es steht wohl außer Frage, dass Links im Format

“http://www.example.com/foo/bar/show.php?var1=a68s78&var2=La_Paloma”

einfach bescheiden aussehen und nicht gerade optimal in vielerlei Hinsicht sind. Abhilfe schafft das Modul mod_rewrite, welches nicht nur ästhetische Links zaubert, sondern auch noch Andere Vorteile bringt.

Um das Modul nutzen zu können muss es erst mal vom Apachen geladen werden. Ob bei euch mod_rewrite schon geladen ist überprüft ihr z.B. mit phpinfo(). In der Ausgabe von phpinfo() sind unter “Loaded Modules” die geladenen Module gelistet. Ist der Eintrag “mod_rewrite” vorhanden ist alles paletti. Ansonsten muss erst dafür gesorgt werden, das der Apache das Modul beim Start läd.

Ist mod_rewrite nicht geladen, müssen wir in: /etc/sysconfig/apache2 in den Eintrag “APACHE_MODULES” “rewrite” hinzufügen. Die Module werden mit Leerzeichen getrennt. Nach dem Abspeichern lassen wir den Apachen graceful neu starten. Jetzt können wir mod_rewrite einbauen.

Im <Directory>-Container des virtuellen Hosts, in dem wir das Modul einsetzen wollen, müssen wir jetzt AllowOveride All hinzufügen. Damit erlauben wir der .htaccess Datei alle ihr möglichen Direktiven durchzuführen. So können wir alles weitere in den .htaccess Dateien im DocumentRoot einstellen.

In der .htaccess im DocumentRoot des Apachen müssen wir nun noch “Options +FollowSymlinks” eintragen. Jetzt haben wir alle Vorraussetzungen geschaffen und können mit mod_rewrite arbeiten.

Beispiele zum Praktischen Einsatz von mod_rewrite und ein gutes Forum in deutsche Sprache ist auf modrewrite.de zu finden.