PHP: Verschiedene IP-Ranges umleiten

Über die Methode redirectIpRanges können IP-Adressen aus verschiedenen Adressbereichen auf eine beliebige Zielseite umgeleitet werden. Der erste Parameter enthält die Adressbereiche, über den zweiten Parameter wird die Zielseite definiert.

Code:

$aMyIPRange[] = '127.0.0.3/127.0.0.3';
$aMyIPRange[] = '127.0.0.0/127.0.0.10';

redirectIpRanges($aMyIPRange, 'http://heise.de/');
                       
function redirectIpRanges($aIPRange, $sDestination)
{
    foreach((array) $aIPRange as $sRange)
    {
        $aIPRange = explode('/', $sRange);
        $iStart   = ip2long($aIPRange[0]);
        $iEnd     = ip2long($aIPRange[1]);
        $iIP      = ip2long($_SERVER['REMOTE_ADDR']);
       
        if ($iIP >= $iStart && $iIP <= $iEnd)
        header('Location: '.$sDestination);
    }
}

Zufälligen String mit PHP erzeugen

Diese PHP-Funktion erzeugt eine zufällige Zeichenkette. Über den Parameter „iLength“ kann die Länge des Strings gesteuert werden. Der Parameter „sCharacters“ definiert, aus welchen Zeichen der String bestehen soll.

function getRandomString($iLength = 10, $sCharacters = null)
{  
    if($sCharacters == null)
    $aCharacters = array_merge(range('A', 'Z'), range('a', 'z'), range(0,9));
    else
    $aCharacters = str_split($sCharacters);
   
    for ($sRandomString = '', $i = 0; $i < $iLength; $i++)
    $sRandomString.= $aCharacters[array_rand($aCharacters)];
   
    return $sRandomString;
}

var_dump(getRandomString()); //Y6K7UHey4l
var_dump(getRandomString(2, 'ab')); //ba
var_dump(getRandomString(8, 'ab')); //bababbaa
var_dump(getRandomString(5, 'ABCDEFGHIJKLMO1234%&$§"$%')); //BM$M$

Verzögertes „onmouseover“-Event mit jQuery

Manchmal kommt es vor, dass eine Aktion nicht direkt ausgeführt werden soll, sondern leicht verzögert. Beispielsweise möchte man einen Tooltip realisieren, der erst eingeblendet wird, wenn die Maus einige Zeit über das entsprechende Element gehalten wird. Hier kann dieser Code-Schnippsel behilflich sein.

$("#myTarget").mouseover(function()
{
    $("#myTarget").addClass("active");
    setTimeout(function()
    {
        if($("#myTarget").hasClass("active"))
        alert("Verzoegert");
    }, 1000);
});

$("#myTarget").mouseleave(function()
{
    $("#myTarget").removeClass("active");
});

jQuery: Summen in einer Tabelle spaltenweise ausrechnen

Diese JavaScript-Funktion rechnet die Summen für alle Spalten einer Tabelle aus. Es können beliebig viele Spalten und Zeilen hinzugefügt werden.

JavaScript:

function calcSum(sTableID)
{
    $('#'+sTableID+' thead th').each(function(iIndex)
    {
        var iSum = 0;
        $('#'+sTableID+' tbody tr').each(function()
        {
            var iValue = parseInt($('td', this).eq(iIndex).text());
            if (!isNaN(iValue))
            iSum += iValue;
        });
        $('#'+sTableID+' tfoot td').eq(iIndex).append(iSum)
    });
}

jQuery: Summen in einer Tabelle spaltenweise ausrechnen weiterlesen

PHP: Array Path

Über die Methode „getValue“ lassen sich die Werte eines mehrdimensionalen Arrays mit der folgenden Notation auslesen: „Key/Key/Key/..“. Ein möglicher Anwendungsfall wäre das Einlesen einer Konfiguration, die in Form eines Arrays vorliegt.

Code:

function getValue($sPath, $aArray)
{
    foreach(explode('/', $sPath) as $sKey)
    $aArray=&$aArray[$sKey];
    return $aArray;
}

PHP: Array Path weiterlesen