PHP 5 Kochbuch - Adam Trachtenberg Sklar  Ulrich Speidel  Stephan Schmidt  David

PHP 5 Kochbuch

Buch | Softcover
794 Seiten
2005 | 2. Auflage
O'Reilly (Verlag)
978-3-89721-409-5 (ISBN)
46,00 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Das beliebte Kochbuch zu PHP in vollständig aktualisierter und erweiterter Neuauflage -- gesammeltes Wissen von amerikanischen und deutschen PHP-Experten! Das Buch behandelt jetzt PHP 5, es wurde komplett überarbeitet sowie durch neue Kapitel und Rezepte ergänzt. Neben einer umfangreichen Rezeptsammlung zum neuen PHP-Objektmodell bietet es eine ausführliche Einführung in Webservices und zeigt, wie man die in PHP 5 hinzugekommenen Iteratoren, Streams, Wrapper, Filter und Exceptions sinnvoll in der Praxis einsetzt. Auch das Kapitel zur XML-Verarbeitung wurde vollständig neu geschrieben und enthält jetzt Rezepte zu allen neuen XML-Erweiterungen von PHP 5.0, PECL und PHP 5.1.

Anstatt in Mailing-Listen, Online-Dokumentationen oder anderen Quellen stöbern zu müssen, können Sie sich auf das PHP 5 Kochbuch verlassen, das Sie schnell mit Lösungen für verbreitete Probleme versorgt. Die Rezepte reichen von einfacheren Aufgaben -- wie dem Absenden einer Datenbank-Abfrage und dem Auslesen von URLs -- bis zu ganzen Programmen, die komplexe Lösungen beispielsweise zur Ausgabe von HTML-Tabellen oder
zum Generieren von Balkendiagrammen demonstrieren. Das Buch behandelt in über 300 Rezepten die folgenden Themen:

* Basis-Datentypen, darunter Strings, Zahlen, Datums- und Zeitwerte und Arrays
* PHP-Bausteine wie Variablen, Funktionen, Klassen und Objekte
* Iteratoren, Streams, Wrapper, Filter und Exceptions
* Web-Programmierung einschließlich Formularen und Datenbank-Zugriff
* XML und Webservices
* Reguläre Ausdrücke, Verschlüsselung und Sicherheit, Grafik, Internationalisierung und Lokalisierung sowie Internetdienste
* Dateien und Dateiverzeichnisse
* PHP auf der Kommandozeile
* PEAR und PECL

Inhaltsverzeichnis

Einleitung XV
1
Strings 1

1.1Auf Teil-Strings zugreifen 4
1.2Teile von Strings ersetzen 5
1.3Einen String zeichenweise verarbeiten 6
1.4Einen String wort- oder zeichenweise umkehren 8
1.5Tabulatoren expandieren und komprimieren 8
1.6Die Groß- und Kleinschreibung in Texten ändern 10
1.7Funktionen und Ausdrücke in Strings interpolieren 12
1.8Leerzeichen aus einem String entfernen 13
1.9Kommaseparierte Daten zerlegen 14
1.10Begrenzte Daten mit fester Länge zerlegen 15
1.11Strings aufteilen 18
1.12Text an bestimmten Zeilenlängen umbrechen 20
1.13Binärdaten in einem String speichern 22

2
Zahlen 25

2.1Prüfen, ob ein String eine gültige Zahl enthält 26
2.2Fließkommazahlen vergleichen 27
2.3Fließkommazahlen runden 28
2.4Mit Bereichen von Integer-Zahlen arbeiten 29
2.5Zufallszahlen innerhalb eines Bereichs generieren 30
2.6Verzerrte Zufallszahlen generieren 32
2.7Logarithmen berechnen 33
2.8Potenzen berechnen 34
2.9Zahlen formatieren 35
2.10Den Plural korrekt ausgeben 36
2.11Trigonometrische Funktionen berechnen 37
2.12Trigonometrische Funktionen mit Graden anstelle von Bogenmaßen berechnen 38
2.13Mit sehr großen oder kleinen Zahlen arbeiten 39
2.14Zwischen Zahlensystemen konvertieren 40
2.15Mit anderen Zahlen als Dezimalzahlen rechnen 41

