Software Schnipsel

PHP

Snippes

Die Funktion arrayToObject() durchläuft rekursiv ein Array und gibt anschließend das Array als PHP5 Objekt zurück.

 
function arrayToObject$array ) {
	    $object = new stdClass();
	    foreach( $array as $key => $value ) {
		        if( is_array$value ) ) {
			            $object->$key arrayToObject$value );
			}  
		        else { 
			            $object->$key $value;
			} 
		} 
	    return $object;
	} 



Anwendungsbeispiel

 
$array = array( "vorname" => "Hans Dieter""nachname" => "Bail" );
$array[0] = "PHP";
$array[1] = "www.software-bail.de";
$object arrayToObject($array);
echo $object->vorname "\n";
echo $object->nachname "\n";
echo $object->{'0'} . "\n";
echo $object->{'1'} . "\n";
 



Ausgabebeispiel: Browseransicht

 
Hans Dieter
Bail
PHP
www.software-bail.de




 
$LF "\n<br>";
echo date('d.n.Y H:m:s') . $LF;
echo strtotime('last Month') . $LF;
echo date('n'strtotime('last month')) . $LF;
echo date('d.n.Y'strtotime('last month')) . $LF;
echo date('d.n.Y'strtotime('next month')) . $LF;
echo date('d.n.Y'strtotime('-5 month')) . $LF;
echo date('d.n.Y'strtotime('+3 month')) . $LF;
    




 
function copyShellFolder($source$search){
	    $shellBefehl = &quot;
	grep -cH --directories=recurse $search $source&quot;
	;
	    exec($shellBefehl$var);
	    return $var;
	}
//$source = grep.txt;
$source grep/;
$search Sie;
$var copyShellFolder($source$search);
print_r($var);
 




 
$array = array ( 'SELFPHP'24'Jetzt lerne ich PHP' );
echo $array[0];
echo '<br>';
echo $array[1];
echo '<br>';
echo $array[2];

<?PHP
$array = array ( 'Europa' => array ( 'Land1' => 
'Deutschland','Land2' => 'Italien','Land3' => 'Holland' ),
'Suedamerika' => array ( 'Land1' => 'Peru','Land2' => 
'Argentinien','Land3' => 'Brasilien' ) );
echo $array['Europa']['Land1'] . '<br>';
echo $array['Europa']['Land2'] . '<br>';
echo $array['Europa']['Land3'] . '<br>';
echo $array['Suedamerika']['Land1'] . '<br>';
echo $array['Suedamerika']['Land2'] . '<br>';
echo $array['Suedamerika']['Land3'] . '<br>';





 
$array = array ( 'Europa' => array ( 'Land1' 
=>'Deutschland','Land2' => 'Italien','Land3' => 'Holland' ),
'Suedamerika' => array ( 'Land1' => 'Peru','Land2' => 
'Argentinien','Land3' => 'Brasilien' ) );
echo $array['Europa']['Land1'] . '<br>';
echo $array['Europa']['Land2'] . '<br>';
echo $array['Europa']['Land3'] . '<br>';
echo $array['Suedamerika']['Land1'] . '<br>';
echo $array['Suedamerika']['Land2'] . '<br>';
echo $array['Suedamerika']['Land3'] . '<br>';
 




 
<?php
// Letzter Tag des aktuellen Monats
echo date('t');
// Letzter Tag eines spezifizierten Monats
date('m/t/Y'mktime(000612012));




 
function syntax_highlight($code){
	    // this matches --> "foobar" <--
	    $code preg_replace(
	        '/"(.*?)"/U',
	        '&quot;
	<span style="color: #007F00">$1</span>&quot;
	'$code
	    );
	    // hightlight functions and other structures like --> function foobar() <---
	    $code preg_replace(
	        '/(\s)\b(.*?)((\b|\s)\()/U',
	        '$1<span style="color: #0000ff">$2</span>$3',
	        $code
	    );
	    // Match comments (like /* */):
	    $code preg_replace(
	        '/(\/\/)(.+)\s/',
	        '<span style="color: #660066;
	 background-color: #FFFCB1;
	"><i>$0</i></span>',
	        $code
	    );
	    $code preg_replace(
	        '/(\/\*.*?\*\/)/s',
	        '<span style="color: #660066;
	 background-color: #FFFCB1;
	"><i>$0</i></span>',
	        $code
	    );
	    // hightlight braces:
	    $code preg_replace('/(\(|\[|\{|\}|\]|\)|\->)/''<strong>$1</strong>'$code);
	    // hightlight variables $foobar
	    $code preg_replace(
	        '/(\$[a-zA-Z0-9_]+)/''<span style="color: #0000B3">$1</span>'$code
	    );
	    /* The \b in the pattern indicates a word boundary, so only the distinct
	    ** word "web" is matched, and not a word partial like "webbing" or "cobweb"
	    */
	    // special words and functions
	    $code preg_replace(
	        '/\b(print|echo|new|function)\b/',
	        '<span style="color: #7F007F">$1</span>'$code
	    );
	    return $code;
	}
/*example-start*/
/*
** Create some example PHP code:
*/
$example_php_code '
// some code comment:
$example = "foobar";
print $_SERVER["REMOTE_ADDR"];
$array = array(1, 2, 3, 4, 5);
function example_function($str) {
	    // reverse string
	    echo strrev($obj);
	}
print example_function("foo");
/*
** A multiple line comment
*/
print "Something: " . $example;
';
// output the formatted code:
print '<pre>';
print syntax_highlight($example_php_code);
print '</pre>';
/*example-end*/




 
function verzeichnis_groesse($verzeichnis, &$size) {
	 $directory openDir($verzeichnis);
	  while ($datei readDir($directory)) {
		   if (eregi("^\.{1,2}$",$datei)) {
			    continue;
			}
		   if (is_dir($verzeichnis.$datei)) {
			    verzeichnis_groesse($verzeichnis.$datei."/"$size);
			}
		   else {
			    $size += filesize($verzeichnis.$datei);
			}
		}
	 closeDir($directory);
	}
