PHP Funktionen

acidWEB acid-vega

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($dateinameFILTER_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 :)



Kommentare