3
Datum und Zeit 43

3.1Das aktuelle Datum und die aktuelle Zeit feststellen 45
3.2Datums- und Zeitbestandteile in einenEpochen-Zeitstempel konvertieren 47
3.3Einen Epochen-Zeitstempel in Zeit- und Datumsbestandteile konvertieren 49
3.4Datum oder Zeit in einem bestimmten Format ausgeben 50
3.5Die Differenz zwischen zwei Datumswerten berechnen 54
3.6Den Abstand zwischen zwei Datumswerten über Julianische Tage ermitteln 56
3.7Den Tag der Woche, des Monats, des Jahres oder die Kalenderwoche des Jahres ermitteln 57
3.8Ein Datum validieren 59
3.9Datums- und Zeitwerte aus Strings lesen 61
3.10Addition und Subtraktion mit einem Datum 63
3.11Die Zeit mit Zeitzonen berechnen 64
3.12Die Sommerzeit berücksichtigen 69
3.13Zeitangaben mit hoher Genauigkeit generieren 70
3.14Zeiträume generieren 71
3.15Andere Kalender als den Gregorianischen verwenden 73
3.16Programm: Kalender 74

4
Arrays 77

4.1Ein Array anlegen, das nicht mit dem Element 0 beginnt 80
4.2Mehrere Array-Elemente unter einem Schlüssel speichern 81
4.3Ein Array mit einer Folge von Integer-Werten initialisieren 83
4.4Ein Array durchlaufen 83
4.5Elemente aus einem Array löschen 86
4.6Die Größe eines Arrays ändern 88
4.7Ein Array an ein anderes anfügen 90
4.8Ein Array in einen String verwandeln 92
4.9Ein Array mit Kommata ausgeben 94
4.10Prüfen, ob sich ein Schlüssel in einem Array befindet 95
4.11Prüfen, ob sich ein Element in einem Array befindet 96
4.12Die Position eines Elements in einem Array feststellen 97
4.13Elemente finden, die einer bestimmten Prüfung standhalten 98
4.14Das Array-Element mit dem größten oder kleinsten Wert finden 100
4.15Ein Array umkehren 101
4.16Ein Array sortieren 101
4.17Ein Array über ein berechnetes Feld sortieren 103
4.18Mehrere Arrays sortieren 105
4.19Ein Array mit Hilfe einer Methode statt einer Funktion sortieren 107
4.20Ein Array in eine zufällige Reihenfolge bringen 108
4.21Einen Kartenstapel mischen 109
4.22Doppelte Elemente aus einem Array entfernen 110
4.23Die Vereinigungs-, Schnitt- oder Differenzmenge zweier Arrays ermitteln 111
4.24Alle Elementkombinationen eines Arrays finden 113
4.25Alle Permutationen eines Arrays finden 115
4.26Programm: Ein Array horizontal angeordnet in einer HTML-Tabelle ausgeben 118

5
Variablen 121

5.1Die Verwechslung von == und = vermeiden 122
5.2Einen Vorgabewert festlegen 123
5.3Werte ohne Hilfe von temporären Variablen austauschen 124
5.4Einen dynamischen Variablennamen erzeugen 125
5.5Statische Variablen verwenden 126
5.6Variablen in mehreren Prozessen gemeinsam verwenden 128
5.7Komplexe Daten als String kapseln 130
5.8Variableninhalte als Strings ausgeben 131

6
Funktionen 135

