Verzeichnis rekursiv mit PHP auslesen

Diese Methode durchläuft mit Hilfe des DirectoryIterators rekursiv das angegebene Verzeichnis und gibt die Struktur in Form eines Arrays zurück.

Code:

function iterateDir($sPath)
{
    $aRes = array();
    foreach(new DirectoryIterator($sPath) as $oItem)
    {
        if($oItem->isDir())
        {
            (!$oItem->isDot() ? $aRes[$oItem->getFilename()] = iterateDir($oItem->getPathname()):0);
            continue;
        }
        $aRes[] = $oItem->getFilename();
    } return $aRes;
}

Verzeichnis rekursiv mit PHP auslesen weiterlesen

Gravatar mit PHP auslesen

Bei Gravatar handelt es sich um einen Dienst, der E-Mail-Adressen mit einem Foto verknüpft. Diese Avatare können dann an einer beliebigen Stelle eingebunden werden. Wie man seinen Gravatar mit PHP auslesen kann, zeigt dieser Code:

function getGravatar($sEmail)
{
    return "<img alt="Gravatar" src="http://www.gravatar.com/avatar/".md5(trim(strtolower($sEmail)))."" />";
}

//Gravatar anzeigen
echo getGravatar("test@sklueh.de");

Versehentlichen Datenverlust in HTML-Formularen verhindern

Dieser jQuery-Code verhindert, dass ein Benutzer versehentlich seine mühsam eingegeben Daten, durch einen unachtsamen Klick auf einen Link oder durch eine falsche Tastenkombination, verliert.
In diesem Beispiel werden nach dem Laden der Seite alle Formular-Werte per Serialisierung in der Variable „serialized_values“ gespeichert. Sobald jetzt ein Unload-Event ausgelöst wird, muss der Benutzer bestätigen, dass er die aktuelle Seite tatsächlich verlassen möchte. Der Dialog wird nur angezeigt, wenn sich auch tatsächlich Daten verändert haben.

var serialized_values = "";

$(document).ready(function()
{  
  serialized_values = $("form").serialize();  
});

window.onbeforeunload = confirmLeave;

function confirmLeave()
{
    if(serialized_values != $("form").serialize())
    {
        return unescape("Nicht gespeicherte Informationen gehen m%F6glicherweise verloren.");
    }      
}

Um die Bestätigung für einzelne Elemente (z.B. Submit-Buttons) zu deaktivieren, reicht es den Event-Handler auf null zu setzten.

<button type="submit" onclick="window.onbeforeunload = null">Formular speichern</button>

Cross-Domain Requests (XDR) mit JavaScript / jQuery

Folgende Problematik: Möchte man bestimmte Informationen einer fremden Webseite mit JavaScript auslesen, dann ist man gezwungen Workarrounds anzuwenden. Eine Möglichkeit ist, ein kleines PHP-Skript als Proxy einzusetzen, um an die gewünschten Daten zu kommen.
Cross-Domain Requests (XDR) mit JavaScript / jQuery weiterlesen

RedBeanPHP – Die einfach zu verwendende ORM-Bibliothek

RedBeanPHP ist eine einfach zu verwendende ORM-Bibliothek, die die Vorteile eines dokumentenorientierten Datenbanksystems wie z.B. mongoDB und eines relationalen Datenbanksystems vereint. RedBeanPHP kann direkt eingesetzt werden und erfordert keine aufwändige Konfiguration.

Anwendungsbeispiel:

//RedBeanPHP einbinden
require_once('rb.php');

//Datenbankverbindung einrichten
R::setup('mysql:host=localhost;dbname=test','root','password');

/*
Einen neuen Datensatz erzeugen
- Die Tabelle wird automatisch angelegt!
*/

$oEntry = R::dispense('mytable');
$oEntry->title = 'Hello World';

//Datensatz speichern
$iID = R::store($oEntry);

//Laden der gespeicherten Daten
$oEntry = R::load('mytable', $iID);

//Anzeigen des Titels
echo $oEntry->title;

Link: http://redbeanphp.com/
GitHub: https://github.com/gabordemooij/redbean