Darstellung von PHP 5 und MySQL
28.10. 2006 05.09. 2007
29.12. 2007
Ende
Skripte PHP5
Alle Datenbanken
anzeigen
Alle Tabellen einer
Datenbank anzeigen
Alle Felder
einer Tabelle anzeigen
Alle Datensätze einer Tabelle anzeigen
Arrays
Benutzername Passwort
Benutzerverwaltung php
Counter in PHP ohne Datenbank
Dateiupload
Datenbank anlegen
Datenbank löschen
Datensätze
erzeugen
Datensätze
anzeigen
Datensätze
ändern
Datensätze löschen
Datensätze als Array
E-Mail versenden mit php
Excel-Dateien übertragen in MySQL
for-Schleife
Funktionen
Gästebuch erstellen mit php
HTACCESS Zugriffsschutz
Inhalt eines
Feldes anzeigen
IP Datum Zeit speichern
Kreisdiagramm erstellen
lang_getfrombrowser()
Login
Login-Funktion php
Mathematik Zahlenfolgen Vollständige Induktion Grenzwerte
Mathematik
Differentialrechnung
MySQL
Datenbanken
mysqldump Datenbanksicherung mysql dump
Passwortschutz Benutzerverwaltung
PDF-Dateien
erstellen mit PHP
PHP Info
Skripte Umfrage Lehrerbenotung
Sqlite
Sqlite und PHP 5
Tabelle anlegen
Tabelle löschen
Umfrage erstellen mit php
Verbindung zur Datenbank herstellen
Verschlüsselung
while-Schleife
Zeichnen
einer Ellipse mit PHP
Zeichnen von Linien mit PHP
PHP ist eine Skriptsprache, die auf dem Server ausgeführt wird.
PHP ist serverlastig.
PHP ist caseinsensitiv, es erfolgt also keine Unterscheidung zwischen
Groß-
und Kleinschreibung (außer bei Variablen).
Als Entwicklungsumgebung ist bereits der Apache-Server unter Windows
installiert.
Installation von PHP
Es gibt zwei Möglichkeiten PHP zu installieren. Als CGI-Version oder als
Modul-
Version. Wird eine PHP-Seite aufgerufen muss der PHP- Interpreter gestartet
werden.
Bei der CGI-Version muss für jeden Prozess der PHP-Interpreter geladen
werden. In der
Modul-Version ist der Interpreter ständig geladen. Für umfangreich
programmierte Seiten sollte
die Modulversion verwendet werden.
1. Systemsteuerung Windows Komponente hinzufügen
2. Aktivieren von IIS (Internetinformationsserver)
3. der IIS startet von selbst
4. neueste PHP-Version herunterladen von http://www.php.net
5. kopieren der Datei php.ini.dist in das Verzeichnis C:\Windows
6. umbenennen der Datei in php.ini
7. die Datei php.ini öffnen und den Eintrag "extension_dir" suchen
8. als Wert "c:\php\ext" eingeben
9. speichern
Testen
folgendes Script
<?
Phpinfo() ;
?>
Diese Datei muss unter php.php abgespeichert werden und in den
htdocs-Ordner des Apache-Servers kopiert werden.
Dann in den Browser folgendes eingeben: http://localhost/php.php
Im Browser sollte nun eine Informationsseite über die PHP-Konfiguration
angezeigt werden.
Der Interpreter bearbeitet nur Dateien mit für ihn zugewiesenen Endungen
.php und einer Anweisung zum Start einer
PHP-Kodierung z.B. <?php (XML-kompatibel) oder <? (Short-Tag)
Ein einfaches PHP-Skript wäre z.B.
<html>
<head>
</head>
<body>
<?php
?>
</body>
</html>
Die PHP-Kodierung befindet sich im Body-Bereich. Um Texte an den Browser
zu senden wird die Funktion echo verwendet.
<html>
<head>
</head>
<body>
<?php
echo "Dies ist ein Skript" ;
?>
</body>
</html>
Der String wird in Anführungszeichen angegeben. Das Semikolon kennzeichnet
das Ende des Befehls.
HTML-Tags können mit in die Funktion echo eingearbeitet werden (z.B. für
Fettschrift ).
<html>
<head>
</head>
<body>
<?php
echo "<b>Dies ist ein Skript</b>" ;
?>
</body>
</html>
Sprachelemente und Syntax
Kommentare
Es besteht die Möglichkeit Text einzubauen der im Browser nicht sichtbar
ist.
Beispiele:
<?php
# Kommentar...
// Kommentar...
echo "<b>Dies ist ein Skript</b>" ;
/* Dies ist ein Block-Kommentar, Sie können somit mehrere Zeilen
kommentieren, ohne überall ein # oder // zu setzen */
?>
Sonderzeichen können Probleme ergeben
so ist es falsch:
<?php
echo "<b>Dies ist ein "Skript"</b>" ;
?>
und so ist es richtig:
<?php
echo "<b>Dies ist ein \" Skript \"</b>" ;
?>
ein vorangehender Backslash ist erforderlich
Variablen
Variablen dienen als Platzhalter. Variablen werden mit einem
vorangestellten Dollarzeichen markiert. Es wird zwischen Groß- und
Kleinschreibung unterschieden. Die Variablen können als Zahl oder
Zeichenkette angegeben werden. Die Zeichenkette muss in Anführungszeichen
gesetzt werden.
<?php
$var = 1 ;
?>
Variablen-Typen unter PHP
| String |
Zeichenkette |
| Integer |
Ganzzahl |
| Double |
Fließkommazahl |
| Array |
bietet mehrere Elemente |
| Object |
ein Objekt, Instanz einer Klasse |
| Boolean |
Wahrheitswert, True oder False |
| Null |
entspricht keinem Wert |
Wann gibt eine Variable False zurück?
wenn die Variable auf False gesetzt ist
Ganzzahl hat den Wert 0
Fließkommazahl hat den Wert 0.0
"0" als Zeichenkette
gar kein Inhalt
Null als Inhalt geschrieben
PHP ordnet der Variable automatisch den Typ zu.
Beispiel:
<?php
$vareins = 1 ;
$varzwei = "zwei" ;
echo $vareins ;
echo $varzwei ;
?>
1zwei wird im Browser angezeigt
Funktionen, die ein True zurückgeben, wenn ein bestimmter Wert vorliegt
| is_nummeric() |
handelt sich um eine Zahl |
| is_string() |
liegt ein Sting vor |
| is_double() |
wird eine Fließkommazahl genutzt |
| is_integer() |
vorhandene Ganzzahl |
| is_object() |
genutztes Objekt |
Mit der Funktion intval() wird eine Variable (z.B. als Zeichenkette "1a")
in einen Ganzzahl-Wert konvertiert.
<?php
$vareins = "1a" ;
$vareins = intval ($vareins) ;
echo $vareins ;
// Ausgabe : 1
?>
Dies funktioniert nur , wenn die Zahl als erstes steht "1a"
Beispiel:
<?php
$vareins = "a1" ;
$vareins = intval ($vareins) ;
echo $vareins ;
// Ausgabe : 0
?>
Die Lösung dafür sind die Funktionen strval und doubleval.
Bei Variablen als Zahl stehen alle Grundrechenarten zur Verfügung.
<?php
$a = 1 ;
$b = 2 ;
echo $a + $b ;
echo $a - $b ;
echo $a * $b ;
echo $a / $b ;
?>
Durch ein doppeltes Dollarzeichen erfolgt ein besonderer Zugriff auf
Variablen.
<?php
$name = "Vorname" ;
$zugriff = "name" ;
echo $$zugriff ;
// Ausgegeben wird "Vorname"
?>
$$zugriff entspricht $name weil $zugriff "name" entspricht
In Bezug auf Zeichenketten herrscht häufig Unsicherheit, wo genau der
Unterschied zwischen einfachen und doppelten Anführungszeichen liegt.
So kommt ein
$x="Hallo Welt";
scheinbar auf das Gleiche heraus wie ein
$x='Hallo Welt';
Der Unterschied liegt im Automatismus beider Möglichkeiten. Bei doppelten
Anführungszeichen werden Variablen automatisch mit ihrem Wert ersetzt.
<?php
echo '\n' ; // Es wird /n ausgegeben
?>
<?php
echo "\n" ; // Es wird ein Umbruch ausgegeben (neue Zeile)
?>
<?php
$x=3 ;
echo '$x' ; Es wird $x ausgegeben
echo "$x"; Es wird 3 ausgegeben
?>
Konstanten define ()
Konstanten sind Variablen mit feststehenden Werten
<?php
define ("MEINEKONST" , "Hallo Welt") ;
echo MEINEKONST ;
?>
üblich ist es, Konstanten groß zu schreiben
Konstanten sind normalerweise Case-sensitiv
dritter Parameter für define() 1 oder 0
<?php
define ("MEINEKONST", "Hallo Welt",0) ;
echo meinekonst ;
define ("MEINEKONST2", "Hallo Welt",1) ;
echo meinekonst2;
?>
Operatoren und Ausdrücke
Operatoren sind z.B. das Gleichheitszeichen oder das Pluszeichen
mit Operatoren werden Ausdrücke gebildet
ein Ausdruck gibt immer "wahr" oder "falsch" zurück
| Operator |
Verwendung |
Funktion |
| + |
$a+$b |
=Summe von $a und $b |
| - |
$a-$b |
=Differenz von $a und $b |
| * |
$a*$b |
=Produkt von $a und $b |
| / |
$a/$b |
=Quotient von $a und $b |
| % |
$a%$b |
=Der Rest von $a dividiert durch $b (modulo) |
das Gleichheitszeichen als Zuweisungsoperator
$x=4
doppeltes Pluszeichen bedeutet eine Variable wird um 1 erhöht
Punkt in Zeichenketten bedeutet eine Verknüpfung von Zeichenketten
Beispiel:
<?php
$string = "Hallo";
$string.= "Welt" ;
echo $string; //Hallo Welt
$string2 = "Hallo Du";
$string2.= ",";
echo string2. "Benutzer"; //Hallo Du, Benutzer
?>
Zur Erstellung von Ausdrücken werden Vergleichsoperatoren eingesetzt.
|
Operator |
Verwendung |
Funktion |
| == |
$a==$b |
Wahr, wenn $a gleich $b ist. (doppeltes
Gleichheitszeichen) |
| != |
$a!=$b |
Wahr, wenn $a ungleich $b ist. |
| < |
$a<$b |
Wahr, wenn $a kleiner $b ist. |
| > |
$a>$b |
Wahr, wenn $a größer $b ist. |
| <= |
$a<=$b |
Wahr, wenn $a kleiner oder gleich $b ist. |
| >= |
$a>=$b |
Wahr, wenn $a größer oder gleich $b ist. |
| === |
$a===$b |
Wahr, wenn $a gleich $b ist und der Typ von $a
identisch mit dem Typ von $b ist. |
Funktionen programmieren
function
<?php
function gruss()
{
echo "Fühle Dich gegrüßt";
}
gruss();
?>
<?php
function summe ($a, $b)
{
$summe=($a+$b);
echo $summe;
}
summe(1000,111);
summe(1,3);
summe(2,4);
// ausgegeben wird 111146
?>
Variablen nur innerhalb der Funktion und auch nur innerhalb von Summe
werden verarbeitet.
<?php
function summe ($a,$b)
{
$Summe= ($a+$b);
echo $Summe;
}
$a = 7;
summe (3,4);
//$a ist 3, nicht 7!
?>
<?php
function ausgabe()
{
global$ausgabe; //ohne global passiert nichts!
echo $ausgabe;
}
$ausgabe="Hallo";
ausgabe();
ausgabe();
?>
Variable als statisch definieren mit Hilfe von static
<?php
function ausgabe()
{
static $zaeler;
$zaeler++;
echo $zaeler;
}
$zaeler=0;
ausgabe(); // es wird 1 angezeigt
ausgabe(); // es wird 12 angezeigt
ausgabe(); // es wird123 angezeigt
?>
Funktion mit Standardwert (ohne Parameter)
die Zuteilung des Standardwertes erfolgt durch das Gleichheitszeichen
<?php
function ausgabe($text="Kein Text")
{
echo $text;
}
ausgabe();
ausgabe("<br>Ein Text");
?>
Ausgabe des Skriptes:
Kein Text
Ein Text
Funktionen liefern einen Wert zurück, durch return
<?php
function summe($a,$b)
{
$summe=$a+$b;
return $summe;
}
$zahl=summe(10,4);
$zahl++;
echo $zahl; // Ausgabe 15
?>
Bedingungen und Schleifen
Bedingungsprüfung if-Anweisung
<?php
$zahl=1;
if($zahl==1) echo "Eine Eins!";
?>
Achtung zwei Gleichheitszeichen, ein einzelnes Gleichheitszeichen ist ein
Zuweisungsoperator
Bedingungen können durch AND (&&) und OR (||) beliebig verknüpft werden.
<?php
$zahl=1;
if($zahl==1 || $zahl==2) echo "Eine Zahl";
?>
if-Bedingungen erweitern durch else und elseif
<?php
$zahl=1;
if ($zahl==1) echo "Eine Eins";
else echo "Keine Eins";
?>
Weiterprüfungen duch elseif
<?php
$zahl=15;
if($zahl==15) echo "Fünfzehn";
elseif($zahl==16) echo" Sechzehn";
else echo "Nicht 15 oder 16";
?>
Überprüfung von Codeblöcken mittels geschweifter Klammern
<?php
$zahl=33;
if($zahl==33)
{echo "Dreiunddreißig";
echo "<br>";
}
else echo "Eine andere Zahl";
?>
switch
jedem Wert ist eine Aktion zugeordnet
dieses ist übersichtlicher als if-Bedingungen
<?php
$zahl=3;
switch($zahl)
{
case 3: echo "Eine Drei"; break;
}
?>
entspricht $zahl=1000 erfolgt die Ausgabe Eintausend Zweitausend, weil
break; hinter case 2000 steht
<?php
$zahl=2000;
switch($zahl)
{
case 1000: echo "Eintausend";
case 2000: echo "Zweitausend";
break;
}
?>
for Schleife
<?php
for ($i=0; $i<11;$i++)
{
echo $i;
echo"<br>";
}
?>
Ausgegeben wird:
0
1
2
3
4
5
6
7
8
9
10
while Schleife
<?php
$q=0;
while ($q <5)
{
echo $q;
$q++;
}
?>php
Abbruch von Schleifen durch break
<?php
$a=0;
while ($a<11)
{
$i=0;
while ($i<6)
{
if($i>3) break 1;
$i++;
}
$a++;
echo "<br>";
echo "a :$a";
}
?>
$i erhält maximal den Wert 3, danach "bricht" die Schleife auf dieser
Ebene ab.
Abbruch des Skriptes durch die Anweisung "exit".
<?php
exit("Ende");
echo "Endlich Schluss";
?>
Referenzen
Beispiel
<?php
$x=3;
$y=$x;
$y=4;
echo $x; // ausgegeben wird 3
?>
Änderung der Referenz durch das kaufmännische Und-Zeichen &
Beispiel
<?php
$x=3;
$y=&$x;
$y=4;
echo $x; // ausgegeben wird 4
?>
Beispiel
Durch das kaufmännische Und-Zeichen & wird die Variable $i berechnet. Bei
der Definition der Funktion Quadrat
wurde $u verwendet.
<?php
function quadrat (&$u)
{
$u=$u*$u;
}
$i=3
quadrat ($i);
echo $i; // ohne das kaufmännische Und-Zeichen & erfolgte die
Ausgabe 3 (echo $i)
?>
Arrays
Array bezeinet eine Variable, welche aus mehren Elementen besteht.
Arrays enthalten Bezeichner (oder Schlüssel oder Index genannt) für eine
bestimmte Speicherstelle im Array.
Der Bezeichner steht in eckiger Klammer.
<?php
$array ['vorname'] = "Vorname";
$array ['nachname'] = "Nachname";
echo $array ['vorname'];
?>
<?php
$i=0;
while ($i<21)
{
$array[]="Durchgang $i";
$i++;
}
print_r ($array);
?>
Durch die Funktion print_r() wird der gesamte Inhalt der Variable
angezeigt.
ausgegeben wird:
Array ( [0] => Durchgang 0 [1] => Durchgang 1 [2] => Durchgang 2 [3] =>
Durchgang 3 [4] => Durchgang 4 [5] => Durchgang 5 [6] => Durchgang 6 [7]
=> Durchgang 7 [8] => Durchgang 8 [9] => Durchgang 9 [10] => Durchgang 10
[11] => Durchgang 11 [12] => Durchgang 12 [13] => Durchgang 13 [14] =>
Durchgang 14 [15] => Durchgang 15 [16] => Durchgang 16 [17] => Durchgang
17 [18] => Durchgang 18 [19] => Durchgang 19 [20] => Durchgang 20 )
<?php
$array = array ('bezeichner' => 'Wert', 'key' => 'value');
echo $array ['key']; // Ausgabe value
?>
einem Bezeichner wird ein Wert zugeordnet (durch denOperator =>)
Mehrdimensionale Arrays
<?php
$array ['person1'] ['vorname']="Vorname";
$array ['person1'] [nachname']="Nachname";
?>
<?php
$array= array ('bezeichner' =>array( 'key' =>'value'));
echo $array ['bezeichner'] ['key'];
//Ausgabe value
?>
Konvertieren von Arrays
Über explode() wird eine Zeichenkette in ein Array verwandelt.
<?php
$Zeichenkette="Heute ist ein Feiertag";
$array=explode (" ", $Zeichenkette);
echo $array [3]; // Ausgabe: Feiertag
?>
Durch die Funktion extract() steht jedes Array-Element unter seinem
Bezeichner zur Verfügung.
<?php
$array= array ( 'vorname' => 'vorname',
'nachname' => 'meinname');
extract($array);
echo $nachname; //Ausgabe meinname
?>
Um aus den Werten von Variablen ein Array zu erstellen, wird die Funktion
compact () verwendet.
Beispiel:
<?php
$var1 = "banane";
$var2 = "birne";
$var3 = "apfel";
$array = compact("var1","var2","var3");
print_r($array);
?>
Ausgabe: Array ( [var1] => banane [var2] => birne [var3] => apfel )
Arrays miteinander vereinen durch array_merge()
<?php
$array1=array('wert1','wert2','wert3');
$array2=array('wert4','wert5');
$array=array_merge($array1,$array2);
print_r($array);
?>
ausgegeben wird:
Array ( [0] => wert1 [1] => wert2 [2] => wert3 [3] => wert4 [4] => wert5 )
Arrays verbinden durch array_combine()
<?php
$array1=array('wert1','wert2');
$array2=array('a1','b1');
$array=array_combine($array1,$array2);
print_r($array); // ausgegeben wird Array ( [wert1] => a1
[wert2] => b1 )
?>
in Arrays nach Elementen suchen durch array_search
Es wird zu einem Wert der entsprechende Bezeichner gesucht.
<?php
$array=array('a1' =>'5000', 'a2' => '6000');
$ergebnis = array_search ('6000', $array);
print_r($ergebnis); //ausgegeben wird a2
?>
alternativ dazu die Funktion in_array()
<?php
$array=array('a1' =>'5000', 'a2' => '6000');
$ergebnis = in_array ('6000', $array);
print_r($ergebnis); // ausgegeben wird 1(True)
?>
Sortieren von Arrays
sort() es erfolgt eine Sortierung von oben nach unten
rsort() es erfolgt die umgekehrte Sortierung
<?php
$array = range(1,20);
rsort($array);
echo implode(" | ",$array);
// ausgegeben wird: 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 |
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1
?>
für assoziative Arrays:
asort()
arsort()
Mischung von Arrays durch die Funktion:
shuffle()
Die Funktion shuffle() ist ein Zufallsgenerator für numerische Arrays.
<?php
$array = range(1,20);
shuffle($array);
echo implode(" | ",$array);
//ausgeben wird: 8 | 17 | 18 | 20 | 14 | 15 | 1 | 2 | 12 | 4 | 11 | 10 |
13 | 6 | 16 | 9 | 5 | 19 | 3 | 7
?>
Durchlaufen von Arrays
<?php
$array=array('wert1', 'wert2', 'wert3','wert44');
foreach ($array as $inhalt);
echo $inhalt; //Ausgabe: wert44
?>
<?php
$array = array ( 'wert1' => 'Inhalt1 ', 'wert2' => 'inhalt2');
while (list ($wert,$inhalt) = each ($array))
echo " $wert : $inhalt";
//Ausgabe: wert1 : Inhalt1 wert2 : inhalt2
?>
Zielgerichtetes Durchgehen von Arrays
<?php
$array = array ( 'Trabant', 'Wartburg', 'Lada', 'BMW', 'VW', 'Renault',
'Audi', 'Peugeot');
echo end ($array); // letztes
Element
echo current ($array); // Wert des aktuellen Elementes (Bezugspunkt)
echo prev ($array); // ein Wert zurück
echo next ($array); // ein Wert vor
echo key ($array); // Bezeichner des aktuellen
Elementes
echo reset($array); // zurücksetzen
echo current ($array);
echo key ($array);
?>
//Ausgabe: PeugeotPeugeotAudiPeugeot7TrabantTrabant0
Reguläre Ausdrücke
Reguläre Ausdrücke sind Suchmuster.
<?php
$string="Dominic";
if ( eregi ( "[abcdefghij]ominic", $string )) echo "enthalten";
// Ausgabe: enthalten
?>
<?php
$string="kaminski";
if (eregi ("[uvwxy||(abcdefghijk)]aminski",$string )) echo "enthalten";
//Operator || Oder
?>
Oder-Verknüpfungen (Pipe) können zum Suchen von Wörtern eingesetzt werden.
<?php
$string="Im Juli 2007 haben wir schlechtes Wetter";
if (eregi ("Juli | August | September",$string )) echo "enthalten";
?>
Der Punkt als Platzhalter:
<?php
$string="August";
if (eregi (".ugust",$string)) echo "enthalten"; // Ausgabe enthalten
?>
Durch das .* werden beliebig viele Zeichen zwischen "Ged" und "ld"
erfasst.
<?php
$string="Geduld";
if (eregi ("Ged(.*)ld", $string)) echo "enthalten" ;
?>
ersetzten String ausgeben:
<?php
$string="Übungsaufgabenbuch";
$string=eregi_replace( "Übungs(.*)buch", "\\1", $string);
echo $string; // Ausgabe aufgaben
?>
Wird ein ^ -Zeichen einem Ausdruck vorangestellt, wird nur mit dem Anfang
einer Zeichenkette verglichen.
<?php
$string1="Haustür";
$string2="Türsteher";
if ( eregi ("^Tür", $string1)) echo "enthalten in 1";
if ( eregi ("^Tür", $string2)) echo "enthalten in 2";
// ausgegeben wird: enthalten in 2
?>
Umfassende Prüfungen durch geschweifte Klammern (Delimiter). So kann
geprüft werden, ob ein Zeichen viermal
hintereinander vorhanden ist.
<?php
$string="Romyyyyyyy";
if( eregi( "y{5}", $string)) echo "enthalten";
?>
Fehler in PHP-Skripten
Meldungen
1. Hinweise (Notices)
Der Code ist unschön geschrieben.
z.B.
<?php
echo $array [vorname];
?>
so ist es richtig:
<?php
echo $array ['vorname']
?>
2. Warnungen
Fehler im Code, führen nicht zum Abbruch des Skriptes
3. Fatal Error, Parse Error
Ein Fatal Error führt zum Abbruch des Skriptes.
z.B. vergessenes Semikolon am Ende einer Anweisung
Safe Mode
Serverseitig werden Befehle von der Benutzung in Skripten ausgeschlossen.
Funktionen
Funktionen für Zeichenketten (Zeichenketten-Funktionen)
Die Funktionen dienen der Analyse, Umwandlung und Bearbeitung von Zeichen
und Zeichenketten.
Funktionen zur Analyse
strlen()
ermittelt die Länge einer Zeichenkette (Anzahl der Zeichen)
Beispiel:
<?php
$a=Zeichenkette;
$b=ChristophBurghardt;
echo strlen($a)."<br/>"; //Absatz erzeugen durch ."<br/>"
echo strlen($b);
?>
count_chars()
Die Häufigkeit des Vorkommens jedes einzelnen Zeichens wird gezählt.
Beispiel:
<?php
$a=Beispielzeichenkette;
echo count_chars($a,0); // Ausgabe: array
?>
<?php
$a=Beispielzeichenkette;
echo count_chars($a,3); //Ausgabe: einen String mit allen vorkommenden
Zeichen Bcehiklnpstz
?>
str_word_count()
Ermittelt die Anzahl der Wörter innerhalb einer Zeichenkette.
Beispiel:
<?php
$a="Ich will mir eine Honda Fireblade kaufen.";
echo str_word_count($a,0); //Ausgabe: 7
?>
Bearbeitungsfunktionen
strtolower()
liefert den String (Zeichenkette) komplett in Kleinbuchstaben zurück
Beispiel:
<?php
$a="Honda";
echo strtolower($a); // Ausgabe: honda
?>
strtoupper()
liefert den String komplett in Großbuchstaben zurück
Beispiel:
<?php
$a="Honda";
echo strtoupper($a); // Ausgabe: HONDA
?>
ucfirst()
wandelt den ersten Buchstaben einer Zeichkette in einen Großbuchstaben um
Beispiel:
<?php
$a="über";
echo ucfirst($a); // Ausgabe: Über
?>
ucwords()
wandelt den ersten Buchstaben aller Wörter einer Zeichenkette in ein
Großbuchstaben um
Beispiel:
<?php
$a= "Heute ist schönes Wetter."; // Ausgabe: Heute Ist Schönes Wetter.
echo ucwords($a);
?>
Bereinigung
chop() oder rtrim()
entfernt alle Whitespaces und Leerzeichen am Ende einer Zeichenkette
(Whitespaces= \n, \r, \t, \v, \0 )
ltrim()
entfernt alle Whitespaces und Leerzeichen am Anfang einer Zeichenkette (l
steht für "leading whitespaces")
trim()
entfernt alle Whitespaces und Leerzeichen am Anfang und am Ende einer
Zeichenkette
Zerteilung und Zusammenführung
explode()
explode(separator, string, limit)
teilt einen String anhand von Trennzeichen
ist der Parameter Limit vorhanden, wird der String nur bis zu diesem
Parameter zerlegt
Beispiel:
<?php
$b= "Haus 1 Garten 1 Insel 1 Brücke 1 Fenster 1 Schaukel 3 Museum 1
Bahnhof 1 Mädchen";
$array = explode (1, $b, 7);
print_r($array);
// Ausgabe: Array ( [0] => Haus [1] => Garten [2] => Insel [3] => Brücke
[4] => Fenster [5] => Schaukel 3 Museum [6] => Bahnhof 1 Mädchen )
?>
implode() oder join()
implode(string glue, array parts)
verbindet die Elemente eines Arrays, Verbindung durch den Parameter glue
Beispiel:
<?php
$a=array('Vorname', 'Andreas');
$b=implode( ':',$a);
echo $b; //Ausgabe: Vorname:Andreas
?>
substr()
substr(string, start, length)
liefert einen Teil der Zeichenkette zurück
Beispiel:
<?php
$a="123456789";
echo substr($a, 1, 5); // Ausgabe: 23456
?>
str_pad()
str_pad(string, length, pad, pad_type) pad_type: STR_PAD_LEFT,
STR_PAD_BOTH, STR_PAD_RIGHT
erweitert die Zeichenkette
Beispiel:
<?php
$a=Christoph;
$b=Romy;
$c=str_pad($a, 20, $b, STR_PAD_BOTH);
echo $c; // Ausgabe: RomyRChristophRomyRo
?>
Suchen und Ersetzen
strpos()
strpos(String, gesuchter String, Startwert)
Beispiel:
<?php
$a="Drogenstrich Hamburg St.Georg";
echo strpos($a, "St.",3); //Ausgabe: 21
?>
strrpos()
sucht das letzte Vorkommen des Zeichens
numerischer Wert
bei einem negativen Suchergebnis liefert strrpos() False
Beispiel:
<?php
$a="Afghanistan";
echo strrpos($a, "a"); // Ausgabe: 9
?>
substr_count()
gibt die Anzahl des Vorkommens des gesuchten Strings an
bei negativem Suchergebnis 0
Beispiel:
<?php
$a="strstrstr";
echo substr_count($a,"str"); //Ausgabe: 3
?>
strstr()
sucht das erste Vorkommen des Suchstrings
gibt den Suchstring mit dem Reststring zurück
Diese Funktion unterscheidet Klein- und Großschreibung.
Beispiel:
<?php
$a='Entlasten Sie sich durch ein konsequentes "Nein" wie angemerkt, hat
nicht
der Tag zu wenig Stunden, sondern Sie zu viele Aktivitäten.';
echo strstr($a,'sondern'); //Ausgabe: sondern Sie zu viele Aktivitäten.
?>
stristr()
sucht das erste Vorkommen des Suchstrings
gibt den Suchstring mit dem Restring zurück
Diese Funktion unterscheidet nicht Klein- und Großschreibung (case
insensitive).
Beispiel:
<?php
$a="Klein- und Großschreibung";
$b= stristr($a, "n");
echo $b; //Ausgabe: n- und Großschreibung
?>
strchr()
entspricht der Funktion strstr(), nur soll needle als einzelnes Zeichen
angegeben werden
Die Funktion sucht das erste Vorkommen des Zeichens und gibt den
Reststring zurück.
Beispiel:
<?php
$a="Klein- und Großschreibung";
echo strchr($a, "-"); //Ausgabe: - und Großschreibung
?>
strrchr()
sucht das letzte Vorkommen des gesuchten Zeichens
gibt das gesuchte Zeichen und den Reststring zurück
Beispiel:
<?php
$a="Klein- und Großschreibung";
echo strrchr($a, "i"); //Ausgabe: ibung
?>
ist needle kein String oder Zeichen erfolgt die Umwandlung in ein
ASCII-Zeichen (dem Zahlenwert entsprechend)
Beispiel:
<?php
$a="Klein- und Großschreibung";
echo strrchr($a, 105); //Ausgabe: ibung
?>
substr_replace()
substr_replace(string1, string2, start, length)
Mit dieser Funktion ersetzt man einen Teil der Zeichenkette.
Beispiel:
<?php
$a="Christoph Burghardt";
$b="Lisa Burghardt";
echo substr_replace($a, $b, 0,19); //Ausgabe: Lisa Burghardt
?>
str_replace()
str(gesuchter String, neuer Sring, gesamter String)
Innerhalb einer Zeichenkette (gesamter String) wird ein String gesucht und
durch einen neuen ersetzt.
Beispiel:
<?php
$a= "Heute, am 24.08.2007, fahre ich mit dem Motorrad nach St.Georg.";
echo str_replace("Motorrad", "Auto", $a); //Ausgabe: Heute, am 24.08.2007,
fahre ich mit dem Auto nach St.Georg.
?>
Manipulationen
strrev()
Diese Funktion dreht eine Zeichenkette um.
Beispiel:
<?php
$a="Alles Große und Edle ist einfacher Art";
echo strrev($a); //Ausgabe: trA rehcafnie tsi eldE dnu eßorG sellA
?>
str_shuffle()
Diese Funktion ordnet die Zeichen einer Zeichenkette zufällig an.
Beispiel:
<?php
$a="Der Verzicht hat oft einen besseren Geschmack, als das Verlangen.";
echo str_shuffle($a); //Ausgabe: VnfeannrDrclshstens o nhek irmehab.tceG
edrczesg ,as lteie aVea
?>
HTML-Entities
Entities dienen zur Darstellung von Sonderzeichen in HTML.
Ein Entity beginnt mit einem "&" und endet mit einem Semikolon.
Dazwischen befinden sich maximal 6 Buchstaben.
htmlentities()
htmlentities(String, Konstante, Zeichensatz)
Diese Funktion wandelt alle Sonderzeichen einer Zeichenkette in die
entsprechenden Entities um.
mögliche Konstanten:
ENT_COMPAT Es werden nur doppelte Anführungszeichen konvertiert.
ENT_QUOTES Es werden alle Anführungszeichen konvertiert.
ENT_NOQUOTES Es werden keine Anführungszeichen konvertiert.
Der standardmäßige Zeichensatz ist ISO-8859-1.
Beispiel:
<?php
$a="<<>>'''";
echo htmlentities($a, ENT_NOQUOTES); //Ausgabe im Quelltext:<<>>'''
?>
htmlspecialchars()
Diese Funktion wandelt nur HTML-spezifische Sonderzeichen in die
entsprechenden Entities um.
get_html_translation_table()
Gibt die Übersetzungstabelle an, welche von HTML_ENTITIES oder
HTML_SPECIALCHARS benutzt wird.
Beispiel:
<?php
$a= get_html_translation_table(HTML_SPECIALCHARS);
print_r($a);
// Ausgabe im Quelltext:
Array
(
["] => "
[<] => <
[>] => >
[&] => &
)
?>
<?php
$a= get_html_translation_table(HTML_ENTITIES);
print_r($a);
// Ausgabe im Quelltext:
Array
(
[ ] =>
[¡] => ¡
[¢] => ¢
[£] => £
[¤] => ¤
[¥] => ¥
[¦] => ¦
[§] => §
[¨] => ¨
[©] => ©
[ª] => ª
[«] => «
[¬] => ¬
[] => ­
[®] => ®
[¯] => ¯
[°] => °
[±] => ±
[²] => ²
[³] => ³
[´] => ´
[µ] => µ
[¶] => ¶
[·] => ·
[¸] => ¸
[¹] => ¹
[º] => º
[»] => »
[¼] => ¼
[½] => ½
[¾] => ¾
[¿] => ¿
[À] => À
[Á] => Á
[Â] => Â
[Ã] => Ã
[Ä] => Ä
[Å] => Å
[Æ] => Æ
[Ç] => Ç
[È] => È
[É] => É
[Ê] => Ê
[Ë] => Ë
[Ì] => Ì
[Í] => Í
[Î] => Î
[Ï] => Ï
[Ð] => Ð
[Ñ] => Ñ
[Ò] => Ò
[Ó] => Ó
[Ô] => Ô
[Õ] => Õ
[Ö] => Ö
[×] => ×
[Ø] => Ø
[Ù] => Ù
[Ú] => Ú
[Û] => Û
[Ü] => Ü
[Ý] => Ý
[Þ] => Þ
[ß] => ß
[à] => à
[á] => á
[â] => â
[ã] => ã
[ä] => ä
[å] => å
[æ] => æ
[ç] => ç
[è] => è
[é] => é
[ê] => ê
[ë] => ë
[ì] => ì
[í] => í
[î] => î
[ï] => ï
[ð] => ð
[ñ] => ñ
[ò] => ò
[ó] => ó
[ô] => ô
[õ] => õ
[ö] => ö
[÷] => ÷
[ø] => ø
[ù] => ù
[ú] => ú
[û] => û
[ü] => ü
[ý] => ý
[þ] => þ
[ÿ] => ÿ
["] => "
[<] => <
[>] => >
[&] => &
)
?>
Umkehrung der Übersetzungsrichtung durch die Funktion array_flip().
Beispiel:
<?php
$a= get_html_translation_table(HTML_ENTITIES);
$b=array_flip($a);
print_r($b);
Ausgabe im Quelltext:
Array
(
[ ] =>
[¡] => ¡
[¢] => ¢
[£] => £
[¤] => ¤
[¥] => ¥
[¦] => ¦
[§] => §
[¨] => ¨
[©] => ©
[ª] => ª
[«] => «
[¬] => ¬
[­] =>
[®] => ®
[¯] => ¯
[°] => °
[±] => ±
[²] => ²
[³] => ³
[´] => ´
[µ] => µ
[¶] => ¶
[·] => ·
[¸] => ¸
[¹] => ¹
[º] => º
[»] => »
[¼] => ¼
[½] => ½
[¾] => ¾
[¿] => ¿
[À] => À
[Á] => Á
[Â] => Â
[Ã] => Ã
[Ä] => Ä
[Å] => Å
[Æ] => Æ
[Ç] => Ç
[È] => È
[É] => É
[Ê] => Ê
[Ë] => Ë
[Ì] => Ì
[Í] => Í
[Î] => Î
[Ï] => Ï
[Ð] => Ð
[Ñ] => Ñ
[Ò] => Ò
[Ó] => Ó
[Ô] => Ô
[Õ] => Õ
[Ö] => Ö
[×] => ×
[Ø] => Ø
[Ù] => Ù
[Ú] => Ú
[Û] => Û
[Ü] => Ü
[Ý] => Ý
[Þ] => Þ
[ß] => ß
[à] => à
[á] => á
[â] => â
[ã] => ã
[ä] => ä
[å] => å
[æ] => æ
[ç] => ç
[è] => è
[é] => é
[ê] => ê
[ë] => ë
[ì] => ì
[í] => í
[î] => î
[ï] => ï
[ð] => ð
[ñ] => ñ
[ò] => ò
[ó] => ó
[ô] => ô
[õ] => õ
[ö] => ö
[÷] => ÷
[ø] => ø
[ù] => ù
[ú] => ú
[û] => û
[ü] => ü
[ý] => ý
[þ] => þ
[ÿ] => ÿ
["] => "
[<] => <
[>] => >
[&] => &
)
?>
nl2br()
Diese Funktion ergänzt alle PHP-Umbruchzeichen (\n) mit den entsprechenden
HTML-Umbruchzeichen (<br/>.
Beispiel:
<?php
$a="meine\n\n\nZeichenkette";
echo nl2br($a);
//Ausgabe im Quelltext:
meine<br />
<br />
<br />
Zeichenkette
?>
Vergleichsfunktionen
strcmp()
strcmp(string1,string2)
Diese Funktion führt einen binären Vergleich durch.
1.Beispiel:
<?php
$a="jkl";
$b="zz";
echo strcmp($a,$b); //Ausgabe:-1
?>
2.Beispiel:
<?php
$a="z";
$b="Z";
echo strcmp($a,$b); //Ausgabe:1
?>
Rückgabewerte:
0=die Zeichenketten sind identisch
1=string1 > string2
-1=string1 < string2
strcasecmp()
Diese Funktion entspricht der Funktion strcmp(), ist aber Case-insensitiv.
<?php
$a="z";
$b="Z";
echo strcasecmp($a,$b); //Ausgabe:0
?>
Natürlicher Vergleich
strnatcmp()
Diese Funktion führt einen natürlichen Vergleich durch.
Beispiel:
<?php
$a=array('Haus12', 'Haus2', 'Haus10', 'Haus1');
$b=array('Haus12','Haus2','Haus10','Haus1');
usort($a,'strcmp');
usort($b, 'strnatcmp');
echo "binäre Sortierung:<br/>";
print_r ($a);
echo "<br/>";
echo 'natürliche Sortierung:<br/>';
print_r ($b);
?>
//Ausgabe:
binäre Sortierung:
Array ( [0] => Haus1 [1] => Haus10 [2] => Haus12 [3] => Haus2 )
natürliche Sortierung:
Array ( [0] => Haus1 [1] => Haus2 [2] => Haus10 [3] => Haus12 )
strnatcasecmp()
entspricht der Funktion strnatcmp() - ist aber Case-insensitive
Rückgabewerte:
0=die Zeichenketten sind identisch
1=string1 > string2
-1=string1 < string2
Ähnlichkeitsvergleich
similar_text()
similar_text(string1, string2, percent)
Beispiel:
<?php
$a="Mayer";
$b="Mueller";
echo similar_text($a,$b); //Ausgabe:3
echo similar_text("Mayer", "maier"); //Ausgabe:3
?>
levenshtein()
Diese Funktion berechnet die minimale Anzahl von Zeichen, welche
eingefügt, ersetzt oder gelöscht werden müssen,
um den String1 in den String2 umzuwandeln.
Beispiel:
<?php
$a="Christoph Burgardt";
$b="Lisa Burghardt";
echo levenshtein($a,$b); //Ausgabe: 8
?>
Ausgabefunktionen
echo()
bei doppelten Anführungszeichen Ausgabe des Variableninhalts
bei einfachen Anführungszeichen Ausgabe eines Sprachkonstrukts
Beispiel:
<?php
$a="Heute ist schönes Wetter.";
echo "$a"; //Ausgabe: Heute ist schönes Wetter.
echo "<br/>"; //Absatz in PHP
echo '$a'; //Ausgabe: $a
?>
print()
Die Funktionsklammern sind nicht erforderlich.
printf()
printf(Format,String)
Die Formatierungsanweisungen fangen mit einem Prozentzeichen an.
0 oder Leerzeichen, Auffüllung des Strings
- Ausrichtung des Stings links
Länge des Strings
Anzahl der Dezimalstellen
Formatangaben:
b, Integer Binärwert
c, Integer ASCII-Zeichen
d, Integer Dezimalwert signed
u, Integer Dezimalwert unsigned
f, float Fließkommazahl
o, Integer Oktazahl
s, String
x, Integer Hexadezimalzahl Kleinbuchstaben
X, Integer Hexadezimalzahl Großbuchstaben
Beispiel:
<?php
$a=(21);
printf("%010d%020d",$a,$a); //Ausgabe: 000000002100000000000000000021
?>
sprintf()
Diese Funktion gibt wie printf() einen formatierten String zurück.
Allerdings nicht als Ausgabe auf der Konsole.
str_repeat()
str_repeat(string,n)
ermöglicht ein Wiederholen der Zeichenkette
Beispiel:
<?php
$a="5025";
echo str_repeat($a,3); //Ausgabe: 502550255025
?>
Zeichenfunktionen
chr()
Umwandlung eines ASCII-Wertes in die symbolische Darstellung
Beispiel:
<?php
$a="60";
echo chr($a); //Ausgabe: <
?>
ord()
Gegenstück zu chr()
Beispiel:
<?php
$a="<";
echo ord($a); //Ausgabe: 60
?>
Mathematische Funktionen
abs()
Absolutwert
Beispiel:
<?php
$a="-0.001";
echo abs($a); //Ausgabe: 0.001
?>
ceil()
Aufrunden einer Zahl
Beispiel:
<?php
$a="-4.5";
echo ceil($a); //Ausgabe: -4
?>
floor()
Abrunden einer Zahl
Beispiel:
<?php
$a="-4.5";
echo floor($a); //Ausgabe: -5
?>
round()
round(Zahl, Nachkommastelle zum Runden)
entspricht dem kaufmännischem Runden
Beispiel:
<?php
$a="1.5555555";
echo round($a,4); //Ausgabe: 1,5556
?>
exp()
exp(float number)
gibt die Potenz e hoch number zurück
e = eulersche Zahl ~ 2,71828
Beispiel:
<?php
$a="2";
echo exp($a); //Ausgabe: 7.38905609893
?>
log()
log(float numer)
Basis ist e~2,71828
Beipiel:
<?php
$a="9";
echo log($a); //Ausgabe: 2.19722457734
?>
Probe: e hoch 2.19722457734 = 9
log10()
Basis ist 10
Beispiel:
<?php
$a="9";
echo log10($a); //Ausgabe: 0.954242509439
?>
Probe: 10 hoch 0.954242509439 = 9
pow()
pow(Basis, Exponent)
Beispiel:
<?php
$a="6";
$b="2";
echo pow($a,$b); //Ausgabe: 36
?>
sqrt()
berechnet die Quadratwurzel
Beispiel:
<?php
$a="121";
echo sqrt($a); //Ausgabe: 11
?>
max()
numerisch größter Eingabewert
Beispiel:
<?php
$a="1";
$b="0.001;
$c="-0.001;
echo max($a,$b,$c); //Ausgabe: 1
?>
min()
numerisch kleinster Eingabewert
Beispiel:
<?php
$a="1";
$b="7";
$c="-1";
$d="-1.11";
echo min($a,$b,$c,$d); //Ausgabe: -1.11
?>
Kreiszahl
π
pi()
Beispiel:
<?php
echo pi(); //Ausgabe: 3.14159265359
?>
PHP-Konstante M_PI
Beispiel:
<?php
echo M_PI; //Ausgabe: 3.14159265359
?>
Trigonometrische Funktionen
Umrechnung der Gradzahl des Winkels in das entsprechende Bogenmaß
Bogenmaß= Grad x π /180
Umwandlungsfunktionen
deg2rad()
Umwandlung des Winkels von Grad in Bogenmaß
Beispiel:
<?php
$a=90;
echo deg2rad($a); // Ausgabe: 1.57079632679
?>
rad2deg()
Umwandlung des Winkels von Bogenmaß in Grad
Beispiel:
<?php
$a=1.57079632679;
echo rad2deg($a); //Ausgabe: 89.9999999997
?>
sin()
Eingabe im Bogenmaß
Beispiel:
<?php
$a=90;
echo sin(deg2rad($a)); //Ausgabe: 1
?>
cos()
Eingabe im Bogenmaß
Beispiel:
<?php
$a=180;
echo cos(deg2rad($a)); //Ausgabe: -1
?>
tan()
Eingabe im Bogenmaß
Beispiel:
<?php
$a=45;
echo tan(deg2rad($a)); //Ausgabe: 1
?>
asin()
Arcus-Sinus (Arcus, Arkus lat. Bogenmaß eines Winkels)
Ausgabe im Bogenmaß, Umwandlung in Grad durch rad2deg()
Beispiel:
<?php
$a=1;
echo rad2deg(asin($a)); //Ausgabe: 90
?>
acos()
Arcus-Cosinus
Ausgabe im Bogenmaß, Umwandlung in Grad durch rad2deg()
Beispiel:
<?php
$a=(-1);
echo rad2deg(acos($a)); //Ausgabe: 180
?>
atan()
Arcus-Tangens
Beispiel:
<?php
$a=1;
echo rad2deg(atan($a)); //Ausgabe: 45
?>
atan2()
Arcus-Tanges ermittelt aus dem X- und Y-Wert
Beispiel:
<?php
$a=1; //X-Wert
$b=1; //Y-Wert
echo rad2deg(atan2($a,$b)); //Ausgabe: 45
?>
Konvertierungsfunktionen
Zahlensysteme
Dual, Basis 2, benutzte Ziffern 0 und 1, Beispiel: 111 Dual
1*2^2 + 1*2^1+1*2^0 = 7 Dezimal
Oktal, Basis 8, benutzte Ziffern 0 bis 7, Beispiel: 323 Oktal 3*8^2
+ 2*8^1 + 3*8^0 = 211 Dezimal
Dezimal, Basis 10, benutzte Ziffern 0 bis 9
Hexadezimal, Basis 16, benutzte Ziffern 0 bis 9, benutzte Zeichen A
bis F, A=10, B=11, C=12, D=13, E=14, F=15
Beispiel: 1C13 Hexadezimal 1*16^3 + 12*16^2 + 1*16^1 + 3*16^0 = 7187
Dezimal
Universelle Konvertierungen
base_convert()
base_convert(string, fromebase, tobase)
Beispiele:
<?php
$a=111;
echo base_convert($a, 2, 10); //Ausgabe: 7
?>
<?php
$a="1C13";
echo base_convert($a, 16, 10); // Ausgabe: 7187 von Hexadezimal (16) nach
Dezimal (10)
?>
Dezimale Konvertierungen
bindec()
binär in dezimal
Beispiel:
<?php
$a="001000111110000111";
echo bindec($a); //Ausgabe: 36743
?>
decbin()
dezimal in binär
<?php
$a="36743";
echo decbin($a); //Ausgabe:
1000111110000111
?>
octdec()
oktal in dezimal
Beispiel:
<?php
$a="323";
echo octdec($a); //Ausgabe: 211
?>
decoct()
dezimal in oktal
Beispiel:
<?php
$a="211";
echo decoct($a); //Ausgabe: 323
?>
hexdec()
hexadezimal in dezimal
Beispiel:
<?php
$a="1C13";
echo hexdec($a); //Ausgabe: 7187
?>
dechex()
dezimal in hexadezimal
Beispiel:
<?php
$a="7187";
echo dechex($a); //Ausgabe: 1c13
?>
Zufallsgeneratoren
rand()
rand(min,max)
Beispiel:
<?php
$a=getrandmax(); // größtmöglichster Zufallswert
$b=10; // kleinstmöglichster Zufallswert 10
echo $a; // Ausgabe: 32767
echo "<br/>";
echo rand($b,$a); //Ausgabe: Zufallswert
?>
Ab der PHP-Version 4.2.0 ist es nicht mehr notwendig, den Zufallsgenerator
über die Funktion srand()
zu initialisieren.
mt_rand()
mt_rand(min,max)
Beispiel:
<?php
$a=mt_getrandmax(); // größtmöglichster Zufallswert
$b=100;
echo $a; //Ausgabe:
2147483647 über 2 Milliarden Zufallswerte
echo "<br/>";
echo mt_rand($b,$a); //Ausgabe: Zufallswert
?>
Formatierungen
number_format()
number_format( Zahl, Anzahl der Dezimalstellen, Trennzeichen zwischen der
Ganzzahl und den Dezimalstellen,
Trennzeichen zwischen den Tausendern )
Beispiel:
<?php
$a="1000000";
$b="5000,50";
$c="11110,00003";
echo number_format($a); //Ausgabe: 1,000,000 (ohne Angabe erfolgt die
Darstellung
echo "<br/>";
// mit einem Komma zwischen den Tausendern)
echo number_format($b,2); //Ausgabe: 5,000.00 (ohne Angabe erfolgt die
Darstellung mit einem Punkt
echo "<br/>";
//zwischen der Ganzzahl und den Dezimalstellen)
echo number_format($c,10,",","."); //Ausgabe: 11.110,0000000000
?>
money_format()
money_format(Format,Zahl)
funktioniert nicht auf den Windows-Systemen
Beispiel:
<?php
$number = 1234.56;
setlocale(LC_ALL, 'de_DE');
echo money_format('%i', $number); //Ausgabe: 1.234,56 EUR
?>
Datum und Uhrzeit
Es werden das Datum und die Uhrzeit vom Server abgefragt.
date()
date(Format, Timestamp)
Die Angabe von Timestamp ist optional. Fehlt die Angabe von Timestamp,
dann wird das aktuelle Datum und die aktuelle
Uhrzeit angezeigt. Der Parameter Timestamp wird in Form einer positiven
oder negativen Dezimalzahl angegeben.
Diese Dezimalzahl enthält die Anzahl der vergangenen Sekunden ab dem 1.
Januar 1970 00:00:00 GMT (Beginn
der Unix-Epoche). Die maximale Größe der Dezimalzahl beträgt 32 Bit.
Die Zeichen, die nicht formatiert werden sollen, müssen mit einem
Backslash escapt werden (\D\a usw.).
Weiterhin müssen einfache Anführungszeichen verwendet werden, ansonsten
wird \n nicht als n sondern als Zeilenumbruch
dargestellt.
Beispiele:
<?php
echo date('\D\a\t\u\m \u\n\d \U\h\r\z\e\i\t M l H\:i\:s');
//Ausgabe:
Datum und Uhrzeit Sep Monday 11:22:34
?>
<?php
echo date('\D\a\t\u\m \u\n\d \U\h\r\z\e\i\t Y M d l H\:i\:s',-494748388);
//Ausgabe: Datum und Uhrzeit 1954 Apr 28
// Wednesday 18:53:32
?>
<?php
echo date('\D\a\t\u\m \u\n\d \U\h\r\z\e\i\t Y M d l H\:i\:s',494748388);
//Ausgabe:
Datum und Uhrzeit 1985 Sep 05
// Thursday 08:06:28
?>
zugelassene Zeichen:
a= am oder pm
A= AM oder PM
B= Swatch-Internetzeit
d= Tag des Monats (zweistellig z.B. 03)
D= Tag der Woche mit drei Buchstaben (z.B. Mon)
F= Monat als ganzes Wort (z.B. December)
g= 12-Stunden-Format ohne führende 0
G= 24-Stunden-Format ohne führende 0
h= 12-Stunden-Format mit führender 0
H= 24-Stunden-Format mit führender 0
i= Minuten mit führender 0
I= Sommerzeit (1 ja, 0 nein)
l= ausgeschriebener Tag der Woche (z.B. Saturday)
L= Schaltjahr (1 ja, 0 nein)
m= Monat als Zahl mit führender 0
M= Monatsname mit drei Buchstaben
n= Monat als Zahl ohne führende 0
O= Zeitunterschied zur Greenwich Time GMT in Stunden
r= RFC 822-formatiertes Datum
s= Sekunden mit führender 0
S= Anhang der englischen Aufzählung für einen Monatstag (mit j empfohlen)
jS
t= Anzahl der Tage des angegebenen Monats
T= Zeitzoneneinstellung des Rechners
U= Sekunden seit Beginn der Unix-Epoche = time()
w= numerischer Tag einer Woche (0 für Sonntag, 1 für Montag)
W= Wochennummer des Jahres ISO-8601
y= Jahreszah,l zweistellig
Y= Jahreszahl, vierstellig
z= der Tag eines Jahres
Z= Offset (Ausgleich) der Zeitzone in Sekunden
mktime()
mktime(Stunde, Minute, Sekunde, Monat, Tag, Jahr)
Die Funktion mktime() liefert den Unix-Timestamp.
<?php
$a=mktime(0,0,0,9,9,1985);
echo date('Y M d l H\:i\:s', $a); //Ausgabe:
1985 Sep 09 Monday 00:00:00
?>
time()
Die Funktion time() liefert den gegenwärtigen Timestamp.
strtotime()
strtotime(Datum,Timestamp)
Jedes beliebige Datum (englisches Format) wird in den entsprechenden
Unix-Timestamp umgewandelt.
Fehlt der zweite Parameter, wird die aktuelle Systemzeit verwendet.
Beispiel:
<?php
$a=strtotime(yesterday,494748388);
$b=strtotime(tomorrow,494748388);
echo date('Y M d l H\:i\:s', $a); //Ausgabe:
1985 Sep 04 Wednesday 00:00:00
echo "<br/>";
echo date('Y M d l H\:i\:s', $b); //Ausgabe:
1985 Sep 06 Friday 00:00:00
?>
getdate()
getdate(Timestamp)
Diese Funktion wandelt den Timestamp in ein zusammengesetztes Array um.
Elemente des Array's:
seconds Sekunden
minutes Minuten
hours Stunden
mday Tag des Monats
wday Tag der Woche
mon Monat
year Jahr
yday Tag des Jahres
weekday Tag der Woche
month Monat
Beispiel:
<?php
$a=getdate(496250100);
echo $a['seconds'];
echo "<br/>";
echo $a['minutes'];
echo "<br/>";
echo $a['hours'];
echo "<br/>";
echo $a['mday'];
echo "<br/>";
echo $a['wday'];
echo "<br/>";
echo $a['mon'];
echo "<br/>";
echo $a['year'];
echo "<br/>";
echo $a['yday'];
echo "<br/>";
echo $a['weekday'];
echo "<br/>";
echo $a['month'];
?>
//Ausgabe:
0
15
17
22
0
9
1985
264
Sunday
September
Formatierte Ausgabe
strftime()
strftime(Format, Timestamp)
Beispiel:
unterstützte Formate auf einem Windows-System
<?php
echo strftime('%a %A %b %B %c %d %H %M %y %Z %Y %X %x %w %U %S %p %%',496250100);
//Ausgabe:
Sun Sunday Sep September 09/22/85 17:15:00 22 17 15 85 Mitteleuropäische
Sommerzeit 1985 17:15:00
//09/22/85 0 38 00 PM %
?>
Gültigkeit des Datums
checkdate()
checkdate( Monat, Tag, Jahr)
Suche nach Schaltjahren - (2,29,xxxx)
Beispiel:
<?php
echo checkdate(2,29,1984); //Ausgabe: 1( für True )
?>
Ermittlung des Alters (Beispielaufgabe)
<?php
$a= time();
$b=mktime(0,0,0,2,21,1969);
$c=($a-$b);
echo "Alter: " . floor($c/(365.25*24*60*60)); // Ausgabe: Alter: 38
?>
localtime()
localtime(Timestamp,0 oder 1 oder keine Angabe)
Diese Funktion liefert einen Array.
0 oder keine Angabe= regulärer, numerisch indizierter Array
1= assoziativer Array
Beispiel:
<?php
print_r (localtime(time(),0)); //Ausgabe:
Array ( [0] => 56 [1] => 13 [2] => 14 [3] => 5 [4] => 8 [5] => 107 [6] =>
3
// [7] => 247 [8] => 1 )
?>
<?php
print_r (localtime(time(),1)); //Ausgabe:
Array ( [tm_sec] => 59 [tm_min] => 17 [tm_hour] => 14 [tm_mday] => 5
// [tm_mon] => 8 [tm_year] => 107 [tm_wday] => 3 [tm_yday] => 247 [tm_isdst]
=> 1 )
?>
tm_sec Sekunde
tm_min Minute
tm_hour Stunde
tm_mday Tag des Monats
tm_mon Monat des Jahres, beginnt bei 0 für Januar
tm_year Jahr seit 1900
tm_wday Tag der Woche
tm_yday Tag des Jahres
tm_isdst für das Datum ist die Sommerzeit zu berüchsichtigen
gettimeofday()
Zeitangabe als assoziatives Array
Beispiel:
<?php
print_r (gettimeofday()); //Ausgabe:
Array ( [sec] => 1189015854 [usec] => 971374 [minuteswest] => -120
// [dsttime] => 1 )
?>
sec Sekunden
usec Mikrosekunden
minuteswest Minuten westlich von Greenwich
dsttime Art der Korrektur der Sommerzeit
Kalenderfunktionen
Gregorianischer Kalender
Julianischer Kalender
Julianisches Datum (Anzahl der Tage seit dem 1.1.4713 v.Chr.)
gregorianisches Datum 15. Oktober 1582 entspricht dem julianischem Datum
5. Oktober 1582
cal_info()
liefert Informationen über den angegebenen Kalender
0 Gregorianischer Kalender
1 Julianischer Kalender
2 Jüdischer Kalender
3 Kalender der französischen Revolution
Beispiele:
<?php
print_r(cal_info(0));
?>
//Ausgabe:
Array
(
[months] => Array
(
[1] => January
[2] => February
[3] => March
[4] => April
[5] => May
[6] => June
[7] => July
[8] => August
[9] => September
[10] => October
[11] => November
[12] => December
)
[abbrevmonths] => Array
(
[1] => Jan
[2] => Feb
[3] => Mar
[4] => Apr
[5] => May
[6] => Jun
[7] => Jul
[8] => Aug
[9] => Sep
[10] => Oct
[11] => Nov
[12] => Dec
)
[maxdaysinmonth] => 31
[calname] => Gregorian
[calsymbol] => CAL_GREGORIAN
)
<?php
print_r(cal_info(1));
?>
//Ausgabe:
Array
(
[months] => Array
(
[1] => January
[2] => February
[3] => March
[4] => April
[5] => May
[6] => June
[7] => July
[8] => August
[9] => September
[10] => October
[11] => November
[12] => December
)
[abbrevmonths] => Array
(
[1] => Jan
[2] => Feb
[3] => Mar
[4] => Apr
[5] => May
[6] => Jun
[7] => Jul
[8] => Aug
[9] => Sep
[10] => Oct
[11] => Nov
[12] => Dec
)
[maxdaysinmonth] => 31
[calname] => Julian
[calsymbol] => CAL_JULIAN
)
<?php
print_r(cal_info(2));
?>
//Ausgabe:
Array
(
[months] => Array
(
[1] => Tishri
[2] => Heshvan
[3] => Kislev
[4] => Tevet
[5] => Shevat
[6] => AdarI
[7] => AdarII
[8] => Nisan
[9] => Iyyar
[10] => Sivan
[11] => Tammuz
[12] => Av
[13] => Elul
)
[abbrevmonths] => Array
(
[1] => Tishri
[2] => Heshvan
[3] => Kislev
[4] => Tevet
[5] => Shevat
[6] => AdarI
[7] => AdarII
[8] => Nisan
[9] => Iyyar
[10] => Sivan
[11] => Tammuz
[12] => Av
[13] => Elul
)
[maxdaysinmonth] => 30
[calname] => Jewish
[calsymbol] => CAL_JEWISH
)
<?php
print_r(cal_info(3));
?>
//Ausgabe:
Array
(
[months] => Array
(
[1] => Vendemiaire
[2] => Brumaire
[3] => Frimaire
[4] => Nivose
[5] => Pluviose
[6] => Ventose
[7] => Germinal
[8] => Floreal
[9] => Prairial
[10] => Messidor
[11] => Thermidor
[12] => Fructidor
[13] => Extra
)
[abbrevmonths] => Array
(
[1] => Vendemiaire
[2] => Brumaire
[3] => Frimaire
[4] => Nivose
[5] => Pluviose
[6] => Ventose
[7] => Germinal
[8] => Floreal
[9] => Prairial
[10] => Messidor
[11] => Thermidor
[12] => Fructidor
[13] => Extra
)
[maxdaysinmonth] => 30
[calname] => French
[calsymbol] => CAL_FRENCH
)
gregoriantojd()
gregoriantojd(Monat, Tag, Jahr)
Datum gregorianischer Kalender in einen Tag julianischem Datum
Beispiel:
<?php
echo gregoriantojd(9,20,1985);
//Ausgabe:
2446329
?>
jdtojulian()
Tag im julianischen Datum in Datum im julianischen Kalender
Beispiel:
<?php
echo jdtojulian(2446329);
//Ausgabe:
9/7/1985
?>
jdtojewish()
Tag im julianischen Datum in Datum im jüdischen Kalender
Beispiel:
<?php
echo jdtojewish(2446329);
//Ausgabe:
1/5/5746
?>
jewishtojd()
jewishtojd(Monat, Tag, Jahr)
Datum im jüdischen Kalender in Tag im julianischen Datum
Beispiel:
<?php
echo jewishtojd(1,5,5746);
//Ausgabe:
2446329
?>
jdtounix()
Tag im julianischen Datum in Unix-Timestamp
Beispiel:
<?php
echo jdtounix(2446329);
//Ausgabe:
496022400
?>
unixtojd()
Unix-Timestamp in Tag im julianischen Datum
Beispiel:
<?php
echo unixtojd(496022400);
//Ausgabe:
2446329
?>
date()
date(Format, Timestamp)
Beispiel:
<?php
echo date('d F Y',496022400);
//Ausgabe:
20
September 1985
?>
Übungsaufgabe: Heute ist der 5. September 2007. Dieses Datum entspricht
welchem Datum im jüdischen Kalender?
<?php
$a=time();
$b=unixtojd($a);
$c=jdtojewish($b);
echo $c; //Ausgabe:
13/22/5767 Monat/Tag/Jahr Monat=13=Elul
?>
HTTP-Funktionen
Vor der Ausführung der Applikation werden Informationen an den
Clientbrowser gesendet.
Problem Browsercaching, es müssen immer neue HTML-Seiten erzeugt werden
header()
header(string, replace, response)
replace (optional), bei dem Wert true ersetzt der jetzige einen vorherigen
Hearder
response (optional), spezifiziert den HTTP-Respons-Code
Beispiele:
redirect - Umleitung
<?php
header("Location:http://www.christophburghardt.com");
exit; // nachfolgender Code wird nicht ausgeführt
?>
<?php
header("http://www.christoph-burghardt.com/5.php 404 Not Found");
?>
Cachen von dynamischen Inhalten durch den Browser oder Proxy (Programm
zwischen Server und Client) verhindern
<?php
header ("Expires: Sun, 9 Sep 2007 06:00:00 GMT"); // Das Ablaufdatum
wird auf die Vergangenheit gestellt.
header("Last-Modified:". gmdate()); // Das Datum von den letzten
Änderungen wird auf "jetzt" gestellt.
header("Cache-Control: no-store, no-cache, must revalidate");
header("Cache-Control: post-check=0, pre-check=0, false);
header("Pragma: no-cache");
header("Content-type: text/html, charset=UTF-8");
?>
weitere Header-Anweisungen
header("Content-type: image/jpeg");
header("Content-type: image/ping");
header("Content-type: image/gif");
header("Content-type: application/x-shockwave-flash");
header_sent()
prüft ob der Header gesendet wurde
setcookie()
setcookie(cname)
sendet auf den Client ein Cookie
Beispiel:
<?php
$AktuellesDatum = date("d.m.Y H:i:s");
$Gueltigkeit = time()+86400;
setcookie("ErsterBesuch", $AktuellesDatum, $Gueltigkeit);
?>
Cookie auslesen
<?php
echo$_COOKIE['ErsterBesuch'];
?>
print_r($_COOKIE)
prüft ob das Cookie gesetzt wurde
Dateien und Verzeichnisse
disk_free_space()
liefert den freien Speicherplatz
Beispiel:
<?php
echo disk_free_space("E:"); //Ausgabe:
29344419840 (Angabe in Bytes)
?>
disk_total_space()
liefert den gesamten Speicherplatz
Beispiel:
<?php
echo disk_total_space("E:"); //Ausgabe:
163925979136 (Angabe in Bytes)
?>
file_exists()
file_exists(string filename)
prüft ob eine Datei schon existiert
Die zu prüfende Datei muss sich in dem Dateisystem des Servers befinden.
Beispiel:
<?php
$filename="xampp";
if(file_exists($filename))
{
echo "Datei existiert";
} else {
echo "Datei existiert nicht";
}
?>
is_writeable()
prüft ob eine Datei schon existiert und schreibgeschützt ist
Die zu prüfende Datei muss sich in dem Dateisystem des Servers befinden.
is_readable()
prüft ob eine Datei schon existiert und mit dem Lesezugriff geöffnet
werden kann
Die zu prüfende Datei muss sich in dem Dateisystem des Servers befinden.
is_executable()
prüft ob eine Datei schon existiert und ausführbar ist
Die zu prüfende Datei muss sich in dem Dateisystem des Servers befinden.
clearstatcache()
clearstatcache(void)
Diese Funktion löscht den gesamten Statuscache.
stat()
liefert einen Array mit Informationen über Dateien
Beispiel:
<?php
print_r(stat(xampp));
?>
//Ausgabe:
Array
(
[0] => 2 (Gerätenummer)
[1] => 0
[2] => 16895
[3] => 1
[4] => 0
[5] => 0
[6] => 2
[7] => 12288
[8] => 1187601385
[9] => 1187601385
[10] => 1187601384
[11] => -1
[12] => -1
[dev] => 2
[ino] => 0
[mode] => 16895
[nlink] => 1
[uid] => 0
[gid] => 0
[rdev] => 2
[size] => 12288
[atime] => 1187601385 (Zeitpunkt des letzten Zugriffs)
[mtime] => 1187601385 (Zeitpunkt der letzten Änderung)
[ctime] => 1187601384
[blksize] => -1
[blocks] => -1
)
fileatime()
Zeitpunkt des letzten Zugriffs auf die Datei (Unix-Timestamp)
filemtime()
Zeitpunkt der letzten Änderung der Datei (Unix-Timestamp)
filectime()
Zeitpunkt der letzten Änderung von Inode-Informationen der Datei
Inode-Informationen = Eigentümer, Zugriffsrechte, Gruppen und weitere
Metadaten
fileowner()
liefert die Benutzer-ID des Dateieigentümers
fileperms()
liefert die Zugriffsrechte auf eine Datei als eine Oktazahl
Die ersten beiden Ziffern stehen für den Dateityp. Die restlichen drei
Ziffern stehen für die Zugriffsrechte.
von den restlichen drei die erste Zahl = Zugriffsrechte des
Dateieigentümers
von den restlichen drei die zweite Zahl = Zugriffsrechte der Benutzer,
welche zur Benutzergruppe des Eigentümers gehören
von den restlichen drei die dritte Zahl = Zugriffsrechte aller übrigen
Benutzer
Recht zur Ausführung der Datei = 1
Schreibrecht der Datei =2
Leserecht der Datei = 4
Jede dieser Zahlen bildet eine Summe der verschiedenen Zugriffsrechte.
Beispiel:
<?php
echo fileperms(xampp); //Ausgabe:16895
?>
filesize()
liefert die Größe einer Datei in Bytes
basename()
extrahiert den Dateinamen aus der vollständigen Pfadangabe
Beispiel:
<?php
echo basename('C:\xampp\htdocs\xampp\img\head-for.gif'); //Ausgabe:
head-for.gif
?>
dirname()
restlicher Verzeichnispfad
Beispiel:
<?php
echo dirname('C:\xampp\htdocs\xampp\img\head-for.gif'); //Ausgabe:
C:\xampp\htdocs\xampp\img
?>
pathinfo()
assoziativer Array
Beispiel:
<?php
print_r(pathinfo('C:\xampp\htdocs\xampp\img\head-for.gif'));
?>
//Ausgabe:
Array
(
[dirname] => C:\xampp\htdocs\xampp\img
[basename] => head-for.gif
[extension] => gif
[filename] => head-for
)
filetype()
Dateityp wird ermittelt
Beispiele:
<?php
echo filetype('C:\xampp\htdocs\xampp'); //Ausgabe: dir (Verzeichnis)
?>
<?php
echo filetype('C:\xampp\htdocs\xampp\img\head-for.gif'); //Ausgabe: file
(Datei)
?>
is_dir()
Ist es ein Verzeichnis?
Beispiel:
<?php
if(is_dir('head-for.gif')){echo "True";}else{echo "False";} //Ausgabe:
False
?>
is_file()
Ist es eine Datei?
Beispiel:
<?php
if(is_file('head-for.gif')){echo "True";}else{echo "False";} //Ausgabe:
True
?>
is_link()
Ist es ein symbolischer Link? symbolischer Link =
Verknüpfung in einem Dateisystem
Beispiel:
<?php
if(is_link('head-for.gif')){echo "True";}else{echo "False";} //Ausgabe:
False
?>
rename()
rename(oldname, newname)
Rechte eines Superusers erforderlich,
Dateiverschiebung innerhalb der Verzeichnisstruktur möglich
Beispiel:
<?php
rename('head-for.gif', 'superuser.gif'); // es funktioniert!
?>
chmod()
chmod(filename, mode)
Zugriffsrechte ändern
mode besteht aus 3 oktalen Ziffern
erste Ziffer: Zugriffsrechte des Dateieigentümers
zweite Ziffer: Zugriffsrechte des Benutzers gleicher Benutzergruppe wie
der Eigentümer
dritte Ziffer: Zugriffsrechte aller übrigen Benutzer
Recht zur Ausführung 1
Schreibrecht 2
Leserecht 4
Einzelrechte werden addiert z.B. 7= 1+2+4 (Ausführung, Schreibrecht,
Leserecht)
vorangestellte 0, damit die Oktalzahl erkannt wird
Beispiel:
<?php
chmod('5.php','0111'); //Änderungen können nicht mehr gespeichert werden
?>
chown()
chown(filename,user)
ändert den Eigentümer der Datei
Parameter user enthält den Namen (ID identification) des Eigentümers
nur für Superuser
Beispiel:
<?php
chown('5.php','567');
echo fileowner('5.php'); //Ausgabe:0 (weil 567 kein registrierter Benutzer
ist)
?>
touch()
touch(filename,time,atime)
setzt die Zugriffs- und Modifizierungszeit
time - Zeitpunkt der letzten Dateiänderung
atime - letzter Zugriff
Dateien manipulieren
.aktuelles Verzeichnis ..Parentverzeichnis /Rootverzeichnis
copy()
copy(string source, string dest)
Beispiel:
C:/xampp/htdocs/5.php
<?php
copy('5.php','C:/xampp/htdocs/xampp/5.php'); // Kopie von 5.php nach C:/xampp/htdocs/xampp
?>
<?php
copy('5.php','../5.php'); // Kopie von 5.php nach C:/xampp
?>
unlink()
unlink(filename)
Datei löschen
Beispiel:
<?php
unlink('C:/xampp/htdocs/xampp/5.php');
?>
rmdir()
rmdir(filename)
Verzeichnis (Ordner) löschen
Dateien öffnen
fopen()
fopen(filename,mode,include_path,zcontext)
öffnet eine Datei oder URL
liefert einen resource-Zeiger (Dateihandle) als Rückgabewert
Die Funktion fgets() liest die erste Zeile von der Datei, auf welche
der Zeiger verweist.
mode = Zugriffstyp auf die Datei
r Öffnet die Datei nur zum Lesen und positioniert den Dateizeiger
auf den Anfang der Datei.
r+ Öffnet die Datei zum Lesen und Schreiben und setzt den
Dateizeiger auf den Anfang der Datei.
w Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf
den Anfang der Datei sowie die Länge der Datei auf
0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen.
w+ Öffnet die Datei zum Lesen und Schreiben und setzt den
Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte.
Wenn die Datei nicht existiert, wird versucht sie anzulegen.
a Öffnet die Datei nur zum Schreiben. Positioniert den Dateizeiger
auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie
anzulegen.
a+ Öffnet die Datei zum Lesen und Schreiben. Positioniert den
Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird
versucht sie anzulegen.
Beispiel:
<?php
$a=fopen('http://www.christophburghardt.com','r');
echo fgets($a); //Ausgabe: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
?>
In Dateien schreiben
fwrite()
fwrite(Dateihandle,string,length)
optionaler Parameter length Das Schreiben wird nach length Bytes beendet.
Beispiel:
<?php
$a=fopen('9.php','w+');
fwrite($a,'Dieses wird in die Datei geschrieben.'); // Die Datei 9.php
wird neu im Verzeichnis htdocs angelegt.
?>
Schließen einer Datei
fclose()
fclose(Dateihandle)
nicht notwendig aber empfohlen
Lesen aus einer Datei
filesize()
filesize(filename)
liefert die Dateigröße in Bytes
Beispiel:
<?php
echo filesize('index.htm'); //Ausgabe: 79699
?>
fgetc()
fgetc(Dateihandle)
Diese Funktion liefert einen String, der ein einzelnes Zeichen von der
aktuellen Position des Dateizeigers handle enthält.
Beispiel:
<?php
$a=fopen('http://www.christophburghardt.com','r');
echo fgetc($a); //Ausgabe: <
?>
fgets()
fgets(Dateihandle,length)
Diese Funktion liefert einen String, der eine Zeile von der aktuellen
Position des Dateizeigers handle enthält.
Beispiel:
<?php
$a=fopen('http://www.christophburghardt.com','r');
echo fgets($a); //Ausgabe: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
?>
fgetss()
fgetss(Dateihandle,length,allowed)
funktioniert wie fgets(), filtert aber alle HTML- und PHP-Tags heraus
Lesen einer bestimmten Anzahl von Bytes
fread()
fread(Dateihandle,length)
gelesen werden entweder length Bytes oder bis zum Dateiende (EOF-End of
File)
Beispiel:
<?php
$a=fopen('http://www.christophburghardt.com','r');
echo fread($a,10); //Ausgabe: <!DOCTYPE
?>
Lesen der kompletten Datei
readfile()
readfile(filename,include_path)
Datei braucht zum Lesen weder geöffnet noch geschlossen werden
Parameter include_path auf 1 gesetzt bedeutet, es wird auch in dem
Verzeichnis nach der Datei gesucht
include_path (einbezogener Pfad)
Es wird ein Verzeichnis angegeben, in denen Funktionen nach Dateien
suchen.
Beispiel Unix include_path
include_path=.:/home/httpd/php-lib
Beispiel Windows include_path
include_path=".;c:\www\phplib"
Beispiel:
<?php
echo readfile('index.htm'); // es wird der Inhalt im Browser
angezeigt und die Anzahl der Bytes
?>
fpassthru()
fpassthru(Dateihandle)
entspricht der Funktion readfile(), es ist aber der Dateizeiger
erforderlich
Beispiel:
<?php
$a=fopen('index.htm','r');
fpassthru($a);
?>
rewind()
rewind(Dateihandle)
setzt den Dateizeiger an den Anfang
file()
file(filename,include_path)
funktioniert wie readfile, Inhalt wird aber als Array zurückgegeben
jedes Element des Array's enthält eine Zeile der Datei
<?php
$a=file('http://www.iqsh.de/');
print_r($a);
?>
Navigation innerhalb der Datei
ftell()
ftell(Dateihandle)
liefert die aktuelle Position des Datei-Zeigers
Beispiel:
<?php
$a=fopen('http://www.christophburghardt.com','r');
echo ftell($a); //Ausgabe: 0
?>
rewind()
rewind(Dateihandle)
Mit dieser Funktion setzt man den Dateizeiger auf das erste Byte der
Datei.
Beispiel:
<?php
$a=fopen('http://www.christophburghardt.com','r');
echo rewind($a); //Ausgabe: 0
?>
fseek()
fseek(Dateihandle,offset)
verschiebt den Datei-Zeiger auf offset-Bytes vom Anfang
Beispiel:
<?php
$a=fopen('http://www.christophburghardt.com','r');
fseek($a,795);
echo fgets($a); //Ausgabe: nk rel="shortcut icon" href="amd.ico" title="icon"
>
?>
Verriegelung einer Datei
flock()
flock(Dateihandle,operation)
Parameter operation
1 Leseverriegelung
2 Schreibverriegelung
3 Verriegelung freigeben
4 andere Zugriffe während der Verriegelung erlauben
Beispiel:
<?php
$a=fopen('http://www.christophburghardt.com','r');
flock($a,2);
?>
Verzeichnisse
mkdir()
mkdir(path,mode)
erstellt ein Verzeichnis
mode definiert die Zugriffsrechte - siehe Funktion chmod()
ohne Angabe von mode 0777
Beispiel:
<?php
mkdir(christoph);
?>
chdir()
chdir(dirname)
Verzeichnis wechseln
getcwd()
gibt das aktuelle Verzeichnis zurück
Beispiel:
<?php
echo getcwd() //Ausgabe: C:\xampp\htdocs
?>
rmdir()
rmdir(dirname)
Verzeichnis löschen
das zu löschende Verzeichnis muss leer sein
Beispiel:
<?php
rmdir(christoph);
?>
opendir()
öffnet ein Verzeichnis (Ordner) und gibt einen Verzeichniszeiger zurück
readdir()
readdir(Verzeichniszeiger)
damit liest man die Dateinamen aus dem geöffneten Verzeichnis aus
rewinddir()
rewinddir(Verzeiniszeiger)
setzt den Verzeichniszeiger an die Anfangsposition
closedir()
closedir(Verzeichniszeiger)
schließt ein Verzeichnis
Beispiel:
einen Ordner auslesen
<?php
$a=opendir('E:');
while($b=readdir($a)) echo $b."<br/>"; //Schleife - Ordnerinhalt
closedir($a);
?>
//Ausgabe:
$RECYCLE.BIN
100KM028
Desktop 20.07.2007
Desktop 25.07.2007
DVD Dominic
KK_PDF_1992856_christoph-burghardt_com.pdf
Konten.txt
Lütjensee 18.07.2007
Samsung 40GB
Samsung 80GB
Schule
Sex
System Volume Information
dir()
dir(dirname)
Dies ist ein pseudo-objektorientierter Mechanismus zum Lesen eines
Verzeichnisses.
Beispiel:
<?php
$a=dir('C:');
echo $a->path."<br/>"; //Dateipfad
echo $a->handle."<br/>"; //Verzeichnisseiger
while($b=$a->read()) echo $b."<br/>"; //Schleife - Ordnerinhalt
$a->close();
?>
//Ausgabe:
C:
Resource id #2
$Recycle.Bin
AAMSSTP
autoexec.bat
BOOKS
Boot
bootmgr
BOOTSECT.BAK
config.sys
Documents and Settings
Dokumente und Einstellungen
pagefile.sys
Program Files
ProgramData
Programme
System Volume Information
TB.log
Users
Windows
xampp
Sicherheit
Verlagerung von Dateien aus dem Webordner (htdoc)
Beispiel:
<?php
$a=fopen('../texts/9.txt','r');
echo fread($a,1000);
?>
HTML Formular
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> HTML Formular </title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="myform" action="process.php" method="POST" target="_blank"
enctype="multipart/form-data">
Name: <br/>
<input type="text" size="20" name="name" > <br/> <br/>
Passwort: <br/>
<input type="password" size="20" name="pass" > <br/> <br/>
Beschreibung: <br/>
<textarea rows="10" cols="50" name="text" >
</textarea> <br/> <br/>
Land: <br/>
<select name="land">
<option value="1" selected> Deutschland </option>
<option value="2"> England </option>
<option value="3"> Frankreich </option>
</select> <br/> <br/>
Geschlecht: <br/>
<input type="radio" name="geschlecht" value="1"> weiblich <br/>
<input type="radio" name="geschlecht" value="2"> männlich <br/> <br/>
Hobbies: <br/>
<input type="checkbox" name="hobby"> Schwimmen <br/>
<input type="checkbox" name="hobby"> Wandern <br/>
<input type="checkbox" name="hobby"> Fernsehen <br/> <br/>
<input type="hidden" name="id" value="avcfg$ghjsd">
<input type="file" size="20" name="file"> <br/> <br/>
<input type="submit" value="Absenden">
<input type="reset" value="Zurücksetzen">
</form>
</body>
</html>
//Ausgabe:

<input type="text">
Eingabefelder
Attribute: name bzw. id, style bzw. class, size, maxlength, value,
disabled, readonly
Beispiel:
<?php
echo' <input type="text" name="Postleitzahl" style= "width:300px;
height:30px" maxlength="5">';
?>
<textarea>
Textfelder
Attribute: name bzw. id, style bzw. class, cols, rows, disabled, readonly,
wrap (Zeilenumbruch)
Beispiel:
<?php
echo '<textarea name="textfeld" cols="60" rows="40" textarea> </textarea>';
?>
<select name="land">
<option value="1" selected> Deutschland </option>
<option value="2"> England </option>
<option value="3"> Frankreich </option>
</select>
Auswahlfelder
Attribute: name bzw. id, style bzw. class, size, multiple, value
<input type="radio" name="geschlecht" value="1"> weiblich <br/>
<input type="radio" name="geschlecht" value="2"> männlich
Radiobuttons
Es kann nur ein Element der Gruppe ausgewählt werden.
Attribute: name, value, checked (Vorauswahl)
<input type="checkbox" name="hobby"> Schwimmen <br/>
<input type="checkbox" name="hobby"> Wandern <br/>
<input type="checkbox" name="hobby"> Fernsehen
Checkboxen
Es können mehrere Elemente der Gruppe ausgewählt werden.
Attribute: name, value, checked
<input type="hidden" name="id" value="avcfg$ghjsd">
Informationen über nicht ausgewählte Elemente werden an den Server
übermittelt.
<input type="password" name="password" value="xx">
Passwortfelder
es werden 2 Formulare definiert a) sichtbare Anzeige b) versteckte Felder
Beispiel:
<html>
<head>
<title> HTML Formular </title>
<script language="JavaScript">
function submit_form()
{
document. login.username.value=document.temp_login.username.value;
doc |