6.1Auf Funktionsparameter zugreifen 136
6.2Vorgabewerte für Funktionsparameter festlegen 137
6.3Werte als Referenzen übergeben 139
6.4Benannte Parameter verwenden 140
6.5Funktionen mit einer variablen Anzahl von Argumenten verwenden 142
6.6Werte per Referenz zurückgeben 144
6.7Mehr als einen Wert zurückgeben 145
6.8Bestimmte Rückgabewerte überspringen 147
6.9Fehlermeldungen zurückgeben 148
6.10Variable Funktionen aufrufen 150
6.11Innerhalb einer Funktion auf eine globale Variable zugreifen 151
6.12Dynamische Funktionen erzeugen 153
6.13Objekt-Datentypen für Funktionsparameter vorschreiben 153

7
Klassen und Objekte 155

7.1Objekte instanziieren 161
7.2Objekte kopieren (klonen) 162
7.3Ein Objekt durch eine Unterklasse erweitern 164
7.4Auf eine überschriebene Methode zugreifen 166
7.5Eigenschaften und Methoden verstecken 168
7.6Objekt-Konstruktoren definieren 170
7.7Ein Objekt zerstören 172
7.8Eigenschaften mit _ _set() und _ _get() überladen 173
7.9Schreib- oder lesegeschützte Eigenschaften implementieren 176
7.10Methoden mit _ _call() überladen 178
7.11Methoden und Eigenschaften einer Klasse ermitteln 180
7.12Ein Objekt wie ein Array verwenden 182
7.13Polymorphe Methoden verwenden 184
7.14Objekt-Schnittstellen durch Interfaces standardisieren 186
7.15Einem Basisobjekt zusätzliche Eigenschaften hinzufügen 189
7.16Eine Klasse dynamisch erzeugen 190
7.17Ein Objekt dynamisch instanziieren 191

8
Effizienter Umgang mit Daten 193

8.1Über die Eigenschaften eines Objekt iterieren 195
8.2Einfache Objekt-Iteration mit IteratorAggregate und ArrayObject 196
8.3Einen eigenen Iterator implementieren 198
8.4Einen eigenen Wrapper für Streams schreiben 202
8.5Einen Stream filtern 206
8.6Eigene Filter schreiben 207

9
Fehlerbehandlung mit Exceptions210

9.1PHP-Fehler- und Warnmeldungen in Ausnahmen umwandeln 212
9.2Ausnahmen abfangen 213
9.3Eigene Ausnahmen werfen 214
9.4Klassenabhängiges Exception-Handling 216

10
Web-Grundlagen218

10.1Cookies setzen 219
10.2Cookie-Werte lesen 221
10.3Cookies löschen 222
10.4Zu einer anderen Adresse umleiten 223
10.5Sitzungen verfolgen 224
10.6Sessions in einer Datenbank speichern 225
10.7Verschiedene Browser erkennen 229
10.8Einen GET-Query-String bilden 231
10.9HTTP-Basic-Authentifizierung einsetzen 233
10.10Cookie-Authentifizierung verwenden 235
10.11Ausgaben vorzeitig an den Browser senden 238
10.12Ausgaben an den Browser zwischenspeichern 239
10.13Web-Ausgaben mit gzip komprimieren 240
10.14Fehlermeldungen vor Anwendern verbergen 241
10.15Einstellungen zur Fehlerbehandlung vornehmen 242
10.16Eine benutzerdefinierte Funktion zur Fehlerbehandlung verwenden 244
10.17Fehler protokollieren 246
10.18Den Fehler »headers already sent« vermeiden 247
10.19Debug-Informationen protokollieren 248
10.20Umgebungsvariablen lesen 251
10.21Umgebungsvariablen setzen 252
10.22Konfigurationsvariablen lesen 253
10.23Konfigurationsvariablen setzen 254
10.24Innerhalb von Apache kommunizieren 255
10.25Code-Profile generieren 257
10.26Geänderte Dateien herunterladen und unveränderte vom Browser cachen lassen 260
10.27Programm: (De-)Aktivator für Website-Konten 263
10.28Programm: Störungsprüfer 265

