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
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
for-Schleife
Funktionen
HTACCESS Zugriffsschutz
Inhalt eines
Feldes anzeigen
Kreisdiagramm erstellen
lang_getfrombrowser()
Login
Login-Funktion php
Mathematik Zahlenfolgen Vollständige Induktion Grenzwerte
Mathematik
Differentialrechnung
Mathematik Integralrechnung
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;
document. login.password.value=document.temp_login.password.value;
document.login.submit();
}
</script>
</head>
<body>
<form name="temp_login" action="">
<input type="text" name="username" size="20">
<br/>
<input type="password" name="password" size="20">
<br/>
<a href="javascript:submit_form()">
Anmelden
</a>
</form>
<form name="login" action="login.php">
<input type="hidden" name="username">
<input type="hidden" name="password">
</form>
</body>
</html>
<input type="file" name="myfile" size="40">
Datei-Upload
Attribute: name bzw.id, style bzw. class, size, maxlength, value, accept
(text/* oder html/*)
<input type="submit" value="Absenden">
<input type="reset" value="Zürücksetzen">
<input type="button" value= "Start">
Klickbuttons
Attribute: name bzw. id, style bzw. classs, disabled, value
lang_getfrombrowser()
eingestellte Sprache des Browsers ermitteln
$_POST und $_GET
dies sind assoziative Arrays
In diesen Arrays werden die Werte (Benutzername, Passwort) übertragen.
Beispiel:
Datei start.php
<html>
<head>
<title> HTML Formular </title>
<script language="JavaScript">
function submit_form()
{
document. login.username.value=document.temp_login.username.value;
document. login.password.value=document.temp_login.password.value;
document.login.submit();
}
</script>
</head>
<body>
<form name="temp_login" action="">
<input type="text" name="username" size="20">
<br/>
<input type="password" name="password" size="20">
<br/>
<a href="javascript:submit_form()">
Anmelden
</a>
</form>
<form name="login" method="POST" action="login.php">
<input type="hidden" name="username">
<input type="hidden" name="password">
</form>
</body>
</html>
Datei login.php
<?php
$name = $_POST['username'];
$pass = $_POST['password'];
if ($name=='1'&& $pass=='1') {
$vorname='Romy';
$nachname='Grumbach';
$group="1";
}
else if($name=='2' && $pass=='2') {
$vorname='Petra';
$nachname='Haars';
$group="2";
}
else {
$vorname='User';
$nachname='Unknow';
$group="3";
}
?>
<html>
<head>
<title>Benutzer Formular</title>
</head>
<body>
<p><b>Hallo
<?php
echo "$vorname $nachname!";
?>
</b>
</p>
<form name="myform" action="process.php" method="POST">
Wählen Sie die Artikelgruppe: <br/>
<select name="artikel" size="3">
<?php
switch ($group)
{
case 1:
echo '<option value="1">';
echo 'Kleider</option>';
echo '<option value="2">';
echo 'Unterwäsche</option>';
echo '<option value="3">';
echo 'Schuhe</option>';
case 2:
echo '<option value="1">';
echo 'Autos</option>';
echo '<option value="2">';
echo 'Zigaretten</option>';
echo '<option value="3">';
echo 'Zeitungen</option>';
default:
echo '<option value="1" selected >';
echo 'Wohnen</option>';
echo '<option value="2">';
echo 'Essen</option>';
echo '<option value="3">';
echo 'Trinken</option>';
}
?>
move_uploaded_file()
move_uploaded_file(string source, string destination)
ermöglicht den
Dateiupload
mittels $_FILES wird auf die hochgeladene Datei zugegriffen
is_uploaded_file()
is_uploaded_file(string source)
prüft ob die hochzuladende Datei gültig ist
Datenübergabe mit dem Query-String
Der Query-String wird an die URL angehängt. Er wird durch eine
Fragezeichen von der URL getrennt.
Die einzelnen Parameter des Query-Strings werden durch das kaufmännische
Und-Zeichen (&) getrennt.
Durch die Übertragung per GET wird der Query-String automatisch erzeugt.
Im Query-String sind keine
Sonderzeichen erlaubt.
rawurlencode()
Diese Funktion ersetzt Sonderzeichen mit einem Prozent-Zeichen,
gefolgt von einer hexadezimalen Zahl (alle Sonderzeichen außer
Unterstrich, Bindestrich und Punkt).
Beispiele:
<?php
$a="100$-100Euro";
echo rawurlencode($a); //Ausgabe:
100%24-100%80
?>
<?php
$a="100$-100Euro";
echo '<a href="http://www.christoph-burghardt.com?'. rawurlencode($a) .
'">';
//Ausgabe: <a href="http://www.christoph-burghardt.com?100%24-100%80">
?>
rawurldecode()
Die Sonderzeichen werden wieder ohne Kodierung dargestellt.
md5()
md5(string)
berechnet den MD5-Code, 32-stellige hexadezimale Zahl
Beispiel:
<?php
$a="100$-100Euro";
echo md5($a); //Ausgabe:
43ed3125e72499b193a582a1b022b85c
?>
sha1()
sha1(string)
berechnet den SHA1-Hashcode, 40-stellige hexadezimale Zahl
Beispiel:
<?php
$a="100$-100Euro";
echo sha1($a); //Ausgabe:
d7463451b91228a1bea939ebefef47c9ff8ec715
?>
crc32()
crc32(string)
berechnet den CRC32-Wert, Länge von 32Bit
Beispiel:
<?php
$a="100$-100Euro";
echo crc32($a); //Ausgabe:
159601922
?>
Setzen von Cookies
Cookies = Speicherung nutzerbezogener Daten auf dem PC des Nutzers
(Client)
Funktion setcookie (Bezeichner, Wert, Ablauf, Pfad, Domain, Sicher)
Beispiel:
<?php
$a=time();
$b=10000;
$c=$a + $b;
setcookie("vorname", "romy", "$c");
echo $c; //Ausgabe Timestamp + 10000 Sekunden
?>
Cookies auslesen
Cookies werden als Variable $_COOKIE (Array) auf dem Client-PC
gespeichert.
Über die Funktion print_r kann ein Auslesen erfolgen. Beispiel:
<?php
print_r ($_COOKIE); //Ausgabe: Array ( [vorname] => romy )
?>
Sessions
benutzerbezogenen Daten werden auf dem Server gespeichert
Die Funktion session_start() erzeugt eine Session oder nimmt die aktuelle
wieder auf.
$_SESSION ist ein assoziatives Array, das die Sessionvariablen für
das aktuelle Skript enthält.
Beispiel:
Datei 7.php
<?php
session_start();
$_SESSION['vorname']=Romy;
echo "<a href=8.php> weiter hier </a>"; //Ausgabe: weiter hier (Link)
?>
Datei 8.php
<?php
session_start();
echo $_SESSION['vorname']; // Ausgabe: Romy
echo '<br>';
echo session_id(); //Ausgabe: dfe1f6598670997a5a81d594cb57242d
echo '<br>';
echo session_encode(); //Ausgabe: vorname|s:4:"Romy";
?>
Der Inhalt des globalen Arrays $_SESSION (Romy) wird beim Aufruf von 8.php
mit übertragen.
Die Funktion session_encode() dient zum Auslesen der Session-Daten.
php.ini
Bei Shared-Hosting-Paketen wird ein Zugriff auf die php-ini nicht erlaubt.
Login-Funktion
Zugriffsschutz auf Internetseiten
Benutzername und Passwort werden abgefragt
die Daten werden in einer Session gespeichert
die Prüfung erfolgt dann auf den neu aufgerufenen Seiten
MySQL
Spalten der Tabelle= Felder
M= maximale Anzeigenbreite
BLOB= Binary Large Object
MySQL-Datentypen
Zeichenketten-Typen
CHAR(M) Zeichenkette
VARCHAR(M) Zeichenkette (variable Länge)
TINYTEXT oder TINYBLOB Zeichenkette oder BLOB maximal 255 Zeichen
TEXT oder BLOB Zeichenkette oder BLOB maximal 65535
Zeichen
MEDIUMTEXT oder MEDIUMBLOB Zeichenkette oder BLOB maximal 16 Mio. Zeichen
ENUM('wert1', 'wert2', ...) kann nur einen der Auflistungswerte annehmen
SET('wert1', 'wert2', ...) kann nur einen oder mehrere Auflistungswerte
annehmen
Numerische-Typen
TINYINT(M) Ganzzahlen von -128 bis 128
TINYINT(M) UNSIGNED Ganzzahlen von 0 bis 255
SMALLINT(M) Ganzzahlen von -32768 bis 32767
MEDIUMINT(M) Ganzzahlen von -8 Mio. bis 8 Mio.
INT(M) Ganzzahlen von -2 Mrd. bis 2 Mrd.
INT(M) UNSIGNED Ganzzahlen von 0 bis 4 Mrd.
FLOAT(M,D) Fließkommazahl
DOUBLE(M,D) Fließkommazahl mit doppelter Genauigkeit
DECIMAL(M,D) Fließkommazahl als Zeichenkette gespeichert, für
Währungsfelder geeignet
Datums- und Uhrzeit-Datentypen
DATE Datum in Form von 1969-02-21, von 1000-01-01 bis 9999-12-31
TIME Zeit in Form von 23:59:59
DATETIME Kombination aus DATE und TIME
YEAR(2|4) Jahreszahlen zweistellig oder vierstellig
MySQL-Monitor
Der Start des MySQL-Monitors erfolgt über die Windows Eingabeaufforderung
(DOS-Eingabemodus).
Verzeichnis wechseln durch chdir C:\xampp\mysql\bin
Eingabe von mysql -hlocalhost
C:\xampp\mysql\bin> mysql -hlocalhost
Welcome to the MySQL monitor...
mysql>_
Bei eventueller Fehlermeldung Error 1045 (28000): Access denied for user
...
es wird ein Nutzername mit Passwort verlangt
z.B. Nutzername: root Passwort: root
Eingabe entsprechend ohne Semikolon am Ende mysql
-hlocalhost -uroot -proot
C:\xampp\mysql\bin> mysql -hlocalhost -uroot
-proot
MySQL-Befehle
MySQL beenden
mysql> exit;
Datenbank anlegen
mysql> create database xy; //xy=Name der neuen Datenbank
Datenbank benutzen
mysql> use xy; //Datenbank wird zur Benutzung freigegeben Ausgabe:
Database changed
Datenbank löschen
mysql> drop database xy;
alle Datenbanken anzeigen
mysql> show databases;
Tabellen erzeugen
mysql> use xy;
//Datenbank xy zur Benutzung auswählen
mysql> create table kunden (
// kunden = Name der Tabelle der Datenbank xy
nr int not null auto_increment primary key,
// Primärschlüssel
anrede text,
name text,
//name=Name der Spalte text=Datentyp
vorname text,
email text not null
) ;
es werden 5 Spalten definiert
Tabellen löschen
mysql> use xy;
mysql> drop table kunden;
Tabellen optimieren
Werden Datensätze gelöscht, so werden sie nur als gelöscht markiert.
Tatsächlich sind sie aber noch vorhanden.
Durch den Befehl optimize table werden die Datensätze endgültig gelöscht.
Die Performance der Tabelle erhöht sich damit.
mysql> use xy;
mysql> optimize tabel kunden;
Struktur der Tabelle ändern
Tabellenname ändern
mysql>use xy;
mysql> alter table romy rename kunden; // die Tabelle romy wird
umbenannt in Tabelle kunden
Feldnamen (Spaltenname) ändern
mysql>use xy;
mysql> alter table kunden change name kundenname text; // aus dem Feldnamen
name wird kundenname mit Dateityp text
Feldlänge ändern
mysql> use xy;
mysql> create table kunden (
nr int not null auto_increment primary key,
anrede text,
name text,
vorname char (19), // Zeichenkette mit fester Länge 19
email text not null
) ;
mysql> alter table kunden change vorname vorname char (49); // ändert die
Feldlänge des Feldes vorname auf 49
Feldtyp ändern
mysql> alter table kunden change vorname vorname text; // ändert den Feldtyp
des Feldes vorname in text
Feld hinzufügen
mysql> alter table kunden add telefon int; // fügt das Feld telefon
hinzu, Feldtyp int (Ganzzahl binär) Angabe erforderlich
Feld löschen
mysql> alter table kunden drop telefon;
Tabellen anzeigen
mysql> show tables from xy; // zeigt alle Tabellen der Datenbank xy an
Felder anzeigen
mysql> show columns from kunden from xy; // zeigt alle Felder (Spalten) der
Tabelle Kunden der Datenbank xy
Datensätze erzeugen
mysql> use xy;
mysql> insert into kunden (anrede, name, vorname, email)
values ('Herr', 'Burghardt', 'Christoph', 'ch.burghardt@googlemail.com');
Datensätze anzeigen
mysql> use xy;
mysql> select * from kunden; // alle Datensätze der Tabelle kunden werden
angezeigt
mysql> use xy;
mysql> select vorname, email from kunden; // es werden nur Datensätze der
Felder (Spalten) vorname und email angezeigt
Nach einem bestimmten Datensatz suchen
mysql> use xy;
mysql> select * from kunden where vorname='Christoph';
Felder ohne Inhalt anzeigen
mysql> use xy;
mysql> select * from kunden where vorname is null; // zeigt alle Datensätze
ohne Inhalt des Feldes vorname
Operatoren in MySQL
and (&&) Und-Bedingung
or (||) Oder-Bedingung
not (!) Umkehrung des Wahrheitswertes
= gleich
> größer als
< kleiner als
<> (!=) ungleich
>= größer oder gleich als
<= kleiner oder gleich als
Beispiel:
mysql> use xy;
mysql> select * from kunden where vorname='romy' || vorname='christoph'; //
Auswahl vorname romy oder christoph
Nach Zeichenketten suchen
durch den Like-Operator suche nach:
% beliebiges Zeichen (Anzahl nicht vorgegeben)
Beispiel: 'r%' Es wird nach allen Zeichenketten gesucht mit beliebiger
Anzahl von Zeichen aber einem r am Anfang.
_ Genau ein unbekanntes Zeichen.
Beispiel: 'r_my'
mysql> use xy;
mysql> select * from kunden where vorname like 'r_my';
Varianten des Like-Operators
c% alle Zeichenketten mit einem c am Anfang
%c alle Zeichenketten mit einem c am Ende
%ch alle Zeichenketten welche mit ch enden
Beispiel:
Suche nach allen Zeichenketten welche nicht mit einem a beginnen!
mysql> use xy;
mysql> select * from kunden where vorname not like 'a%';
Datensätze sortieren
standardmäßig aufsteigend sortiert asc
absteigende Sortierung durch order by nr desc
Beispiel:
mysql> use xy;
mysql> select * from kunden order by nr desc;

Vorgegebene Anzahl von Datensätzen anszeigen
mysql> select * from kunden limit 2; // es werden alle Datensätze von Nr.1-2
angezeigt
Ändern von Datensätzen
mysql> update kunden set vorname ='Paul' where name='Burghardt';
Doppelte Datensätze finden
mysql> select distinct vorname from kunden;
Löschen von Datensätzen
mysql> delete from kunden; // Vorsicht - alle Datensätze der Tabelle Kunden
werden gelöscht
mysql> delete from kunden where name='Burghardt';
mysql> delete from kunden where name is null; // es werden Datensätze
gelöscht bei denen das Feld name leer ist
PHP und MySQL
Verbindung zur Datenbank
herstellen
Dateiname: config.php
<?php
$server= "localhost";
$user= "root";
$passwort= "root";
$datenbank= "xy";
$verbindung= mysql_connect ($server, $user, $passwort) or die ("Es konnte
keine
Verbindung zum Server hergestellt werden.");
mysql_select_db ($datenbank) or die ("Die Datenbank existiert nicht.");
?>
Datenbankabfrage
<?php
include
('config.php'); // zur Sicherheit
ausgelagert
$a= "select * from kunden";
$b= mysql_query ($a);
while ($c=mysql_fetch_object ($b))
{
echo $c -> vorname;
}
?>
Datenbankabfrage und Integrierung von HTML-Elementen
<?php
include
('config.php');
$a= "select * from kunden";
$b= mysql_query ($a);
while ($c=mysql_fetch_object ($b))
{
echo "<b> <i>";
echo $c -> vorname;
echo "</i> </b> <br>";
}
?>
Datenbankabfrage verfeinern
<?php
include
('config.php');
$a= "select * from kunden where Name='Burghardt' or Name='Gabbert'"; //where
wie if-Bedingung
$b= mysql_query ($a);
while ($c=mysql_fetch_object ($b))
{
echo "<b> <i>";
echo $c -> vorname;
echo "</i> </b> <br>";
}
?>
Datensätze erzeugen (Formular)
Zwei Dateien sind erforderlich
1. HTML-Formular für die Dateneingabe
2. Datei insert.php als Schnittstelle zwischen Formular und Datenbank
HTML-Formular
<html>
<head>
<title>
Formular für die Dateneingage
</title>
</head>
<body>
<form action="http://localhost/insert.php" method="post">
Anrede: <input type="text" name="anrede">
<br>
<br>
Name: <input type="text" name="name">
<br>
<br>
Vorname: <input type="text" name="vorname">
<br>
<br>
Emailadresse: <input type ="text" name="email">
<br>
<br>
<input type="submit" value="absenden">
</form>
</body>
</html>
Datei insert.php
<?php
include
('config.php');
$e= $_POST['anrede'];
$f= $_POST['name'];
$g= $_POST['vorname'];
$h= $_POST['email'];
$a = "insert into kunden (anrede, name, vorname, email) values
('$e','$f','$g','$h')";
$b= mysql_query($a);
?>
Datensätze anzeigen (Formular)
<html>
<head>
<title>
Datensätze anzeigen
</title>
</head>
<body>
<?php
include
('config.php');
$a= mysql_query ("select nr, anrede, name, vorname, email from kunden where
nr='4'");
$c= mysql_fetch_row($a);
echo $c[0];
echo $c[1];
echo $c[2];
echo $c[3];
echo $c[4];
?>
<form>
<table>
<tr>
<td>Nr</td>
<td><input type="text" name="nr" value="<?php echo $c[0] ?>"> </td>
<td>Anrede</td>
<td><input type="text" name="Anrede" value="<?php echo $c[1] ?>"> </td>
<td>Name</td>
<td><input type="text" name="Name" value="<?php echo $c[2] ?>"> </td>
<td>Vorname</td>
<td><input type="text" name="Vorname" value="<?php echo $c[3] ?>"> </td>
<td>Email</td>
<td><input type="text" name="Email" value="<?php echo $c[4] ?>"> </td>
</tr>
</table>
</form>
</body>
</html>
Datensätze ändern (Formular)
HTML-Formular
<html>
<head>
<title>
Datensätze ändern
</title>
</head>
<body>
<form action= "http://localhost/neu.php" method="post">
NR des zuändernden Datensatzes auswählen: <input type= "text" name= "nr"
size= "5">
<br>
<br>
neue Emailadresse: <input type ="text" name= "email" size= "100">
<br>
<br>
<input type= "submit" value= "absenden">
</form>
</body>
</html>
Datei neu.php
<?php
include
('config.php');
$a= $_POST['nr'];
$b= $_POST['email'];
$c="update kunden set email='$b' where nr='$a'";
$d= mysql_query($c);
echo $a;
echo $b;
?>
Datensätze löschen
HTML-Formular
<html>
<head>
<title>
Datensätze löschen
</title>
</head>
<body>
<form action= "http://localhost/loeschen.php" method="post">
NR des zulöschenden Datensatzes auswählen: <input type= "text" name= "nr"
size= "5">
<br>
<br>
<input type= "submit" value= "absenden">
</form>
</body>
</html>
Datei loeschen.php
<?php
include
('config.php');
$a= $_POST['nr'];
$c="delete from kunden where nr='$a'";
$d= mysql_query($c);
echo $a;
?>
MySQL-Funktionen in PHP
mysql_affected_rows ()
Gibt an wie viele Reihen (Datensätze) von einer Anwendung (insert into,
update, delete) betroffen sind.
Beispiel:
HTML-Formular
<html>
<head>
<title>
Datensätze ändern
</title>
</head>
<body>
<form action= "http://localhost/neu.php" method="post">
NR des zuändernden Datensatzes auswählen: <input type= "text" name= "nr"
size= "5">
<br>
<br>
neue Emailadresse: <input type ="text" name= "email" size= "100">
<br>
<br>
<input type= "submit" value= "absenden">
</form>
</body>
</html>
PHP-Skript neu.php
<?php
include
('config.php');
$a= $_POST['nr'];
$b= $_POST['email'];
$c="update kunden set email='$b' where nr='$a'";
$d= mysql_query($c);
$u=mysql_affected_rows ();
echo $a;
echo $b;
echo $u; //Ausgabe: 1
?>
Benutzer wechseln
mysql_change_user()
mysql_change_user(Benutzername, Passwort)
Standard-Zeichensatz ermitteln
mysql_client_encoding()
Beispiel:
<?php
include
('config.php');
$a=mysql_client_encoding();
echo "Zeichensatz:";
echo $a; //Ausgabe: latin1
?>
Verbindung zur
MySQL-Datenbank herstellen
mysql_connect()
mysql_connect(Server, Benutzername, Passwort)
Beispiel:
config.php
<?php
$server= "localhost";
$user= "root";
$passwort= "root";
$datenbank= "xy";
$verbindung= mysql_connect ($server, $user, $passwort) or die ("Es konnte
keine
Verbindung zum Server hergestellt werden.");
mysql_select_db ($datenbank) or die ("Die Datenbank existiert nicht.");
?>
Verbindung zur MySQL-Datenbank schließen
mysql_close()
Datensatz auswählen
mysql_data_seek()
Beispiel:
<?php
include
('config.php'); //Verbindung zur Datenbank
herstellen
$a=mysql_query('select * from kunden'); //alle Datensätze der Tabelle Kunden
auswählen
mysql_data_seek ($a,2); // Datensatz 0 (erster Datensatz) auswählen
$b= mysql_fetch_row($a); // Datensatz 0 holen (ziehen)
echo $b; //Ausgabe: Array
print_r($b); // Datensatz 0 wird angezeigt
?>
Datenbank anlegen
Die Funktion mysql_create_db() ist veraltet.
stattdessen:
mysql_query()
<?php
$a=mysql_connect(localhost, root, root); // Server, Benutzername, Passwort
$b=mysql_query("create database gert"); // Eine Datenbank mit dem Namen Gert
wird erstellt.
?>
Datenbank löschen
Die Funktion mysql_drop_db() ist veraltet.
stattdessen:
mysql_query()
Beispiel:
<?php
$a=mysql_connect(localhost, root, root);
$b=mysql_query("drop database gert");
?>
Tabelle anlegen
<?php
include
('config.php');
$a= mysql_query("create table romy ( nr int not null auto_increment primary
key, anrede text,
name text, vorname text, email text not null) type=myisam; ");
?>
Tabelle löschen
<?php
include
('config.php');
$a=mysql_query("drop table test");
?>
Fehlernummern und Fehlermeldungen anzeigen
Beispiel:
<?php
include
('config.php');
$b=mysql_query("drop database kathy");
echo mysql_errno(); //Ausgabe: 1008
echo mysql_error(); //Ausgabe: Can't drop database 'kathy'. Database doesn't
exist
?>
Datensätze als zusammengesetztes Array
mysql_fetch_array()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden where nr='2'");
$b= mysql_fetch_array($a);
echo $b;
print_r($b);
?>
Feldinformationen einer Tabelle anzeigen Anfang 29.12. 2007
Ende
mysql_fetch_field()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden");
$b= mysql_fetch_field($a);
print_r($b);
?>
Ausgabe:
ObjectstdClass Object
(
[name] => nr
[table] => kunden
[def] =>
[max_length] => 1
[not_null] => 1
[primary_key] => 1
[multiple_key] => 0
[unique_key] => 0
[numeric] => 1
[blob] => 0
[type] => int
[unsigned] => 0
[zerofill] => 0
)
Zeichen markieren
mysql_escape_string()
<?php
$a= " 'Cu' ";
$b= mysql_escape_string($a);
echo $b; //Ausgabe: \'Cu\'
?>
Datensätze als Array
mysql_fetch_row()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden where nr='2'");
$b= mysql_fetch_row($a);
echo $b;
print_r($b);
?>
Ausgabe:
ArrayArray
(
[0] => 2
[1] => Frau
[2] => Grumbach
[3] => Romy
[4] => romy.grumbach@web.de
)
Alle Datensätze einer
Tabelle anzeigen
mysql_fetch_row()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden ");
while ($b= mysql_fetch_row($a)) // while-Schleife
{
echo $b[0];
echo '<br>';
echo $b[1];
echo '<br>';
echo $b[2];
echo '<br>';
echo $b[3];
echo '<br>';
echo $b[4];
echo '<br>';
}
?>
Ausgabe:
1
Herr
Burghardt
Christoph
ch.burghardt@googlemail.com
2
Frau
Grumbach
Romy
romy.grumbach@web.de
3
Frau
Gosch
Svenja
svenja_gosch@web.de
4
Herr
Kaminski
Dominic
Dominic.Kaminski@web.de
Feldeigenschaften anzeigen
mysql_field_flags()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden ");
$b= mysql_field_flags($a,0); //0 steht für den Feldnamen nr, 1 für
anrede, 2 für name usw.
echo $b; //Ausgabe: not_null primary_key auto_increment
?>
Maximale Feldlänge anzeigen
mysql_field_len()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden ");
$b= mysql_field_len($a,2); // 2 steht für das Feld name
echo $b; //Ausgabe:
65535
?>
Feldnamen anzeigen
mysql_field_name()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden ");
$b= mysql_field_name($a,2);
echo $b; //Ausgabe: name
?>
Feldzeiger bewegen
mysql_field_seek()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select nr, anrede, name from kunden ");
$b= mysql_field_seek($a,2);
$c= mysql_fetch_field($a);
echo $c ->name; //Ausgabe: name
?>
Tabellennamen anzeigen
mysql_field_table()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden ");
$c= mysql_field_table($a,4);
echo $c ; //Ausgabe: kunden
?>
Feldtyp anzeigen
mysql_field_type()
Beispiel:
<?php
include
('config.php');
$a= mysql_query("select * from kunden ");
$c= mysql_field_type($a,4);
echo $c ; //Ausgabe: blob
?>
Speicher freigeben
mysql_free_result()
Am Ende eines jeden Skriptes wird der Speicher freigegeben.
Version der Clientbibliothek anzeigen
mysql_get_client_info()
Beispiel:
<?php
include
('config.php');
$a= mysql_get_client_info();
echo $a; //Ausgabe: 5.0.37
?>
Hostinformationen anzeigen
mysql_get_host_info()
Beispiel:
<?php
include
('config.php');
$a= mysql_get_host_info();
echo $a; //Ausgabe: localhost via TCP/IP
?>
MySQL Protokollversion anzeigen
mysql_get_proto_info()
Beispiel:
<?php
include
('config.php');
$a= mysql_get_proto_info();
echo $a; //Ausgabe: 10
?>
Serverversion anzeigen
mysql_get_server_info()
Beispiel:
<?php
include
('config.php');
$a= mysql_get_server_info();
echo $a; //Ausgabe: 5.0.37
?>
ID anzeigen
mysql_insert_id()
Diese Funktion liefert die ID des neuangelegten Datensatzes.
Beispiel:
HTML-Formular
<html>
<head>
<title>
Formular für die Dateneingage
</title>
</head>
<body>
<form action="http://localhost/insert.php" method="post">
Anrede: <input type="text" name="anrede">
<br>
<br>
Name: <input type="text" name="name">
<br>
<br>
Vorname: <input type="text" name="vorname">
<br>
<br>
Emailadresse: <input type ="text" name="email">
<br>
<br>
<input type="submit" value="absenden">
</form>
</body>
</html>
Datei insert.php
<?php
include
('config.php');
$e= $_POST['anrede'];
$f= $_POST['name'];
$g= $_POST['vorname'];
$h= $_POST['email'];
$a = "insert into kunden (anrede, name, vorname, email) values
('$e','$f','$g','$h')";
$b= mysql_query($a);
$r= mysql_insert_id();
echo $r; // Ausgabe: 7
?>
Datenbanken anzeigen
mysql_list_dbs()
Beispiel:
<?php
include ('config.php');
$a= mysql_list_dbs();
while ($c=mysql_fetch_object ($a))
{
echo $c -> Database;
echo '<br>';
}
?>
Ausgabe:
information_schema
cdcol
gert
mysql
phpmyadmin
test
webauth
xy
Tabellen anzeigen
mysql_list_tables()
Beispiel:
<?php
include
('config.php');
$a= mysql_list_tables('xy');
while ($c=mysql_fetch_row ($a))
{
echo $c[0]; //Ausgabe: kunden
echo '<br>';
}
?>
Felder einer Tabelle anzeigen
mysql_list_fields()
Beispiel:
<?php
include
('config.php');
$a= mysql_list_fields('xy','kunden');
$b=mysql_num_fields($a); //Anzahl der Felder
for($c=0; $c<$b; $c++) // for-Schleife
{
echo mysql_field_name($a,$c);
echo '<br>';
}
?>
Ausgabe:
nr
anrede
name
vorname
email
Anzahl der Felder einer Tabelle anzeigen
mysql_num_fields()
Beispiel:
<?php
include
('config.php');
$a=
mysql_list_fields('xy','kunden');
$b= mysql_num_fields($a);
echo $b; //Ausgabe: 5
?>
Anzahl der
Datensätze einer Tabelle anzeigen
mysql_num_rows()
Beispiel:
<?php
include ('config.php');
$a= mysql_query ("select * from kunden");
$b=mysql_num_rows($a);
echo $b; //Ausgabe: 6
?>
Persistente (fortdauernde) Verbindung herstellen
mysql_pconnect()
mysql_pconnect(server, user, root)
Persistente Verbindungen bleiben auch nach dem Skriptende bestehen.
Sie können auch nicht über mysql_close() beendet werden.
Persistente Verbindungen sind nur bei der Modul-Version möglich.
PHP als Modul-Version
PHP als CGI-Version
Beispiel:
<?php
$a=mysql_pconnect(localhost, root, root);
$b= mysql_list_dbs();
while ($c=mysql_fetch_object ($b))
{
echo $c -> Database;
echo '<br>';
}
?>
Ausgabe:
cdcol
mysql
test
webauth
xy
MySQL-Abfrage senden
mysql_query()
Beispiel:
<?php
include
('config.php');
$a= mysql_query ("select * from kunden");
$b=
mysql_num_rows($a);
echo $b; //Ausgabe: 6
?>
Inhalt eines Feldes anzeigen
mysql_result()
Beispiel:
<?php
include
('config.php');
$a= mysql_query ("select email from kunden");
for($c=0;$c<mysql_num_rows($a);$c++)
{
echo mysql_result($a,$c);
echo '<br>';
}
?>
Ausgabe:
ch.burghardt@googlemail.com
romy.grumbach@web.de
svenja_gosch@web.de
Dominic.Kaminski@web.de
Petra.Haars@iqsh.de
Datenbank auswählen
mysql_select_db()
Beispiel:
<?php
$server= "localhost";
$user= "root";
$passwort= "root";
$datenbank= "xy";
$verbindung= mysql_connect ($server, $user, $passwort) or die ("Es konnte
keine
Verbindung zum Server hergestellt werden.");
mysql_select_db ($datenbank) or die ("Die Datenbank existiert nicht.");
?>
Tabellennamen anzeigen
mysql_tablename()
Beispiel:
<?php
include
('config.php');
$a= mysql_list_tables('xy');
for($b=0; $b<mysql_num_rows($a);
$b++)
{
echo mysql_tablename($a,$b); //Ausgabe: kunden
}
?>
Thread-ID anzeigen
mysql_thread_id()
Beispiel:
<?php
include ('config.php');
$b= mysql_thread_id($verbindung); //$verbindung aus der Datei
config.php
echo $b; //Ausgabe: 22 erhöht sich bei jedem Aufruf des Skripts um 1
?>
Microsoft Access
Beispiel Telefonbuch
Tabelle Personen:
Felder:
ID, Name, Vorname, Vorwahl, Telefonnummer, Veröffentlichen
Tabelle Vorwahlen:
Felder:
Vorwahl, Ort
Eigenschaften von Datenbanken
Enthält Daten über Objekte
Daten sind nach bestimmten Kriterien erfasst, geordnet und gespeichert
autorisierte Personen können auf diese Daten zugreifen
Datenbank = Datenbestand + Datenbankbetriebssystem z.B. Microsoft Access
Schnittstelle zwischen Datenbankbetriebssystem und Nutzer ist SQL (Structured
Query Language)
Felder = Eigenschaften der Tabelle
Feld muss in Tabelle einmalig sein
Datentypen für das Beispiel = Zahl, Text; Ja oder Nein
ODBC
Datentypen in Access
Text, 255Zeichen
Memo, 65536Zeichen
Zahl
Datum
Währung
Auto Wert
Ja Nein
OLE-Objekt OLE-Protkoll Word Dateien
Hyperlink
SQLite 3.2.8
relativ junge Datenbank
in PHP integriert
chdir C:\xampp\apache\bin
C-Bibliothek (keine Clientbibliothek) mit eingebettetem Datenbankserver
Befehle Kommandozeile
chdir C:\xampp\apache\bin
C:\xampp\apache\bin> sqlite3 xy
es wird die Datenbank xy geöffnet oder neu angelegt falls nicht
vorhanden
sqlite3 bedeutet Version 3
sqlite> create table kunden (anrede text, name text, vorname text, email
text);
sqlite> insert into kunden values( 'Herr', 'Burghardt', 'Christoph', 'ch.burghardt@googlemail.com');
sqlite> insert ino kunden values('Frau', 'Grumbach', 'Romy', 'romy.grumbach@web.de');
sqlite> select * from kunden;
sqlite> .exit
sqlite> .databases
sqlite> .help
SQLite Statements:
attach database
begin transaction
comment
commit transaction
copy
create index
create table
create trigger //trigger Schaltelement
create view
delete
detach database
drop index
drop table
drop trigger
drop view
end transaction
explain
expression
insert
on conflict clause
pragma
replace
rollback transaction
select
update
vacuum
'Schlüsselwort' wörtliche Zeichenkette
"Schlüsselwort" Bezeichner oder String
[Schlüsselwort] Identifier
Sqlite ist typlos, dies bedeutet:
ein Datentyp braucht bei der Erstellung von Tabellen nicht angegeben werden.
mögliche Datentypen in Sqlite:
varchar(14)
nvarchar(15)
text
integer
float
boolean
clob
blob
timestamp
numeric(10,5)
varying character(24)
nationlal varying charactrer(16)
auto_increment = in MySQL
integer primary key = in Sqlite
Integer primary key
Tabelle erstellen
sqlite> create table benutzer (id integer primary key, name text);
Eingabe ohne id
sqlite> insert into benutzer (name) values ('Romy Grumbach');
sqlite> insert into benutzer (name) values ('Karina Hartz');
Inhalt von der Tabelle benutzer anzeigen
sqlite> select * from benutzer;
Tabelle benutzer löschen
sqlite> drop table benutzer;
Bestimmte Daten der Tabelle abfragen
sqlite> select name from benutzer;
sqlite> select * from benutzer where id='2';
Ausgabe von sqlite verändern
voreingestellt ist:
sqlite> .mode list
Separator selbst wählen
sqlite> .separtor "///"
Ausgabe der Datensätze in einer neuen Reihe
Spaltenname wird mit angezeigt
sqlite> .mode line
sqlite> select * from benutzer;
Ausgabe der Datensätze in einer Tabelle
sqlite> .mode column
sqlite> select * from benutzer;
Breite der Spalten ändern
Tabellenkopf mit anzeigen (.header on)
Tabellenkopf nicht mit anzeigen (.header off)
sqlite> .mode column
sqlite> .width 50 50
sqlite> .header on
sqlite> select * from benutzer;
Ausgabe von HTML-Syntax
sqlite> .mode column
sqlite> .width 30 30
sqlite> .mode html
sqlite> select * from benutzer; // Tags <table> und </table> werden nicht
geschrieben
Ausgabe in Dateien schreiben
sqlite> .mode column
sqlite> .width 30 30
sqlite> .mode html
sqlite> .output benutzer.txt
sqlite> select * from benutzer;
Ausgabe in die Datei benutzer.txt // Tags <table> und </table>
wurden hinzugefügt
C:\xampp\apache\bin\benutzer.txt
| ID | name |
| 1 |
romy grumbach |
| 2 |
karina Hartz |
| 3 |
Christoph Burghardt |
Sqlite und PHP5
Datenbank öffnen und wenn nicht vorhanden anlegen
<?php
$a= sqlite_open('xxx'); //Die Datenbank xxx wird im Ordner
htdocs angelegt.
?>
Tabelle anlegen
<?php
$a=sqlite_open('xxx');
sqlite_query ($a, "create table benutzer (id integer primary
key, vorname text, name text)");
?>
Daten in die Tabelle eingeben
<?php
$a=sqlite_open('xxx');
sqlite_query($a, " insert into benutzer (vorname, name) values('romy', 'grumbach')");
?>
Datensätze anzeigen lassen
<?php
$a=sqlite_open('xxx');
$b= sqlite_query($a, "select * from benutzer where id='1' ");
while ($c= sqlite_fetch_array($b))
{
echo $c['vorname'];
echo '<br>';
echo $c['name'];
}
?>
Persistente Verbindungen herstellen
Verbindung bleibt auch nach Ausführung des Skriptes bestehen
sqlite_popen
Datenbank schließen
sqlite_close
Datenbankabfrage durchführen
sqlite_query
Beispiel: siehe
Datenbankabfrage - Rückgabewert als Array
sqlite_array_query
Beispiel:
<?php
$a=sqlite_open('xxx');
$b=sqlite_array_query($a, "select * from benutzer");
foreach ($b as $c) //Durchlaufen von Arrays
{
echo $c['id'], '<br>', $c['vorname'], '<br>', $c ['name'], '<br>';
}
?>
Rückgabewert wird schneller geliefert
Funktionen einbinden in sqlite
sqlite_create_function
<?php
$a=sqlite_open('xxx');
function x($string)
{
return strrev(md5($string));
}
sqlite_create_function($a, 'xxxx',
'x', 1);
$rows = sqlite_array_query($a, "select
xxxx(vorname) from benutzer
where id=2");
print_r($rows);
?>
einfache php-Funktion
<?php
function romy()
{
echo 1000+1000;
}
romy(); //Ausgabe: 2000
?>
Wartezeit setzen
sqlite_busy_timeout
Anzahl der geänderten Zeilen
sqlite_changes
Spalte aus der aktuellen Zeile eines Abfrageergebnisses holen
sqlite_column
Aktuelle Zeile als Array
sqlite_current
ähnlich wie sqlite_fetch_array, es wird aber nur eine Zeile angezeigt
Beispiel:
<?php
$a=sqlite_open('xxx');
$b= sqlite_query($a, "select * from benutzer ");
$c= sqlite_current($b);
echo $c['vorname'];
echo '<br>';
echo $c['name'];
echo '<br>';
?>
Strings für sqlite aufarbeiten
sqlite_escape_string
z.B. einfache Anführungsstriche werden in doppelte umgewandelt
Beispiel:
<?php
$a=sqlite_open('xxx');
$b="'Christoph'";
$c=sqlite_escape_string($b);
echo $b;
//Ausgabe: 'Christoph'
echo '<br>';
echo $c;
//Ausgabe: "Christoph"
?>
Nächste Zeile als Array holen
sqlite_fetch_array
Beispiel:
<?php
$a=sqlite_open('xxx');
$b= sqlite_query($a, "select * from benutzer ");
while ($c= sqlite_fetch_array($b))
{
echo $c['vorname'];
echo '<br>';
echo $c['name'];
echo '<br>';
}
?>
Erste Zeile eines Abfrageergebnisses holen
sqlite_fetch_single
Beispiel:
<?php
$a=sqlite_open('xxx');
$b= sqlite_query($a, "select * from benutzer ");
if(sqlite_num_rows($b) > 0)
{
echo sqlite_fetch_single($b);
//Ausgabe: 1 für ID=1
}
?>
Inhalt der ersten Spalte des Abfrageergebnisses
sqlite_fetch_string
<?php
$a=sqlite_open('xxx');
$b= sqlite_query($a, "select * from benutzer where vorname='karina'");
//Groß- und Kleinschreibung und ' '
echo sqlite_fetch_string($b); //Ausgabe: 2 erste Spalte ID=2
?>
Feldnamen anzeigen
<?php
$a=sqlite_open('xxx');
$b= sqlite_query($a, "select * from benutzer where vorname='karina'");
$d= sqlite_field_name($b,"1");
echo $d; //Ausgabe: vorname / Spalte0=ID,
Spalte1=vorname, Spalte2=name
?>
PHP Zeichnen,
Füllen und Schreiben
Zeichnen einer Linie
imageline()
imageline($im, x1,y1,x2,y2,color)
Hintergrundfarbe ändern
Linienfarbe ändern bzw. definieren
Linienstärke ändern bzw. definieren
Beispiel:
Hintergrund weiß
<?php
header ("Content-type: image/png");
$im =ImageCreate (1000,1000); //Größe des Bildes 1000 x 1000
Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$red = imagecolorallocate($im, 255, 0, 0); //Definition der
Linienfarbe Rot
$a=array($red);
imagesetstyle($im,$a);
imagesetthickness($im,8); // Definition der Linienstärke 8Pixel
imageline($im,0,400,1000,400,IMG_COLOR_STYLED); //Linie im x / y
Diagramm (x1=0 y1=400 x2=1000 y2=400)
imagepng($im); //Anzeige des Bildes
imagedestroy($im); // der durch das Bild belegte Speicher wird wieder
freigegeben
?>
Hintergrund schwarz
<?php
header ("Content-type: image/png");
$im =ImageCreate (1000,1000); //Größe des Bildes 1000 x 1000 Pixel
ImageColorAllocate($im,0,0,0); //Farbe des Bildes ist schwarz
$red = imagecolorallocate($im, 255, 0, 0); //Definition der Linienfarbe Rot
$a=array($red);
imagesetstyle($im,$a);
imagesetthickness($im,8); // Definition der Linienstärke 8Pixel
imageline($im,0,400,1000,400,IMG_COLOR_STYLED); //Linie im x / y Diagramm
(x1=0 y1=400 x2=1000 y2=400)
imagepng($im);
imagedestroy($im);
?>
Hintergrund rot
<?php
header ("Content-type: image/png");
$im =ImageCreate (1000,1000); //Größe des Bildes 1000 x 1000 Pixel
ImageColorAllocate($im,255,0,0); //Farbe des Bildes ist rot
$red = imagecolorallocate($im, 255, 0, 0); //Definition der Linienfarbe Rot
$a=array($red);
imagesetstyle($im,$a);
imagesetthickness($im,8); // Definition der Linienstärke 8Pixel
imageline($im,0,400,1000,400,IMG_COLOR_STYLED); //Linie im x / y Diagramm
(x1=0 y1=400 x2=1000 y2=400)
imagepng($im);
imagedestroy($im);
?>
Hintergrund grün
<?php
header ("Content-type: image/png");
$im =ImageCreate (1000,1000); //Größe des Bildes 1000 x 1000 Pixel
ImageColorAllocate($im,0,255,0); //Farbe des Bildes ist grün
$red = imagecolorallocate($im, 255, 0, 0); //Definition der Linienfarbe Rot
$a=array($red);
imagesetstyle($im,$a);
imagesetthickness($im,8); // Definition der Linienstärke 8Pixel
imageline($im,0,400,1000,400,IMG_COLOR_STYLED); //Linie im x / y Diagramm
(x1=0 y1=400 x2=1000 y2=400)
imagepng($im);
imagedestroy($im);
?>
Hintergrund blau
<?php
header ("Content-type: image/png");
$im =ImageCreate (1000,1000); //Größe des Bildes 1000 x 1000 Pixel
ImageColorAllocate($im,0,0,255); //Farbe des Bildes ist blau
$red = imagecolorallocate($im, 255, 0, 0); //Definition der Linienfarbe Rot
$a=array($red);
imagesetstyle($im,$a);
imagesetthickness($im,8); // Definition der Linienstärke 8Pixel
imageline($im,0,400,1000,400,IMG_COLOR_STYLED); //Linie im x / y Diagramm
(x1=0 y1=400 x2=1000 y2=400)
imagepng($im);
imagedestroy($im);
?>
Rechteck zeichnen mit PHP
imagerectangle()
imagerectangle(Bild, x1,y1,x2,y2,Lienienfarbe)
Beispiel:
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$red = imagecolorallocate($im, 255, 0, 0); //Definition der Linienfarbe Rot
$a=array($red);
imagesetstyle($im,$a);
imagerectangle($im, 5,5,1279,1023,IMG_COLOR_STYLED);
imagepng($im);
imagedestroy($im);
?>
Rechteck zeichnen farbig mit PHP
imagefilledrectangle()
Beispiel:
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$blue = imagecolorallocate($im, 0, 0, 255); //Definition der Füllfarbe blau
$a=array($blue);
imagesetstyle($im,$a);
imagefilledrectangle($im, 5,5,1279,1023,IMG_COLOR_STYLED);
imagepng($im);
imagedestroy($im);
?>
Ellipse zeichnen mit PHP
Die Ellipse ist der geometrische Ort aller Punkte einer Ebene, für die die
Summe der Abstände von
zwei festen Punkten konstant 2a ist.
imageellipse()
imageellipse($im, x,y,Breite,Höhe,Linienfarbe)
Beispiel:
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$blue = imagecolorallocate($im, 0, 0, 255); //Definition der Linienfarbe
blau
$a=array($blue);
imagesetstyle($im,$a);
imageellipse($im,500,50,100,1100,IMG_COLOR_STYLED); // (Bild, x, y, Breite,
Höhe, Farbe)
imageline($im,500,50,500,1000,IMG_COLOR_STYLED); // Hilfslinie
imagepng($im);
imagedestroy($im);
?>

Ellipse zeichnen und füllen mit PHP
imagefilledellipse()
Beispiel:
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$blue = imagecolorallocate($im, 0, 0, 255); //Definition der Füllfarbe blau
$a=array($blue);
imagesetstyle($im,$a);
imagefilledellipse($im,500,50,100,1100,IMG_COLOR_STYLED); // (Bild, x, y,
Breite, Höhe, Farbe)
imagepng($im);
imagedestroy($im);
?>
Teil einer Ellipse zeichnen mit PHP
imagearc()
imagearc($im, x, y, Breite, Höhe, Start (Winkel des Bogens in Grad), Ende
(Winkel des Bogens in Grad), Farbe)
Beispiel:
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$blue = imagecolorallocate($im, 0, 0, 255); //Definition der Linienfarbe
blau
$a=array($blue);
imagesetstyle($im,$a);
imagearc($im, 500, 500, 500, 1000, 0,180,IMG_COLOR_STYLED);
imagepng($im);
imagedestroy($im);
?>
Teil einer Ellipse zeichnen und füllen mit PHP
imagefilledarc()
imagefilledarc($im, x, y, Breite, Höhe, Start (Winkel des Bogens in Grad),
Ende (Winkel des Bogens in Grad),
Füllfarbe, Style)
Beispiel:
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$blue = imagecolorallocate($im, 0, 0, 255); //Definition der Füllfarbe blau
$a=array($blue);
imagesetstyle($im,$a);
imagefilledarc($im, 500, 500, 500, 1000,
0,180,IMG_COLOR_STYLED,IMG_ARC_PIE);
imagepng($im);
imagedestroy($im);
?>
Kreis zeichnen mit PHP
imagefilledarc()
imagefilledarc($im, x, y, Breite, Höhe, Start (Winkel des Bogens in Grad),
Ende (Winkel des Bogens in Grad),
Füllfarbe, Style)
Beispiel:
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$blue = imagecolorallocate($im, 0, 0, 255); //Definition der Füllfarbe blau
$a=array($blue);
imagesetstyle($im,$a);
imagefilledarc($im, 500, 500, 500, 500, 0,360,IMG_COLOR_STYLED,IMG_ARC_PIE);
imagepng($im);
imagedestroy($im);
?>
Kreisdiagramm
zeichnen, erstellen mit PHP
imagefilledarc()
imagefilledarc($im, x, y, Breite, Höhe, Start (Winkel des Bogens in Grad),
Ende (Winkel des Bogens in Grad),
Füllfarbe, Style)
Beispiel:
Darstellung von 75% blau von 0 bis 270 Grad
Darstellung von 25% gelb von 270 bis 360 Grad
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$blue = imagecolorallocate($im, 0, 0, 255); //Definition der Füllfarbe blau
$a=array($blue);
imagesetstyle($im,$a);
imagefilledarc($im, 500, 500, 500, 500,
0,270,IMG_COLOR_STYLED,IMG_ARC_PIE);
//75% von 0 bis 270 Grad
$yellow = imagecolorallocate($im, 255, 255, 0); //Definition der Füllfarbe
gelb
$b=array($yellow);
imagesetstyle($im,$b);
imagefilledarc($im, 500, 500,500,500,270,360,IMG_COLOR_STYLED,IMG_ARC_PIE);
//25% von 270 bis 360 Grad
imagepng($im);
imagedestroy($im);
?>

Polygon zeichnen mit PHP
Geschlossene ebene Figuren mit geradlinigen Begrenzungsstrecken als Seiten
werden Vielecke oder Polygone
genannt. Dreiecke und Vierecke sind besondere Polygone.
imagepolygon()
imagepolygon($im, Punktkoordinaten als Array, Gesamtzahl der Punkte,
Linienfarbe)
Beispiel:
<?php
header ("Content-type: image/png");
$im =ImageCreate (1280,1024); //Größe des Bildes 1280 x 1024 Pixel
ImageColorAllocate($im,255,255,255); //Farbe des Bildes ist weiß
$red = imagecolorallocate($im, 255, 0, 0); //Definition der Linienfarbe rot
$points=array(10,17,100,230,160,270,300,750,400,410); //x1=10 y1=17 x2=100
y2=230 usw.
$a=array($red);
imagepolygon($im,$points,5,$a);
imagepng($im);
imagedestroy($im);
?>

PDF-Dateien erstellen mit PHP
funktioniert mit PHP-Version 4.3.4
Beispiel:
<?php
$a=fopen("romy_grumbach.pdf", "w"); // Datei wird geöffnet oder neu erstellt
$b=pdf_open ($a);
pdf_begin_page ($b, 300,400); // innerhalb der PDF-Datei wird eine neue
Seite erstellt, Parameter Breite und Höhe
pdf_set_info($b, "Author", "Christoph Burghardt"); // Autor des Dokuments
pdf_set_info($b, "Creator", "PHP 4.3.4"); // erstellt mit
pdf_set_info($b, "Title", "Romy Grumbach"); // Titel
pdf_set_info($b, "Subject", "Erstellung einer PDF-Datei"); //Thema
pdf_set_info($b, "Keywords", "Evit 2007, IQSH, Romy Grumbach");
//Schlüsselwörter
pdf_set_font($b, "Verdana", 6, "winansi");
pdf_set_text_pos($b, 10,370); // Position im Dokument, unten links
Startpunkt
pdf_show($b, "Externe Evaluation im Team (EVIT) Evit-Landesbericht 2007 IQSH
"); // Inhalt
pdf_continue_text($b, "Evit-Landesbericht 2007 "); //Inhalt
Zeilenumbruch
pdf_continue_text($b, "Romy Grumbach");
pdf_continue_text($b, "Herausgeber: Institut für Qualitätsentwicklung an
Schulen Schleswig-Holstein (IQSH)");
pdf_continue_text($b, "Schreberweg 5, 24119 Kronshagen Tel.: (0431)
5403-0");
pdf_end_page($b);
pdf_close($b);
fclose($a);
?>
romy_grumbach.pdf
Notizen im PDF-Dokument anzeigen
Beispiel:
<?php
$c=fopen("dr_gesa_ramm.pdf", "w");
$d=pdf_open($c);
pdf_begin_page ($d, 300,400); // innerhalb der PDF-Datei wird eine neue
Seite erstellt, Parameter Breite und Höhe
pdf_set_info($d, "Author", "Christoph Burghardt"); // Autor des Dokuments
pdf_set_info($d, "Creator", "PHP 4.3.4"); // erstellt mit
pdf_set_info($d, "Title", "Dr. Gesa Ramm Evit 2007"); // Titel
pdf_set_info($d, "Subject", "Notizen im PDF-Dokument anzeigen"); //Thema
pdf_set_info($d, "Keywords", "Evit 2007, IQSH, Dr. Gesa Ramm");
//Schlüsselwörter
pdf_set_font($d, "Verdana", 6, "winansi");
pdf_set_text_pos($d, 10,370); // Position im Dokument, unten links
Startpunkt
pdf_show($d, "Indikatoren: Beurteilung durch das EVIT-Team Dr. Gesa Ramm");
// Inhalt
pdf_continue_text($d, "Fragebogenerhebungen: Einschätzungen der Schülerinnen
und Schüler,"); //Inhalt Zeilenumbruch
pdf_continue_text($d, "Lehrkräfte und Eltern"); //Inhalt Zeilenumbruch
pdf_continue_text($d, "Schulartübergreifende Ergebnisse"); //Inhalt
Zeilenumbruch
pdf_continue_text($d, "Ausgewählte schulartspezifische Ergebnisse");
//Inhalt Zeilenumbruch
pdf_add_note($d,10,370,300,400,"Gesa Ramm, so eine hübsche zierliche
Frau","Evit 2008","comment",0); //Notiz
//erster Paramter x=10 y=370 Position im Dokument
//zweiter Parameter x=300 y=400 obere rechte Ecke
pdf_end_page($d);
pdf_close($d);
fclose($c);
?>
dr_gesa_ramm.pdf
Einfügen eines Textes in ein PDF-Dokument
pdf_show_boxed()
Durch diese Funktion wird das Problem der Zeilenumbrüche bei der Erstellung
eines PDF-Dokuments
umgangen.
Beispiel:
<?php
$c=fopen("dr_gesa_ramm1.pdf", "w");
$d=pdf_open($c);
pdf_begin_page ( $d, 200, 8000 );
pdf_set_info($d, "Author", "Christoph Burghardt"); // Autor des Dokuments
pdf_set_info($d, "Creator", "PHP 4.3.4"); // erstellt mit
pdf_set_info($d, "Title", "Dr. Gesa Ramm Evit 2007"); // Titel
pdf_set_info($d, "Subject", "Einfügen eines Textes in ein PDF-Dokument mit
PHP"); //Thema
pdf_set_info($d, "Keywords", "Evit 2007, IQSH, Dr. Gesa Ramm");
//Schlüsselwörter
pdf_set_font ($d, 'Times-Roman', 2, 'winansi' ); //Schrift Größe
pdf_show_boxed ($d, '************Text*************', 10, 10, 150, 7970, 'left'
);
pdf_end_page($d);
pdf_close($d);
fclose($c);
?>
dr_gesa_ramm1.pdf
Einfügen von Bildern in ein PDF-Dokument
pdf_place_image()
pdf_place_image(Dokument, Bild, Position, Skalierungsfaktor)
pdf_close_image()
pdf_close_image(Dokument, Bild)
Beispiel:
<?php
$c=fopen("petra_haars.pdf", "w");
$d=pdf_open($c);
$im=pdf_open_jpeg($d,"evit.jpg");
$im1=pdf_open_jpeg($d,"evit1.jpg");
pdf_begin_page ( $d, 200, 500 );
pdf_set_info($d, "Author", "Christoph Burghardt"); // Autor des Dokuments
pdf_set_info($d, "Creator", "PHP 4.3.4"); // erstellt mit
pdf_set_info($d, "Title", "Petra Haars Mein Gender"); // Titel
pdf_set_info($d, "Subject", "Professionelle PDF Dokumente sollten
grundlegende Informationen enthalten."); //Thema
pdf_set_info($d, "Keywords", "Evit 2007, IQSH, Petra Haars,
Sachgebietsleiterin, Achterwehr,
Golfclub Lohersand, Elternbeirat, Profilierung im Elternbeirat");
//Schlüsselwörter
pdf_set_font ($d, 'Times-Roman', 4, 'winansi' ); //Schrift Größe
pdf_show_boxed ($d, 'Petra Haars - Mein Gender
Achterwehr
Reihenhausidylle
Elternbeirat
Golfclub Lohersand
IQSH
MBF
Medi Kuhlemann
Netzwerke im MBF
Professionelle PDF-Dokumente (z.B.Evit-Bericht) sollten einige grundlegende
In-
formationen enthalten.
Autor des Dokuments
erstellt mit
Schlüsselwörter
Thema
Titel
so sieht es bei Evit 2007 aus - darunter die Infos dieses Dokuments
', 10, 10, 150, 470, 'left' );
pdf_place_image($d,$im,10,270,0.1999); // 0.1999 bedeutet Skalierung des
Bildes
pdf_close_image($d, $im);
pdf_place_image($d,$im1,10,150,0.1999);
pdf_close_image($d, $im1);
pdf_end_page($d);
pdf_close($d);
fclose($c);
?>
petra_haars.pdf
Einfügen eines Links in ein PDF-Dokument mittels FPDF-Klasse
Der Ordner
fpdf153 wird auf dem Server benötigt (bei xampp im Ordner htdocs
speichern).
http://www.fpdf.org
Beispiel:
<?php
define('fpdf fontpath', 'font/');
require('fpdf153/fpdf.php');
$a=new fpdf();
$a->open();
$a->addpage();
$a->SetFont('Arial','B',8);
$a->write(5,"Dr.Gesa Ramm - durch EVIT Beschäftigung sichern - "
,"http://www.amazon.de/PISA-2003-Dokumentation-Erhebungsinstrumente-Gesa/dp/383091606X");
$a->output('dr_gesa_ramm2.pdf');
?>
dr_gesa_ramm2.pdf
E-Mail E-Mails versenden mit
PHP
HTML-Skript
<html>
<head>
<title> E-Mail versenden mit PHP </title>
</head>
<body>
<form name="emailform" method="POST" action="sendmail.php">
<h4> Ihre Nachricht </h4>
Name: <br>
<input type="text" name="name" size="30"> <br>
Ihre E-Mail Adresse: <br>
<input type="text" name="email" size="30"> <br>
Text: <br>
<textarea cols="24" rows="4" name="content">
</textarea>
<br>
<br>
<input type="submit" value="send">
<input type="reset" value="clear">
</form>
</body>
</html>
PHP-Skript - Datei sendmail.php
<?php
$a="ch.burghardt@googlemail.com"; // Empfänger
$b="Nachricht von Ihrer Homepage"; // Betreff
$c=$_POST ['name']; // Name
$d=$_POST ['email']; // E-Mail Adresse
$e=$_POST ['content']; // Text
$from="from:$c <$d>"; //Name und E-Mail Adresse zusammen
$g=mail($a,$b,$e,$from);
echo "Ihre Mail wurde verschickt";
print_r('<p>
<a title="zurück zum Anfang" href="http://www.christophburghardt.com/">
//hiermit gelangt man zurück zur Startseite
zurück zur Startseite</a></p>');
?>
Mit PHP eine E-Mail an zwei Empfänger gleichzeitig versenden
Datei sendmail.php
<?php
$a="ch.burghardt@googlemail.com"; // 1.Empfänger
$b="Nachricht von Ihrer Homepage"; // Betreff
$c=$_POST ['name']; // Name
$d=$_POST ['email']; // E-Mail Adresse
$e=$_POST ['content']; // Text
$from="from:$c <$d>"; //Name und E-Mail Adresse zusammen
$g=mail($a,$b,$e,$from);
echo "Ihre Mail wurde verschickt";
print_r('<p>
<a title="zurück zum Anfang" href="http://www.christophburghardt.com/">
zurück zur Startseite</a></p>');
?>
<?php
$r="romy.grumbach@googlemail.com"; // 2.Empfänger
$b="Nachricht von Ihrer Homepage"; // Betreff
$c=$_POST ['name']; // Name
$d=$_POST ['email']; // E-Mail Adresse
$e=$_POST ['content']; // Text
$from="from:$c <$d>"; //Name und E-Mail Adresse zusammen
$rg=mail($r,$b,$e,$from);
?>
Ende
Anfang
Inhalt:
Alle Datenbanken
anzeigen
Alle Tabellen einer
Datenbank anzeigen
Alle Felder
einer Tabelle anzeigen
Alle Datensätze einer Tabelle anzeigen
Arrays
Benutzername Passwort
Benutzerverwaltung php
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
for-Schleife
Funktionen
HTACCESS Zugriffsschutz
Inhalt eines
Feldes anzeigen
Kreisdiagramm erstellen
lang_getfrombrowser()
Login
Login-Funktion php
Mathematik Zahlenfolgen Vollständige Induktion Grenzwerte
Mathematik
Differentialrechnung
Mathematik Integralrechnung
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
Mathematik Forum OnlineMathe
Christoph Burghardt PC Instandsetzung PC Reparatur
Einleitung Text PHP 5 MySQL
|