$size 0;
verzeichnis_groesse("verzeichnis/"$size);
 // Verzeichnis hier eintragen
echo "&nbsp;
 <b>Verzeichnisgr&ouml;
&szlig;
e:</b> " sprintf("%01.2f", ($size 1024)) . " kB (";
echo sprintf("%01.2f", ($size 1000000)) . " MB)<br>\n";





 
function create_box($farbe$hg$breite$hoehe$inhalt) {
	return '<div style="width:' $breite 'px;
	 height:' $hoehe 'px;
	 color:#' $farbe ';
	 background:#' $hg ';
	 overflow:auto;
	">' $inhalt '</div>';
	}
echo create_box("000000""FF2277"200100"Inhalt");





 
//  PHP-Quelltext mit Zeilennummern anzeigen 
function highlight($datei) {
	 return "<table border='1'><tr><td><code>" . 
	 implode("<br>"range(1count(file($datei)))) . 
	 "</code></td><td style='white-space:Nowrap;
	'>" .  
	 highlight_file($dateitrue) . 
	 "</td></tr></table>";
	} 
echo highlight("test.php");
 




 
// Wochentag ausgeben
function Wochentag($Tag$Monat$Jahr){
	 $tage = array( 
	 => "Sonntag", 
	 => "Montag", 
	 => "Dienstag", 
	 => "Mittwoch", 
	 => "Donnerstag", 
	 => "Freitag", 
	 => "Samstag");
	 $wt getdate(mktime(000$Monat$Tag$Jahr));
	 return $tage["$wt[wday]"];
	}




 
// E-Mail überprüfen
function PruefeMail($email) {
	 if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}"$email)) {
		  return "Emailadresse ist korrekt.";
		}
	 else {
		   return "Emailadresse ist fehlerhaft.";
		}
	}




 
// PHP-Quelltext einfärben
function highlight($Dateiname){
	 ob_start();
	 show_source($Dateiname);
	 $Inhalt ob_get_contents();
	 ob_end_clean();
	 $Inhalt str_replace("<code>"""$Inhalt);
	 $Inhalt str_replace("</code>"""$Inhalt);
	 $Inhalt str_replace("\n"""$Inhalt);
	 $Inhalt explode(''$Inhalt);
	 $Laenge strlen(count($Inhalt));
	 for($i=0;
	 $i<count($Inhalt);
	 $i++)
	 {
		   $Inhalt[$i] = $Inhalt[$i];
		}
	 $Inhalt implode(''$Inhalt);
	 return $Inhalt;
	}




 
// Array formatiert ausgeben
$ausgabe = array("Dieter""Bail""Musterstadt");
print "<pre>";
print_r($ausgabe);
print "</pre>";





 
Array
(
    [0] => Dieter
    [1] => Bail
    [2] => Musterstadt
)




 
// Copyright-Hinweis immer aktuell
 echo "Copyright 2000 - " date("Y");





 
// Counter
$Dateiname "counter.txt";
$Datei fOpen($Dateiname,"r+");
$Zaehler fGets($Datei,255);
fClose($Datei);
$Zaehler++;
$Datei fOpen($Dateiname,"w");
fPuts($Datei,$Zaehler);
fClose($Datei);





 
// Alle Dateien in einem Verzeichnis löschen
$verzeichnis opendir ("bilder");
while ($file readdir ($verzeichnis)) {
	 if ($file != "." && $file != "..") {
		  unlink ("bilder/$file");
		}
	}
closedir ($verzeichnis);





 
// Zufällige Textausgabe
$automarke = array(
"Mercedes",
"Seat",
"Volkswagen",
"Opel",
"BMW",
"Audi"//
);
$zufall mt_rand(0count($automarke)-1);
echo $automarke[$zufall];





 
<?php 
//  Zufallsbanner mit PHP
$banner = array('banner1.jpg''banner2.jpg',
 'banner3.jpg''banner4.jpg');
echo '<a href="#"><img src="' .
 $banner[rand(0, (count($banner)-1))] . '"></a>';
 



 
<?php
$text "Hallo Welt\n";
 // Dateiinhalt
$dateiname "test.txt";
 // Name der Datei
// Datei Ã¶ffnen,
// wenn nicht vorhanden dann wird die Datei erstellt.
$handler fOpen($dateiname "a+");
// Dateiinhalt in die Datei schreiben
fWrite($handler $text);
fClose($handler);
 // Datei schließen
 



Alles auslesen:

 
<?php
// Datei in eine Variable ($text) einlesen
$text file_get_contents("test.txt");
echo $text;
 // Dateiinhalt ausgeben
 




 
$date $start strtotime('01.01.2010');
$end strtotime('31.01.2010');
$weekdays = array();
while($date $end) {
	    $weekdays[date('l'$date)]++;
	    $date $date 86400;
	}
extract(array_change_key_case($weekdaysCASE_LOWER));
echo $monday;
 // oder: $tuesday, $wednesday, $thursday, 
$friday$saturday$sunday





 
<?php 
$xmlFile 'interpret.xml';
if (file_exists($xmlFile)) {
	    $xml simplexml_load_file($xmlFile);
	    foreach ( $xml->interpret as $user )   
	        {   
		           echo 'Id: ' $user['id'] . '<br>';
		           echo 'Name: ' $user->name '<br>';
		           echo 'Song: ' $user->song '<br><br>';
		}   
	} else { 
	    exit("Datei $xmlFile kann nicht geöffnet werden.");
	}