11
Formulare272

11.1Formulareingaben verarbeiten 274
11.2Formulareingaben prüfen 276
11.3Mit mehrseitigen Formularen arbeiten 278
11.4Formulare mit erhaltenen Informationen und Fehlermeldungen erneut anzeigen 281
11.5Mehrfaches Absenden desselben Formulars verhindern 284
11.6Hochgeladene Dateien verarbeiten 286
11.7Die Formularverarbeitung durch PHP absichern 288
11.8Steuerzeichen in Benutzerdaten durch Escape-Sequenzen ersetzen 290
11.9Mit Formularvariablen arbeiten, deren Name einen Punkt enthält 291
11.10Formularelemente mit Mehrfachoptionen verwenden 292
11.11Drop-down-Menüs auf Basis des aktuellen Datums erzeugen 294

12
Zugriff auf Datenbanken 296

12.1Textdateien als Datenbanken verwenden 303
12.2DBM-Datenbanken verwenden 304
12.3Eine SQLite-Datenbank einrichten 308
12.4Die Verbindung mit einer SQL-Datenbank herstellen 310
12.5Eine SQL-Datenbank abfragen 312
12.6Zeilen ohne Schleifen einlesen 314
12.7Daten in einer SQL-Datenbank verändern 316
12.8Abfragen effizient wiederholen 317
12.9Feststellen, wie viele Zeilen eine Abfrage zurückgegeben hat 319
12.10Behandlung von Anführungszeichen 320
12.11Debug-Informationen und Fehler protokollieren 322
12.12Eindeutige Kennzeichen automatisch zuweisen 325
12.13Abfragen programmgesteuert erstellen 326
12.14Paginierte Links für eine Reihe von Datensätzen generieren 331
12.15Abfragen und Ergebnisse zwischenspeichern 335
12.16Eine SSL-Verbindung zu einer MySQLi-Datenbank herstellen 337
12.17Programm: Ein Diskussionsforum speichern 339

13
Web-Automatisierung 347

13.1Eine URL mit der GET-Methode abrufen 349
13.2Eine URL mit der POST-Methode abrufen 351
13.3Eine URL mit Cookies abrufen 352
13.4Eine URL mit Headern abrufen 354
13.5Eine HTTPS-URL abrufen 356
13.6Den Datenaustauch auf HTTP-Ebene debuggen 356
13.7Eine Webseite mit Markup versehen 359
13.8Links aus einer HTML-Datei extrahieren 361
13.9ASCII in HTML konvertieren 362
13.10HTML in ASCII konvertieren 363
13.11HTML- und PHP-Tags entfernen 364
13.12Smarty-Templates einsetzen 365
13.13Die Protokolldatei eines Webservers analysieren 367
13.14Programm: Veraltete Links finden 369
13.15Programm: Aktualisierte Links herausfinden 372

14
XML 375

14.1XML manuell generieren 377
14.2XML mit DOM generieren 380
14.3XML-Dokumente mit xmlWriter generieren 383
14.4XML-Daten mit DOM parsen 386
14.5XML mit SAX parsen 389
14.6XML mit SimpleXML parsen 394
14.7Daten zwischen DOM und SimpleXML austauschen 398
14.8XML mit xmlReader parsen 401
14.9XML mit XSLT transformieren 407
14.10PHP-Funktionen in XSL-Stylesheets verwenden 409
14.11Informationen aus einem XML-Dokument selektieren 413
14.12XML-Dokumente für Menschen lesbar machen 418
14.13XML-Dokumente aus PHP-Datenstrukturen erzeugen 422
14.14XML-Dokumente in PHP-Arrays oder Objekte einlesen 425

15
Webservices 431

