PHP: ZIP-Archiv erstellen

Die kleine Hilfsklasse „ZipHelper“ ermöglicht es, auf einfache Weise Zip-Archive mit PHP zu erstellen. Die Dateien und Verzeichnisse lassen sich auf verschiedene Arten über die Methode „addSource“ zu dem Archiv hinzufügen. Verzeichnisse werden rekursiv durchlaufen.

Beispiel:

  $oZipHelper = new ZipHelper("my_archiv.zip");
  $oZipHelper->addSource('*.txt')
             ->addSource('*.php')
             ->addSource('../')
             ->addSource('/test.txt')
             ->addSource(array('/home/sklueh/write.sh',
                               '/home/sklueh/config.php'))
             ->addSource('/home/sklueh/my_directory')
             ->create();

PHP: ZIP-Archiv erstellen weiterlesen

PHP: Ein mehrdimensionales Array über eine anonyme Funktion filtern

Möchte man ein Array nach bestimmten Kriterien filtern, dann kann man dafür Schleifen verwenden. Eine elegante Alternative zeigt dieses Beispiel:

Code:

$aUnfiltered[] = array('value' => 102, 'id' => 1);
$aUnfiltered[] = array('value' => 152, 'id' => 2);
$aUnfiltered[] = array('value' => 235, 'id' => 3);
$aUnfiltered[] = array('value' => 325, 'id' => 4);
$aUnfiltered[] = array('value' => 782, 'id' => 5);
$aUnfiltered[] = array('value' => 813, 'id' => 6);
$aUnfiltered[] = array('value' => 901, 'id' => 7);

$aFiltered = array_filter($aUnfiltered, function($aValues)
                         {
                            if($aValues['value'] > 500)
                            return $aValues;
                         });
print_r($aFiltered);

/*
Array
(
    [4] => Array
        (
            [value] => 782
            [id] => 5
        )

    [5] => Array
        (
            [value] => 813
            [id] => 6
        )

    [6] => Array
        (
            [value] => 901
            [id] => 7
        )

)
*/

PHP: Einfacher FTP-Upload mit der Klasse FTPConnection

Mit der Klasse FTPConnection lassen sich einzelne Dateien, mehrere Dateien oder komplette Verzeichnisse inkl. deren Unterverzeichnisse auf einen FTP-Server laden. Über den Konstruktor werden die Verbindungsparameter des FTP-Servers definiert. Um die Dateien oder Verzeichnisse auf einen Server zu laden, können die drei Methoden uploadFile, uploadFiles oder uploadDirectory verwendet werden.

1. uploadFile – Einzelne Datei hochladen:
Mit der Methode „uploadFile“ können einzelne Dateien hochgeladen werden.

$oFTP = new FTPConnection('sklueh.de', 'username', 'password');
var_dump($oFTP->uploadFile('testfile1.txt', 'testfile1.txt')); //true

2. uploadFiles – Mehrere Dateien hochladen:
Die Methode „uploadFiles“ läd alle definierten Dateien in das gewünschte Verzeichnis auf dem FTP-Server.

$oFTP = new FTPConnection('sklueh.de', 'username', 'password');
$aFiles = array('testfile1.txt', 'testfile2.txt', 'testfile3.txt');
var_dump($oFTP->uploadFiles($aFiles, '/my_dir/sub_dir')); //true

3. uploadDirectory – Komplettes Verzeichnis inkl. aller Unterordner hochladen:
Die Methode „uploadDirectory“ läd ein komplettes Verzeichnis inklusive aller Unterverzeichnisse in das definierte Zielverzeichnis auf dem FTP-Server.

$oFTP = new FTPConnection('sklueh.de', 'username', 'password');
var_dump($oFTP->uploadDirectory('example-dir1', '/')); //true

PHP: Einfacher FTP-Upload mit der Klasse FTPConnection weiterlesen

High-speed HTML-Coding mit Emmet

Mit dem Aptana-Plugin Emmet kann die Produktivität deutlich gesteigert werden. Dank des Plugins müssen die HTML Tags nicht mehr vollständig ausgeschrieben werden. Stattdessen verwendet man einen schlanken CSS-artigen Ausdruck.
Um beispielsweise fünf DIV-Elemente innerhalb eines DIVS zu erzeugen und gleichzeitig die CSS-Klasse festzulegen, kann die folgende Abkürzung benutzt werden:

Abkürzung:

div>div.test*5

Ergebnis:

<div>
    <div class="test"></div>
    <div class="test"></div>
    <div class="test"></div>
    <div class="test"></div>
    <div class="test"></div>
</div>

Link: https://github.com/emmetio/emmet-eclipse

JavaScript: Mehrere Wörter in einem String ersetzen

Diese JavaScript-Funktion ersetzt alle Wörter in dem String (str) mit den im Parameter „dictionary“ festgelegten Werten. Möglich wird das durch den Aufruf einer Callback-Funktion mit dem auf das Suchmuster (\w+) passenden Wert. In diesem Fall werden nur alphanumerische Wörter beachtet. Dieses Verhalten kann aber beliebig über den verwendeten regulären Ausdruck angepasst werden.

Code:

function dictionaryReplace(str, dictionary)
{
    return str.replace(/\w+/g,
    function(regex_match)
    {
        return dictionary[regex_match] || regex_match;
    })
}

JavaScript: Mehrere Wörter in einem String ersetzen weiterlesen