PHP Funktionen

acidWEB acid-vega Fotos Mp3s

Kleine Sammlung von praktischen PHP Funktionen.


<?php
function sql_date($Timestamp)
    {
    $ar = explode(" ",$Timestamp);
    list($y, $m, $d) = explode("-",$ar[0]);
    $date = $d.".".$m.".".$y;
    return (string) $date;
    }
 ?>

sql_date($mysql_timestamp)

Erstellt aus einem Mysql Date feld ein Datum in der form 13.09.1980


<?php
function csv_array($file, $hasFieldNames = false, $delimiter = ',', $enclosure='')
    {
    $result = Array();
    $size = filesize($file) +1;
    $file = fopen($file, 'r');
    if ($hasFieldNames)
        {$keys = fgetcsv($file, $size, $delimiter, $enclosure);}
    while ($row = fgetcsv($file, $size, $delimiter, $enclosure))
        {
        $n = count($row); 
        $res=array();
        for($i = 0; $i < $n; $i++)
            {
            $idx = ($hasFieldNames) ? $keys[$i] : $i;
            $res[$idx] = $row[$i];
            }
        $result[] = $res;
        }
    fclose($file);
    return (array) $result;
    }
 ?>

csv_array($dateiname,$erste zeile feldnamen?, $textlimiter, $texteinschluss)

Erstellt aus einer CSV Datei ein Array


<?php
function in_string($haystack,$needle)
    { 
           $pos = stripos($haystack, $needle); 
     if ($pos === false)
        {return (bool) FALSE;}
    else 
        {return (bool) TRUE;} 
    }
 ?>

in_string($string,$gesuchter_string)

Prüft ob eine zeichenkette in einem String enthalten ist, igonoriert dabei groß und kleinschreibung


<?php
function limit_text($text, $limit, $msg="...")
    {
    if (strlen($text) > $limit)
        {
        $txt1 = wordwrap($text, $limit, "[cut]");
        $txt2 = explode("[cut]", $txt1);
        $ourTxt = $txt2[0];
        $finalTxt = $ourTxt.$msg;
        }
    else
        {$finalTxt = $text;}
    return (string) $finalTxt;
    }
 ?>

limit_text($tring,$länge_auf_die gekürtzt_werden_soll,$altenativ_text)

Kürzt ein String auf länge $limit und gibt am ende gekürtzten string + $msg aus.


<?php
function random_string($length = 10) 
    {
    $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $charactersLength = strlen($characters);
    $randomString = "";
    for ($i = 0; $i < $length; $i++) 
        {$randomString .= $characters[rand(0, $charactersLength - 1)];}
    return (string) $randomString;
    }
 ?>

random_string($länge_der_zeichenkette)

Gibt eine zufällig erstellte zeichenkette wieder mit der länge von $length.


<?php
function clean_file_name($dateiname)
    {
    $dateiname = strtolower ( $dateiname );
    $dateiname = str_replace ('"', "-", $dateiname );
    $dateiname = str_replace ("'", "-", $dateiname );
    $dateiname = str_replace ("*", "-", $dateiname );
    $dateiname = str_replace ("ß", "ss", $dateiname );
    $dateiname = str_replace ("ß", "ss", $dateiname );
    $dateiname = str_replace ("ä", "ae", $dateiname );
    $dateiname = str_replace ("ä", "ae", $dateiname );
    $dateiname = str_replace ("ö", "oe", $dateiname );
    $dateiname = str_replace ("ö", "oe", $dateiname );
    $dateiname = str_replace ("ü", "ue", $dateiname );
    $dateiname = str_replace ("ü", "ue", $dateiname );
    $dateiname = str_replace ("Ä", "ae", $dateiname );
    $dateiname = str_replace ("Ö", "oe", $dateiname );
    $dateiname = str_replace ("Ü", "ue", $dateiname );
    $dateiname = htmlentities ( $dateiname );
    $dateiname = str_replace ("&", "und", $dateiname );
    $dateiname = str_replace ("+", "und", $dateiname );
    $dateiname = str_replace ("(", "-", $dateiname );
    $dateiname = str_replace (")", "-", $dateiname );
    $dateiname = str_replace (" ", "-", $dateiname );
    $dateiname = str_replace ("'", "-", $dateiname );
    $dateiname = str_replace ("/", "-", $dateiname );
    $dateiname = str_replace ("?", "-", $dateiname );
    $dateiname = str_replace ("!", "-", $dateiname );
    $dateiname = str_replace (":", "-", $dateiname );
    $dateiname = str_replace (";", "-", $dateiname );
    $dateiname = str_replace (",", "-", $dateiname );
    $dateiname = str_replace ("--", "-", $dateiname );
    $dateiname = filter_var($dateiname, FILTER_SANITIZE_URL);
    return (string) $dateiname;
    }
 ?>

clean_file_name($dateiname)

Gibt eine gut speicherbarern Dateinamen zurück z.B. geigent für Upload Formulare


<?php
function human_filesize($bytes, $decimals = 2) 
    {
    $sz = "BKMGTP";
    $factor = floor((strlen($bytes) - 1) / 3);
    return (string) sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor];
    }
 ?>

human_filesize($bytes,$kommastellen)

Wandelt bytes in Menschlich lesbarer M oder k etc. um.


<?php
function parse_eval($string,$vars=array())
    {
    if(!empty($vars))
        {extract($vars);}
    $string = preg_replace_callback('/\[\[var:(.+?)\]\]/',
        function($treffer) use ($vars)
            {
            return $vars[$treffer[1]];
            }, $string);
    /* ersetzt template tags der form [ [ function:variable übergabe ] ] ohne leerzeichen*/
    $string = preg_replace_callback('/\[\[(.+?):(.+?)\]\]/',
    function ($treffer)
        {
        $retval=NULL;
        $func="aw_{$treffer[1]}";
        $param=$treffer[2];
        if (!function_exists($func))
            {$retval="tempalte error: $func($param) existiert nicht";}
        else
            {$retval=$func("$param");}
        return $retval;
        },$string
      );
    return (string) $string;
    }
 ?>

parse_eval($template,$replace_array)

Einfache Template funtion die die in $vars übergebene Variablen in einem template ersetzt.
z.B. [ [ var:titel ] ] wird durch $vars['titel'] ersetzt. Es ersetzt auch [ [ aw_include:test.html ] ] durch die php funktion
aw_include("test.html"); Praktisch zum einfachen einbinden von funktionen ins Tempalte, die eckigen klammern ohne leerzeichen.


<?php
function multi_stripos($haystack, $needles, $offset=0)
    {
    $found=array();
    foreach($needles as $needle)
        {
        if(mb_stripos($haystack, $needle, $offset)!==FALSE)
            {$found[]=$needle;}
        }
    if(count($found)>=1)
        {return (array)$found;}
    else
        {return (bool) FALSE;}
    }
 ?>

multi_stripos($string,$suchbegriff,$stelle)

Findet das mehrfache vorkommen von $needles im string $haystack und gibt ein array mit den funden zurück.


Ich hoffe mal es ist was für euch dabei :)