15.1XML-RPC-Anfragen senden 432
15.2XML-RPC-Anfragen empfangen 435
15.3XML-RPC-Anfragen mit der XMLRPCi-Erweiterung senden 438
15.4SOAP-Anfragen mit einem WSDL-Dokument senden 440
15.5SOAP-Anfragen ohne ein WSDL-Dokument senden 444
15.6SOAP-Anfragen empfangen 448
15.7Anfragen an den Amazon-Webservice senden 452
15.8Anfragen an den eBay-Webservice senden 457
15.9RSS-Feeds lesen 461
15.10REST-Anfragen senden 464
15.11Daten mit WDDX austauschen 469

16
Reguläre Ausdrücke472

16.1Von ereg zu preg wechseln 475
16.2Wörter suchen 477
16.3Den n-ten Match finden 478
16.4Zwischen gierigem und nicht-gierigem Matching wählen 479
16.5E-Mail-Adressen validieren 481
16.6Alle zu einem Muster passenden Zeilen in einer Datei finden 485
16.7Text innerhalb von HTML-Tags finden 485
16.8In regulären Ausdrücken Sonderzeichen verwenden 487
16.9Datensätze lesen, bei denen ein Muster als Separator dient 489

17
Verschlüsselung und Sicherheit 491

17.1Passwörter aus den Dateien Ihrer Site heraushalten 493
17.2Daten durch Kodierung verschleiern 494
17.3Daten durch Prüfsummen verifizieren 495
17.4Passwörter speichern 496
17.5Überprüfung der Passwortsicherheit 498
17.6Was tun bei verlorenen Passwörtern? 500
17.7Daten ver- und entschlüsseln 502
17.8Verschlüsselte Daten in einer Datei oder Datenbank speichern 506
17.9Verschlüsselte Daten gemeinsam mit einer anderen Website nutzen 509
17.10 SSL ermitteln 511
17.11E-Mail mit GPG verschlüsseln 512

18
Grafik 515

18.1Linien, Rechtecke und Vielecke zeichnen 519
18.2Bogen, Ellipsen und Kreise zeichnen 520
18.3Unterbrochene Linien zeichnen 522
18.4Text zeichnen 524
18.5Zentrierten Text zeichnen 526
18.6Dynamische Bilder zusammensetzen 531
18.7Eine transparente Farbe ermitteln und einstellen 534
18.8Programm: Heraufgeladene Digitalfotos auf Webformat verkleinern 535
18.9Grafiken geschützt ausgeben 538
18.10Programm: Aus Umfrageergebnissen Balkendiagramme erstellen 540

19
Internationalisierung und Lokalisierung544

19.1Vorhandene Locales auflisten 546
19.2Ein bestimmtes Locale verwenden 546
19.3Das Default-Locale setzen 548
19.4Textmeldungen lokalisieren 548
19.5Datum und Uhrzeiten lokalisieren 552
19.6Lokalisierung von Währungen 553
19.7Bilder lokalisieren 555
19.8Eingebundene Dateien lokalisieren 557
19.9Lokalisierungsressourcen verwalten 558
19.10gettext verwenden 560
19.11Unicode-Zeichen lesen und ausgeben 561

20
Internetdienste564

20.1E-Mails senden 565
20.2MIME-Mail senden 568
20.3E-Mail mit IMAP oder POP3 lesen 571
20.4Nachrichten an Usenet-Newsgruppen senden 574
20.5Usenet-Nachrichten lesen 576
20.6Dateien mit FTP herauf- und herunterladen 581
20.7Adressen über LDAP abfragen 584
20.8LDAP zur Benutzer-Authentifizierung verwenden 586
20.9DNS-Lookups ausführen 588
20.10Überprüfen, ob ein Host erreichbar ist 590
20.11Informationen über einen Domainnamen herausfinden 592

21
Dateien594

21.1Eine lokale Datei erstellen oder öffnen 598
21.2Eine temporäre Datei erstellen 599
21.3Eine Datei auf einem entfernten Server öffnen 600
21.4Eine Datei in einen String einlesen 602
21.5Einen String in eine Datei schreiben 603
21.6Die Zeilen, Absätze oder Datensätze in einer Datei zählen 604
21.7Jedes Wort einer Datei verarbeiten 606
21.8Eine bestimmte Zeile einer Datei einlesen 608
21.9Eine Datei zeilen- oder absatzweise in rückwärtiger Reihenfolge bearbeiten 609
21.10Eine Zeile per Zufall aus einer Datei auswählen 609
21.11Alle Zeilen einer Datei in eine Zufallsreihenfolge bringen 610
21.12Textfelder variabler Länge verarbeiten 611
21.13Konfigurationsdateien einlesen 612
21.14Von einer bestimmten Stelle einer Datei lesen oder an eine bestimmte Stelle einer Datei schreiben 615
21.15Die letzte Zeile einer Datei entfernen 616
21.16Eine Datei an ihrem Platz ohne eine temporäre Datei ändern 618
21.17Gepufferte Ausgabedaten in eine Datei schreiben 620
21.18An viele Datei-Handles gleichzeitig schreiben 621
21.19Metazeichen der Shell mit Escape-Zeichen versehen 622
21.20Einem Programm Eingabedaten durchgeben 624
21.21Die Standardausgabe eines Programms lesen 624
21.22Den Standardfehlerkanal eines Programms einlesen 626
21.23Eine Datei sperren 627
21.24Komprimierte Dateien lesen und schreiben 630
21.25Programm: Unzip 632

22
Verzeichnisse 634

22.1Zeitstempel auslesen und setzen 637
22.2Auf Dateiinformationen zugreifen 638
22.3Dateiberechtigungen oder Dateieigentümerschaft ändern 640
22.4Einen Dateinamen in seine Bestandteile zerlegen 641
22.5Eine Datei löschen 642
22.6Eine Datei kopieren oder verschieben bzw. umbenennen 643
22.7Alle Dateien in einem Verzeichnis bearbeiten 643
22.8Eine Liste von Dateinamen finden, die einem bestimmten Muster entspricht 645
22.9Dateien eines Verzeichnisses filtern 646
22.10Neue Verzeichnisse erstellen 647
22.11Ein Verzeichnis und seinen Inhalt löschen 649
22.12Programm: Eine Auflistung des Webserver-Verzeichnisses erstellen 649
22.13Programm: Site-Suche 654

23
PHP auf der Kommandozeile 659

23.1Programmparameter parsen 661
23.2Programmparameter mit Console_Getopt oder Console_Getargs parsen 662
23.3Von der Tastatur lesen 669
23.4Passwörter einlesen 670
23.5Die Ausgabe eines Kommandozeilen-Befehls weiterverarbeiten 673
23.6Dateien zeilenweise verarbeiten 675
23.7Prozesse forken 678
23.8Einen Server programmieren 681

24
PEAR 685

24.1PEAR installieren 686
24.2Den PEAR Package Manager verwenden 690
24.3PEAR-Pakete installieren und deinstallieren 692
24.4PEAR-Pakete upgraden 694
24.5PECL-Pakete installieren 696
24.6Pakete aus anderen Channels installieren 698
24.7PEAR in Shared-Hosting-Umgebungen installieren 703
24.8Eigene PEAR-Pakete erstellen 708
24.9Eigene Pakete über einen Channel-Server vertreiben 714

Index 725

Sprache deutsch
Einbandart Paperback
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Web / Internet PHP
Schlagworte Hardcover, Softcover / Informatik, EDV/Programmiersprachen • HC/Informatik, EDV/Programmiersprachen • MySQL • PHP • PHP 5 • PHP, Web, Webdevelopment, Webentwicklung, MySQL • Web • Webdevelopment • Webentwicklung
ISBN-10 3-89721-409-1 / 3897214091
ISBN-13 978-3-89721-409-5 / 9783897214095
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich