SELFPHP: Version 4.1 vom 03.09.2006, Autor: Damir Enseleit

sponsered by
Kaspersky Lab
SELFPHP 4.0 – Das neue Buch „SELFPHP Das PHP Kochbuch“ jetzt online verfügbar Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis! *

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem
Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Allgemeines

Seite Editorial Befehlsreferenz & Praxisbuch
Seite SELFPHP Banner *

PHP 4/5 Befehlsreferenz

Seite Hinweise zur Benutzung
Seite Funktionsreferenz
Seite Funktionsübersicht
Seite Befehlsverzeichnis

SELFPHP - Das PHP Kochbuch

Seite Hinweise zur Benutzung
Seite Kochbuch

CronJob

Seite Kostenloser CronJob-Dienst *
Seite Kostenpflichtiger CronJob-Dienst *

PHP5 Praxisbuch

Seite Hinweise zur Benutzung
Seite Praxisbuch

Content-Partnerschaft Videotrainings

Ausgewählte Video-Lektionen zum Gratis-Download - aus den preisgekrönten Video-Trainings von video2brain, dem Marktführer für Video-Trainings im deutschsprachigen Raum!
Exklusiv sind diese Video-Lektionen nur bei SELFPHP kostenlos erhältlich!

Seite Zum Gratis-Download/Zu den Video-Trainings *

SELFPHP im Buchformat

SELFPHP - DAS PHP KOCHBUCH, m. CD-ROM PHP 4/5 Befehlsreferenz, m. CD-ROM PHP 5, Studienausgabe, m. CD-ROM PHP 3/4 Befehlsreferenz, m. CD-ROM

SELFPHP

Befehlsreferenz - Tutorial - Forum . . . für PHP Einsteiger und professionelle Entwickler

Die aktuelle Version 4.0 von SELFPHP besteht aus über 1.000 Webseiten und umfasst eine Befehlsreferenz, ein Tutorial sowie ein Kochbuch zum Thema PHP.

Diese beinhaltet die PHP 4/5 Befehlsreferenz von Damir Enseleit mit 585 systematisch erklärten Befehlen. Die Befehlsreferenz stellt eine übersichtliche, nachvollziehbare Darstellung für die am meisten verwendeten Befehle von PHP dar. Mit Erläuterungen der Parameter und Beispielen zur Verwendung samt der Ausgabe dient die Referenz als Nachschlagewerk sowie als Lernhilfe.

Darüber hinaus beinhaltet diese Version das PHP 5 Praxisbuch von Matthias Kannengiesser. Das Tutorial vermittelt die Kenntnisse, um mit PHP anspruchsvolle Programmierlösungen zu entwickeln. Zusätzlich werden auch die grundlegenden Sprachelemente von PHP beschrieben.

Im Zuge des aktuellen Versionssprunges ist SELFPHP durch ein PHP Kochbuch erweitert worden. Integriert wurde das neue Buch SELFPHP Das PHP Kochbuch. Das Kochbuch von Damir Enseleit thematisiert anhand von immer wiederkehrenden Programmier-Problemstellungen wie mögliche Lösungsansätze aussehen können. Es werden eine Vielzahl von PHP-Problemstellungen erklärt und mit Beispielen sowie den passenden Ausgaben unterlegt, so dass systematische Lösungen für immer wiederkehrende Fragen aufgezeigt werden.

Ziel von SELFPHP ist es, den Besuchern, die alltägliche Arbeit mit PHP zu erleichtern. Neben der Dokumentation stehen zu diesem Zweck ebenfalls Foren rund um die Themen PHP für den Praxis-Austausch zur Verfügung.

Weitere Informationen zum Webprojekt, wie z.B. zu unseren Statistiken oder zur Entstehung, finden Sie auf der Seite "Über SELFPHP".

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt


SELFPHP: Über SELFPHP

Letztes Update: 30.08.2006 00:06:22

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Über SELFPHP

Das Webprojekt SELFPHP ist mit durchschnittlich über 550.000 Besuchern sowie über 5,2 Mio. PageImpressions pro Monat eine der meistgenutzten deutschsprachigen Webseiten zum Thema PHP. Bereits nach Abschluss des 1. Halbjahres im Jahr 2006 zeichnet sich jetzt schon deutlich ab, dass die Vorjahreszahlen wieder bei Weitem übertroffen werden! Im Juni 2006 verzeichnete SELFPHP einen neuen Rekord mit 750.655 Besuchern und im März 2006 mit 6.371.108 PageImpressions.

PHP ist die Abkürzung für "PHP: Hypertext Preprocessor", eine Open Source Skriptsprache, die zu den weltweit am häufigsten genutzten Technologien in der Web-Entwicklung gehört. SELFPHP existiert seit 2001 und war ursprünglich eine Befehlsreferenz, die als Nachschlagewerk und Lernhilfe für die am häufigsten genutzten Befehle von PHP online sowie offline zur Verfügung gestellt wurde.

Die aktuelle Version 4.0 von SELFPHP umfasst eine Befehlsreferenz, ein Tutorial sowie ein Kochbuch zum Thema PHP.

Diese beinhaltet die PHP 4/5 Befehlsreferenz von Damir Enseleit mit 585 systematisch erklärten Befehlen. Die Befehlsreferenz stellt eine übersichtliche, nachvollziehbare Darstellung für die am meisten verwendeten Befehle von PHP dar. Mit Erläuterungen der Parameter und Beispielen zur Verwendung samt der Ausgabe dient die Referenz als Nachschlagewerk sowie als Lernhilfe.

Darüber hinaus beinhaltet diese Version das PHP 5 Praxisbuch von Matthias Kannengiesser. Das Tutorial vermittelt die Kenntnisse, um mit PHP anspruchsvolle Programmierlösungen zu entwickeln. Zusätzlich werden auch die grundlegenden Sprachelemente von PHP beschrieben.

Im Zuge des aktuellen Versionssprunges ist SELFPHP durch ein PHP Kochbuch erweitert worden. Integriert wurde das neue Buch SELFPHP Das PHP Kochbuch. Das Kochbuch von Damir Enseleit thematisiert anhand von immer wiederkehrenden Programmier-Problemstellungen wie mögliche Lösungsansätze aussehen können. Es werden eine Vielzahl von PHP-Problemstellungen erklärt und mit Beispielen sowie den passenden Ausgaben unterlegt, so dass systematische Lösungen für immer wiederkehrende Fragen aufgezeigt werden.

Insgesamt besteht SELFPHP aus über 1.000 Webseiten und richtet sich an PHP Einsteiger und professionelle Entwickler, Web-Designer, Internet/Intranet- und Datenbank-Entwickler, Projektleiter, Softwareentwickler und Systemarchitekten.

Ziel von SELFPHP ist es, den Besuchern, die alltägliche Arbeit mit PHP zu erleichtern. Neben der Dokumentation stehen zu diesem Zweck ebenfalls Foren rund um die Themen PHP, MySQL, Apache-Webserver sowie HTML und JavaScript für den Praxis-Austausch zur Verfügung. Aktuell umfassen die Foren mehr als 77.000 Beiträge zu über 12.000 Themen.

Die Dokumentation von SELFPHP wird online sowie offline (in der Download-Version) kostenlos zur Verfügung gestellt. Darüber hinaus werden die Inhalte von SELFPHP vom Franzis Verlag im Buchhandel angeboten.

Literatur

  • Damir Enseleit: SELFPHP - DAS PHP KOCHBUCH, Franzis Verlag, Poing 2006, ISBN: 3772371078
  • Damir Enseleit: PHP 4/5 Befehlsreferenz, Franzis Verlag, Poing 2004, ISBN: 3772360769
  • Damir Enseleit, Matthias Kannengiesser: PHP 5 Praxisbuch & Referenz, Franzis Verlag, Poing 2004, ISBN: 3772365590
  • Damir Enseleit: PHP Kompaktreferenz, Franzis Verlag, Poing 2002, ISBN: 3772365507
  • Damir Enseleit: PHP 3/4 Befehlsreferenz, Franzis Verlag, Poing 2001, ISBN: 3772371841

Die Entstehung von SELFPHP

Die Entstehungsgeschichte von SELFPHP begann im März 2001 mit der Idee, ein Buch über die am häufigsten genutzten Befehle von PHP zu schreiben. Dieses Buch sollte als Nachschlagewerk für Programmierer dienen, um ihnen anhand von Beispielen die Verwendung der einzelnen Befehle zu erläutern. Bei der unüberschaubaren Vielzahl an PHP-Befehlen ist es kaum noch möglich, sich alle Befehle einwandfrei zu merken, ohne ein Nachschlagewerk zur Hilfe zu nehmen. Vor allem Anfänger, aber auch Fortgeschrittene stoßen da oftmals an ihre Grenzen. Sie kennen vielleicht den Befehl, können ihn aber nicht immer ohne Beispiel anwenden. Zu dieser Zeit gab es nur sehr wenige Bücher zu diesem Thema.

Unter anderem zeigte der Franzis Verlag sehr großes Interesse für diese Idee und somit war der Weg zu einer Buchveröffentlichung freigegeben. Die Entscheidung fiel auf den Franzis Verlag, da er als Buch- und Softwareverlag zu den ältesten und erfolgreichsten technischen Fachverlagen in Deutschland gehört. Durch den Franzis Verlag entstand dann auch der Kontakt zu SELFHTML von Stefan Münz, der dort ebenfalls seine Bücher veröffentlicht hat. Durch diesen Kontakt entstand das ursprüngliche Partnerprojekt von SELFHTML. Stefan Münz und Damir Enseleit beschlossen ein Partnerprojekt auf Basis von SELFHTML ins Leben zu rufen. Beide Projekte, SELFPHP und SELFHTML, sollten über dasselbe Aussehen sowie die gleiche Benutzerführung verfügen, um den Usern ein gewohntes Umfeld zu bieten.

Nach der Buchveröffentlichung der PHP 3/4 Befehlsreferenz ging SELFPHP im Oktober 2001 mit der Befehlsreferenz online. Das Webprojekt SELFPHP fand sehr hohen Anklang in der Internet-Community und konnte seither stetig wachsende Besucherzahlen verzeichnen. Bis zur Version 3.0 war SELFPHP ein privat geführtes Ein-Mann-Projekt. Nur Phasenweise gab es mithelfende Personen, die ebenfalls in ihrer Freizeit Arbeiten an SELFPHP ehrenamtlich ausübten. Das hat sich seit der Version 3.0 komplett geändert.

Im Zuge des Versionssprunges 3.0 ist SELFPHP neben Aktualisierungen der Befehlsreferenz um ein komplettes Tutorial zu PHP erweitert worden. Gleichzeitig haben wir nach 4 Jahren SELFPHP dieses Update zum Anlass genommen, SELFPHP mit einem neuen Corporate Design zu versehen. Die gewohnte Benutzerführung hat sich dabei nicht verändert, sondern wurde um nützliche Elemente wie Druckfunktionen, Schnellnavigation sowie zusätzliche Suchoptionen erweitert.

Die aktuelle Version SELFPHP 4.0

In der aktuellen Version 4.0 ist SELFPHP durch ein komplettes PHP Kochbuch erweitert worden. Integriert wurde das neue Buch „SELFPHP Das PHP Kochbuch“. Das Kochbuch von Damir Enseleit thematisiert anhand von immer wiederkehrenden Programmier-Problemstellungen wie mögliche Lösungsansätze aussehen können. Es werden eine Vielzahl von PHP-Problemstellungen erklärt und mit Beispielen sowie den passenden Ausgaben unterlegt, so dass systematische Lösungen für immer wiederkehrende Fragen aufgezeigt werden.

Unser Team

Damir Enseleit
Projektleitung / Programmierung

Matthias Kannengiesser
Praxisbuch Autor / Forum-Moderator

Renata Samele-Enseleit
Vertrieb/Marketing

Daniel Kressler
Programmierung / Forum-Administrator

SELFPHP Kurzprofil

Webprojekt (Stand: 03.07.2006)

Besteht seit: | 11.10.2001
Seiten: | 1.085
Besucher pro Monat im Ø: | 586.849
PageImpressions pro Monat im Ø: | 5.289.838
Downloads pro Monat im Ø: (vom selfphp) | 15.897

Forum (Stand: 03.07.2006)

Besteht seit: | 16.01.2002
Registrierte Benutzer: | 5.321
Themen: | 12.628
Beiträge: | 77.195

Neuer Besucher- und PageImpressions-Rekord in 2006:
Besucher-Rekord 06/2006: 750.655
PageImpressions-Rekord 03/2006: 6.371.108

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Impressum zu SELFPHP

Letztes Update: 30.08.2006 15:45:43

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Impressum zu SELFPHP

Kontaktdaten

Für das Projekt SELFPHP in deutscher Sprache ist inhaltlich Verantwortlicher gemäß § 6 MDStV:

SELFPHP
Damir Enseleit
Klosterstr. 63-65
D-50931 Köln

Tel.: | +49 (0)2 21 - 99 21 623
Fax: | +49 (0)2 21 - 99 21 625

USt-IdNr.: DE 216892017

E-Mail: | info@selfphp.de
Internet: | www.selfphp.de

SELFPHP ist eine eingetragene Marke von Damir Enseleit.

Inhaber/Domains

Inhaber der Domain selfphp.de, selfphp.at, selfphp.ch, selfphp.biz, selfphp3.de, selfphp4.de, selfphp.com und selfphp.info ist:

SELFPHP
Damir Enseleit
Klosterstr. 63-65
D-50931 Köln

Haftungshinweis

Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für die Inhalte externer Links. SELFPHP stellt Ihnen die Links auf andere Webseiten nur für eine Vereinfachung zur Verfügung und macht sich deren Inhalte durch diese Verknüpfung ("Hyperlinks") nicht zu eigen. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.

SELFPHP wird auf zahlreichen Servern gespiegelt, unter anderem auf Servern, die den Namen SELFPHP im Domain-Namen enthalten. Diese und andere Spiegelungen außerhalb der Domain selfphp.de, selfphp.at, selfphp.ch, selfphp.biz, selfphp3.de, selfphp4.de, selfphp.com und selfphp.info werden von anderen Anbietern veröffentlicht.

Einige Inhalte innerhalb des SELFPHP-Raums, wie etwa das SELFPHP Forum oder der Tipps & Tricks Bereich, werden größtenteils von Fremdautoren beigesteuert. Speziell im Forum erfolgt die Veröffentlichung automatisch und ohne vorherige redaktionelle Kontrolle, da dies zur Charakteristik solcher Einrichtungen gehört. Beiträge dort, die gesetzeswidrige Inhalte enthalten, werden gelöscht, sobald sie dem Veröffentlicher von SELFPHP bekannt werden. Besucher der Seiten sind dazu angehalten, dem Veröffentlicher von SELFPHP etwaige gesetzeswidrige Inhalte bekannt zu machen, um ihn bei dieser Aufgabe zu unterstützen.

Das Herunterladen, die Installation und die Verwendung der Beispiele im Bereich Tipps & Tricks Bereich erfolgt auf eigene Gefahr! Die Mitarbeiter von SELFPHP übernehmen keine Gewährleistung oder Haftung für Schäden oder Ausfälle, die durch die beschriebenen Programme entstehen können. Die Nutzer verzichten auf jedwede Ansprüche gegenüber Mitarbeitern von SELFPHP, die sich aus der Nutzung der Beispiele ergeben können.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Kontakt

Letztes Update: 30.08.2006 18:54:27

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kontakt

Hier finden Sie Ihre Ansprechpartner mit den entsprechenden Kontaktdaten.

Sie haben Fragen oder Anregungen rund um das Webprojekt SELFPHP oder interessieren Sie sich für Werbemöglichkeiten auf SELFPHP? Dann freuen wir uns auf Ihre Kontaktaufnahme!

SELFPHP
Klosterstr. 63-65
D-50931 Köln

Ihre Ansprechpartnerin:

Renata Samele-Enseleit
Dipl.-Kauffrau
Vertrieb/Marketing
Telefon: | +49 (0)2 21 - 99 21 623
Fax: | +49 (0)2 21 - 99 21 625
E-Mail: | renata.samele@selfphp.de

Ihre Ansprechpartner

Aufgrund der Vielzahl von Anfragen zu Themen der Programmierung oder zu Skriptproblemen, ist es uns zeitlich leider nicht mehr möglich, diese zu beantworten. Bitte haben Sie Verständnis dafür, dass wir daher ausschließlich Fragen zu den jeweils angegebenen Kategorien beantworten können. Fragen dieser Art und natürlich auch Weitere können Sie im Forum stellen. In der Regel erhalten Sie dort innerhalb von 24 Stunden eine Antwort.

Folgende Ansprechpartner freuen sich auf Ihre E-Mail!

Bei Fragen, Anregungen oder Kritik zur PHP 4/5 Befehlsreferenz:

Damir Enseleit
Projektleitung / Programmierung
Mail: d.enseleit@selfphp.de

Bei Fragen, Anregungen oder Kritik zum Forum:

Daniel Kressler
Programmierung / Forum-Administrator
Mail: d.kressler@selfphp.de

Bei Fragen, Anregungen oder Kritik zum PHP 5 Praxisbuch:

Matthias Kannengiesser
Praxisbuch Autor / Forum-Moderator
Mail: m.kannengiesser@selfphp.de

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Werbung auf SELFPHP

Letztes Update: 30.08.2006 00:08:27

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Werbung auf SELFPHP

Seite drucken

Sie interessieren sich für Werbemöglichkeiten auf SELFPHP?
Dann nehmen Sie bitte Kontakt mit uns auf. Wir beraten Sie sehr gerne!

Mediaberatung:

SELFPHP
Klosterstr. 63-65
D-50931 Köln

Ihre Ansprechpartnerin:

Renata Samele-Enseleit
Dipl.-Kauffrau
Vertrieb/Marketing
Telefon: | +49 (0)2 21 - 99 21 623
Fax: | +49 (0)2 21 - 99 21 625
E-Mail: | renata.samele@selfphp.de

Kurzinformationen zu unseren Statistiken erhalten Sie vorab in der Rubrik "Über SELFPHP". Ausführliche Informationen entnehmen Sie bitte unseren Mediadaten, die wir Ihnen auf Wunsch gerne zusenden.

Allgemeiner Hinweis zur Buchung von Werbung:

Bitte haben Sie Verständnis dafür, dass es ausschließlich Unternehmen vorbehalten ist, Werbung auf SELFPHP zu buchen, deren Thematik zu unserer Zielgruppe passt. Wir möchten damit gewährleisten, dass die Besucher von SELFPHP einen Mehrwert durch die bei uns geschaltete Werbung erhalten. Das ist jedoch nur möglich, wenn die beworbenen Produkte und Dienstleistungen dem Zielgruppen-Bedarf sowie dem Interesse unserer Besucher entsprechen.

Die Zielgruppen von SELFPHP sind:

  • PHP-Einsteiger und professionelle Entwickler
  • Web-Designer
  • Internet/Intranet- und Datenbank-Entwickler
  • Softwareentwickler
  • Projektleiter
  • Systemarchitekten

Wenn Ihre Thematik unsere Zielgruppe anspricht, dann freuen wir uns auf Ihre Kontaktaufnahme!

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

HighText iBusiness

News, Trends und Analysen für New Media Professionals

Seit 1991 berichtet der HighText Verlag mit seinen Trend- und Newsdiensten über die New Media Branche. Als erster deutscher Fachverlag hat sich HighText bereits 1991 ausschließlich auf das Thema "Interaktive Medien" konzentriert. Seit 1994 betreibt HighText, ebenfalls als einer der ersten deutschen Verlage, einen eigenen Webserver mit einem zunächst wöchenlichen und seit 1996 tagesaktuellen Online-Informationsangebot.

Die Publikationen des Hightext Verlags richten sich ausschließlich an Freelancer und Unternehmen der New Media Branche sowie an Firmen, die New-Media-Technologien professionell einsetzen. HighText unterstützt seine Leser in den Führungsetagen der New-Media-Unternehmen dabei mit seinen Trend- und Newsdiensten sowie den umfangreichen Service-Angeboten und Archiven auf http://www.ibusiness.de sowohl im täglichen Geschäft, als auch bei der strategischen Unternehmensplanung.

Briefing interaktiver Projekte – ein Leitfaden für Auftraggeber und Auftragnehmer

Dieser iBusiness Leitfaden bietet allen, die an Briefings für interaktive Projekte beteiligt sind, Tipps, Anleitungen, Hinweise sowie eine ausführliche Checkliste für effektive Briefings sowohl auf Auftraggeber- als auch auf Auftragnehmerseite.

Herausgeber: HighText-Verlag, Autor Jens Jacobsen, Februar 2006; ca. 36 Seiten, Grafiken; ISBN 3-933269-94-6, Preis: 19,80 Euro (inkl. MwSt).

Der HighText Verlag liefert innerhalb Deutschlands frei Haus
http://www.ibusiness.de/shop/db/shop.8358hr.html

Honorare und Produktionskosten bei der Entwicklung interaktiver Anwendungen.

Der iBusiness Honorarleitfaden basiert auf einer Auswertung der Stundensätze und Stückhonorare für Dienstleistungen und Services in der New Media Produktion von mehreren hundert Agenturen und Produzenten. Er bildet damit eine verlässliche Kalkulationsgrundlage sowohl für Auftraggeber als auch für Auftragnehmer.

ISBN 3-933269-73-3, Preis 19,95 Euro (inkl. MwSt).

Der HighText Verlag liefert innerhalb Deutschlands frei Haus
http://www.ibusiness.de/shop/db/shop.958158670dt.html
Unternehmensdaten

Gründungsjahr: 1991
Online seit: 1994
130.000 registrierte Nutzer
über 3500 Marktzahlen
über 60.000 redaktionelle Beiträge

Dienste und Publikationen

iBusiness.de
Honorarleitfaden
Gehaltsspiegel
Briefing-Leitfaden
Dienstleisterverzeichnis

Test-Mitgliedschaft

Testen Sie die iBusiness Premium-Mitgliedschaft für 14 Tage
Kontakt

HighText Verlag Graf und Treplin OHG
Wilhelm-Riehl-Straße 13
80687 München

Telefon: (089) 57 83 87-0
Telefax: (089) 57 83 87-99

E-Mail (für Anfragen):
info@hightext.de

E-Mail (für Pressemitteilungen):
redaktion@hightext.de

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis

sponsored by


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Kaspersky Lab

 Kaspersky Lab ist ein weltweit führendes Unternehmen, dessen innovative Technologien zuverlässig vor Viren, Spam und Hackern schützen.

Kaspersky Lab ist ein weltweit führendes Unternehmen in den Bereichen Viren-, Spam- und Hacker-Schutz. Unser hoch spezialisiertes Viren-Labor reagiert stets schneller als alle anderen auf neue Bedrohungen, so dass unsere innovativen Programme seit vielen Jahren Heimanwender und Unternehmen jeder Größe zuverlässig schützen.

Bereits 1997 wurde Kaspersky Lab von dem russischen Virenexperten Eugene Kaspersky in Moskau gegründet und hat heute unter anderem Niederlassungen in Deutschland, Frankreich, Großbritannien, Polen, Japan, USA und China. Weltweit beschäftigt Kaspersky Lab über 500 hochspezialisierte Mitarbeiter, darunter Mitglieder der Computer Anti-Virus Researchers Organisation (CARO) und des Virus Bulletin Technical Advisory Board.

Als erstes Unternehmen entwickelte Kaspersky Lab bedeutende Technologien, die heute selbst bei zahlreichen Antiviren-Programmen anderer Hersteller - wie G-Data, Aladdin und F-Secure - als Programm-Kern einen unverzichtbaren Bestandteil bilden. So vertrauen bereits über 75 Millionen Anwender unseren Innovationen, wie dem heuristischen Analysator zur Entdeckung und Entschärfung noch unbekannter Viren, den Micro-Updates für die Antiviren-Datenbanken und dem ersten umfassenden Virenschutz für Unix/Linux-Systeme.

Dank den stündlichen Updates der Antiviren-Datenbanken schützen die Kaspersky-Lösungen Computer, Server und Netzwerke zuverlässig und erkennen innerhalb kürzester Zeit neue Bedrohungen. Der hohe Sicherheitsstandard unserer Produkte wird durch zahlreiche Auszeichnungen internationaler Forschungs-einrichtungen, unabhängiger Testlabors und renommierter Fachpublikationen bestätigt:

Weitere Auszeichnungen finden Sie im Internet unter
http://www.kaspersky.com/de/awards

Produkte von Kaspersky Lab erhalten Sie für Workstations und Fileserver (Windows und Linux), Novell Netware, Microsoft Exchange, Microsoft ISA, Lotus Notes/Domino, SMTP-Gateways, aber auch für mobile Endgeräte.

Weitere Informationen zu den Produkten finden Sie im Internet unter
www.kaspersky.de.

Aktuelle Artikel und Berichte zur IT-Sicherheit und zu neuen Bedrohungen gibt es unter www.viruslist.com/de.

Unternehmensdaten

Gründungsjahr: 1997
Hauptsitz in Moskau, Niederlassungen in Deutschland, Frankreich, Großbritannien, Polen, Japan, USA und China
Mitarbeiter: weltweit über 550

Angebot/Portfolio

Software zum Schutz vor Viren, Spyware, Hackern und Spam.
Personal-Produkte für Heimanwender, Business-Lösungen für kleine und mittelständische Unternehmen, maßgeschneiderte Produkte und Dienstleistungen für große Firmen und Behörden

Demoversionen

Zu den Demoversionen
Kontakt

Kaspersky Labs GmbH
Steinheilstr. 13
85053 Ingolstadt

Telefon: (08 41) 98 18 90

E-Mail: info@kaspersky.de

Web: www.kaspersky.de

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Host Europe GmbH

 Mieten Sie qualitative, günstige Hosting-Lösungen - von kleinen Webpräsenzen bis zu komplexen Serversystemen - inklusive 24/7-Support (0800-Rufnummer).

Die Host Europe GmbH hat sich zur Aufgabe gemacht, erstklassige, zuverlässige und innovative Internet-Services für Privat- und Geschäftskunden in Deutschland, Österreich und der Schweiz zu entwickeln.

Das Unternehmen bietet seinen Kunden qualitative und zugleich preiswerte Hosting- und Onlinelösungen mit einem kompetenten und freundlichen Kundenservice rund um die Uhr an 365 Tagen im Jahr.

World Class Internet Services

Host Europe ist eine Tochtergesellschaft der englischen Aktiengesellschaft PIPEX PLC. Die Gruppe betreut heute mehr als 1.000.000 Kunden und hostet nahezu 1.300.000 Domains sowie über 8.000 dedicated / co-located Server in neun eigenen carrier- neutralen Data Centern in Deutschland und England.

Geschäftsbereiche:

DSL

Nutzen Sie die neue Technologie ADSL2+ und surfen Sie mit bis zu 20.000 kbit/s Downstream inklusive kostenloser Flatrate mit fester IP-Adresse, günstiger DSL-Telefonie, FRITZ!Box SL Modem, Webhsoting- und Sicherheitspaket sowie vielen weiteren Zusatzleistungen. Die erhebliche Leistungssteigerung durch ADSL2+ garantiert Ihnen den schnellen Download umfangreicher Dateien, rasend schnelles Musik- und Videostreaming (z.B. TV in HDTV-Qualität) sowie die gleichzeitige Nutzung mehrerer PCs oder Multimedia-Anwendungen (z.B. Videochats oder DSL-Telefonie).

Neben dem HE DSL2+ Paket bietet Host Europe zudem eine reine Surf Flat an.

Webhosting

Von der einfachen Sicherung Ihres Namens im Web über die Visitenkarte im Internet bis hin zur professionellen Unternehmens- darstellung bietet Host Europe mit seinen Webhosting-Produkten ideale Lösungen.

Domains

Wählen Sie aus 24 verschiedenen Domain-Endungen Ihre Wunsch-URL. Die Auswahl umfasst gängige Endungen wie DE, COM, NET, ORG sowie exklusivere Endungen wie z.B. TV, INFO oder BIZ. TIPP: Reservieren Sie sich schon jetzt kostenlos die neue europäischen Top-Level-Domain EU.

Für Kunden, die mehr als 50 Domains pro Jahr registrieren bietet Host Europe ein interessantes Business Reseller-Modell an.

VPS Hosting

Mit den VPS-Paketen nutzen Sie einen leistungsstarken virtuellen Server. Die virtuellen Server werden ausschließlich auf Dell-Hardware gehostet und basieren auf der bekannten VPS-Technologie "Virtuozzo". Zur Veranschaulichung heißt dies konkret: Diese Technologie erstellt mehrere isolierte VPS-Systeme auf einem physikalischen Server und sorgt dabei für eine optimale Teilung von Hardware, Lizenzen und Managementaufwand bei maximaler Leistung. Kunden können je nach Bedarf und Präferenz zwischen VPS-Systemen auf Linux- oder Windows-Basis wählen.

Server Hosting

HE Server werden zur Sicherung der Qualität auf Dell Marken-Hardware bereitgestellt. Die HE-Server-Angebote zeichnen sich vor allem durch hervorragend aufeinander abgestimmte Komponenten aus, die je nach Wunsch entsprechend bis ins Detail konfigurierbar sind.

Neben den HE-Servern bietet Host Europe gezielt Server-Lösungen auf Marken-Hardware von SUN oder Apple an.

VoIP Telefonie

Mit unseren HE Phone Paketen telefonieren Sie bereits ab 1,5 Cent/min ins deutsche Festnetz. Profitieren Sie von einer sekundengenauen Taktung zu einem festen Tarif sowie der Kostenkontrolle durch eine frei bestimmbare Kostensperre. Gespräche unter HE Phone Teilnehmern sind kostenfrei. Kostenfreie Gebührenansage vor jedem Gespräch, Übermittlung der eigenen Rufnummer (CLIP), persönlicher Anrufbeantworter im Netz (Voicebox) mit E-Mail-Benachrichtigung bei Nachrichteneingang, Einzelverbindungsnachweis in Echtzeit, Rückfrage und Makeln sind ebenfalls möglich.

Services

Eine Vielzahl an optionalen Dienstleistungen und Produkt- erweiterungen wie z.B. SSL-Server-Zertifikate, Service-Rufnummern und Service Level Agreements (Sicherheits- und Leistungsgarantien), Backup-, Firewall-, und Monitoringdienste sowie Systems Management, Managed Switch, Load Balancer und SSL-Accelerator-Lösungen runden die Produktpalette von Host Europe ab.

Support

Über eine 0800-Rufnummer (kostenfrei) steht den Host Europe-Kunden ein kompetenter Support 24/7 an 365 Tagen im Jahr zur Verfügung. Eine umfangreiche und täglich redaktionell erweiterte Supportdatenbank erweitert das Serviceangebot für Autodidakten.

Angebot/Portfolio

DSL
Webhosting
Domains
VPS Hosting
Server Hosting
VoIP Telefonie
Services
Support

Referenzen

Bibliographisches Institut & F.A. Brockhaus AG
Internet World
Data Becker
Fotocommunity

Kontakt

Host Europe GmbH
Postfach 92 02 54
D-51152 Köln

Infoline: (08 00) 4 67 83 87

E-Mail: info@hosteurope.de

Web: www.hosteurope.de

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

DOMAINMEDIA

Bei DOMAINMEDIA erhalten Sie Webhosting mit allen Features und unlimitiertem Traffic, sowie leistungsfähige dedizierte Mietserver und günstige Domains.

Die Webhostingangebote von DOMAINMEDIA richten sich an Unternehmen und Privatpersonen und sind besonders für die Nutzung von PHP als Programmiersprache optimiert. PHP steht in Version 4 und 5 parallel zur Verfügung, viele nützliche PHP-Erweiterungen sind bereits vorinstalliert und für Datenbankanwendungen kommt MySQL zum Einsatz.

Qualität und höchste Verfügbarkeit sind ebenso selbstverständlich wie ein kompetenter Kundensupport, der Sie auch in technischen Fragen nicht allein lässt. Dabei erhalten Sie Webhosting bei DOMAINMEDIA mit voller PHP-Funktionalität bereits ab günstigen 1,90 EUR monatlich.

Für größere Projekte und maximale Performance stehen außerdem dedizierte Mietserver zur Verfügung, die, mit aktuellem Betriebs- system und umfangreicher Software ausgestattet, vom Kunden selbständig administriert werden können.

Neben Webhosting und Mietservern gehören Softwareentwicklung und Consulting ebenso zu den Kernkompetenzen von DOMAINMEDIA. Für die leistungsfähige und skalierbare Mailserversoftware COMMUNIGATE PRO, die bis zu mehreren Millionen E-Mail-Accounts verwalten kann, besteht eine Premier Partnerschaft für die Region Mitteleuropa.

Unternehmensdaten

DOMAINMEDIA
c/o EXPRESSMEDIA GmbH
Am Mittelfelde 39
30519 Hannover

ANGEBOTE

Webhosting
Domains
Mietserver
Serverhousing
Software
Consulting

BESONDERHEITEN

eigenes Rechenzentrum
selbständiger Domainregistrar
COMMUNIGATE PRO Premier Partner

Kontakt

E-Mail: info@domainmedia.net

Web: www.domainmedia.net

Telefon: +49 511 2355589-31
Telefax: +49 511 2355589-41

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

bytecamp GmbH

bytecamp, Sponsor zahlreicher Open-Source-Projekte bietet Webhosting mit vielen Funktionen sowie Serverhousing im eigenen Rechenzentrum.

bytecamp wurde im Jahr 2000 von Profi-Entwicklern gegründet und betreut inzwischen tausende Kunden aus Industrie, Dienstleistungs- gewerbe, Handwerk und öffentlicher Verwaltung. Das Denic-Mitglied betreibt ein eigenes Rechenzentrum in Brandenburg an der Havel.

Technik:
Die Technik im bytecamp-Rechenzentrum wird rund um die Uhr sorgfältig inspiziert, um ein Höchstmaß an Zuverlässigkeit und Sicherheit zu garantieren. Die gesamte kritische Ausrüstung (z.B. USV, Klimaanlagen) wird regelmäßig gewartet und getestet. Vor Defekten und Störungen an entscheidenden Systemen warnen Überwachungssysteme. Der Zutritt zum Standort und zum Equipment der Kunden wird sorgfältig kontrolliert und protokolliert. Nur wirklich autorisiertes Personal erhält Zugang zur Kundenausrüstung.

Geschäftsbereiche:

Webhosting:
bytecamp bietet nur ein Paket das andere Anbieter sicherlich »Premium« nennen würden. Darin enthalten sind ein Multi-Installer für 50 populäre Web-Anwendungen, PHP5, PHP4, Mysql, 1 GB Webspace, Spamschutz für unbegrenzt viele POP-Konten, Virenscan, IMAP, Mailinglisten, Ausfallsicherheit durch Failover, kurze Ladezeiten durch Datenkompression und Lastverteilung auf mehrere Server. Kompetenten, kostenlosen Support gibt es während der gesamten Vertragslaufzeit.

Server Housing:
bytecamp betreibt ein eigenes Rechenzentrum. Die Administratoren sitzen nur eine Stahltür von den Servern getrennt. Im Gegensatz zu vielen anderen Anbietern setzt bytecamp beim Betriebsystem auf das freie Unix-Derivat FreeBSD. Server kann man mieten, kaufen und auch eigene Hardware anschließen.

Services:
Alle Angebote sind modular. Mit SSL-Server-Zertifikaten oder zusätzliche IP-Adressen können Pakete jederzeit erweitert werden. Kunden mit eigenem Server haben volle Kontrolle über Firewall-, Backup-, und Monitoringdienste.

Referenzen

Internationales Literaturfestival Berlin
bsdforen.de
Pro Generika e.V.
Ton Steine Scherben
Tyan Computer GmbH

Kontakt

bytecamp GmbH
Geschwister-Scholl-Straße 10
D-14776 Brandenburg a. d. Havel

Telefon: 03381-79637-0

E-Mail: support@bytecamp.net

Web: http://www.bytecamp.net/

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Franzis Buch- und Software-Verlag

Der Franzis Buch- und Software-Verlag gehört zu den erfolgreichsten und ältesten technischen Fachverlagen in Deutschland.

Der Verlag wurde 1827 gegründet, 1920 erschien die erste Zeitschrift, 1934 die ersten Buchtitel und seit 1992 verlegt FRANZIS erfolgreich Software. Das bedeutet Kompetenz und Zuverlässigkeit seit vielen Jahren.

Wir bringen Bücher und Software zu den Themen Computer, Elektronik und Telekommunikation heraus, wobei wir besonderen Wert auf Qualität und anwenderorientierten Praxisbezug legen. Denn wir möchten Ihnen weniger graue Theorie, sondern auf gutem Niveau und ohne technischen Ballast sofort anwendbare Lösungen für Ihre berufliche oder alltägliche Praxis bieten. Im Online-Bereich bietet FRANZIS schon seit längerem verstärkt Download-Titel und e-Books an. Schnell und bequem von jedem PC aus, 24 Stunden am Tag, 7 Tage die Woche. Besuchen Sie doch einfach unseren Internet-Shop unter www.franzis.de

Eines unserer erfolgreichen Buchtitel

Damir Enseleit, Matthias Kannengiesser:

Das PHP-Praxisbuch vermittelt die Kenntnisse, um mit PHP schnell anspruchsvolle Programmierlösungen zu entwickeln. Ob Formularauswertung oder Sessionverwaltung, dynamische Webseiten oder das perfekte Zu- sammenspiel von PHP und MySQL - hier finden Sie die Tricks und Kniffe, die die Entwicklung von PHP-Seiten erleichtern.
Die Befehlsreferenz war schon zur Vorgängerversion ein Standardwerk, die Online-Variante eine der meist- genutzten deutschsprachigen PHP-Webseiten. Übersichtliche, nachvollzieh- bare Darstellung der Befehle, Erläuterung der Parameter und Beispiele zur Verwendung samt der Ausgabe - all’ das macht die Referenz zum unentbehrlichen Nachschlagewerk.

Unternehmensdaten

Gegründet 1827
1920 die erste Zeitschrift
1934 erste Buchtitel
seit 1992 auch Software
Online seit 2000
ca. 25 Mitarbeiter

Unsere Produkte

Bücher
Software
Downloads

Der Franzis Shop

www.franzis.de

Kontakt

Franzis Verlag GmbH
Gruber Straße 46a
85586 Poing

Telefon:
+49 (0) 8121 95 0

Telefax:
+49 (0) 8121 95 16 96

Bestell-Hotline:
+49 (0) 8121 95 14 44

Support-Hotline von Franzis Produkten:

Telefax:
(01805) 95 05 06
(Euro 0,12 pro Minute)

Telefon:
(01805) 95 05 05
(Euro 0,12 pro Minute)
Mo-Fr von 12-18 Uhr

Email (Support Hotline)
hotline@franzis.de

Email (für Anfragen zu Produkten):
info@franzis.de

Email (Online Sales, Kooperationen, ESD):
Dholm@franzis.de

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

video2brain

Der Marktführer für Video-Trainings im deutschsprachigen Raum.

video2brain ist der Marktführer für Video-Trainings im deutschsprachigen Raum. Derzeit sind über 50 Titel im Programm, die in Kooperation mit den renommierten Fachbuch-Verlagen Markt+Technik und Addison-Wesley produziert werden. Zu den Kunden zählen ambitionierte Amateure ebenso wie selbständige Profis und Agenturen. Auch international tätige Unternehmen setzen bei der Produktion von Tutorials und Software-Demos auf die langjährige Erfahrung von video2brain.

Der Vertrieb der preisgekrönten Video-Trainings erfolgt direkt über www.video2brain.com sowie den Buch- und Softwarehandel. Die Spanne der Themen reicht von DTP, Bildbearbeitung und digitaler Postproduktion über aktuelle Anwender-Software bis hin zu Webtechnologien und Programmierung.

Weitere Informationen sind im Internet unter www.video2brain.com erhältlich. Dort finden Sie zahlreiche Gratis-Downloads zur gesamten Produktpalette von video2brain.

Praxisnahe Video-Trainings für schnelle erfolgreiche Ergebnisse

Das elearning Journal vergibt den eLearning Award an video2brain für seine äußerst gelungenen interaktiven Video-Trainings. Die gut strukturierten Trainings zeichnen sich durch Praxisnähe aus und ermöglichen didaktisches Lernen mit schnellen Erfolgen. Jede Menge Expertentipps runden das Ganze ab. Die Interaktivität der Trainings macht das Lernen zum Vergnügen.
Lesen Sie den gesamten Bericht des eLearning Journals online unter www.elearning-journal.de.

Auszug aus der preisgekrönten Produktpalette von video2brain

PHP 5.1
In diesem Video-Training folgen Sie den erfahrenen Entwicklern Tobias Hauser und Christian Wenz auf Schritt und Tritt bei ihrer Umsetzung PHP-basierter Webanwendungen.
Zum PHP 5.1 Video-Training

Erfolgreiche Websites
Dieses Video-Training zeigt, wie man was und womit macht, welche Fallen und Probleme es zu meistern gilt und wie man ein Webprojekt so konzipiert und umsetzt, das es in jeder Hinsicht erfolgreich wird.
Zum Erfolgreiche Websites Video-Training

Eclipse
Ob Installation und Basisfunktionen, Bedienkonzepte und Grundeinstellungen des Systems, Architektur und Erweiterungen oder Hinweise zum Debugging - Ihr Trainer Sven Wilhelm führt Sie Schritt für Schritt durch die Arbeit mit Eclipse 3.1.
Zum Eclipse Video-Training

CSS Design
Dieses Training bringt Sie so richtig vorwärts: Wer auf die CSS Technologie baut, folgt konsequent dem richtigen Ansatz für Webseiten – der Trennung von Inhalt und Formatierung.
Zum CSS-Design Video-Training

Dreamweaver 8
In über 8 Stunden Video-Traininig vermitteln Tobias Hauser und Christian Wenz Webstandards und alle Grundkenntnisse zu Themen wie Grafiken, Formatierung für Webseiten, Validierung (Syntaxüberprüfung einer Webseite) und Fehlerbehebung.
Zum Dreamweaver Video-Training

Kontakt

video2brain – Gerhard Koren
Idlhofgasse 31
A-8020 Graz

Tel.: +43 (0)720 80 50 00

Fax.: +43 (0)720 80 50 00 -99

E-Mail: office@video2brain.com

Web: www.video2brain.com

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

XLineSoft Limited

XLineSoft Limited - liefert innovative, leistungsfähige und sehr benutzerfreundliche Webentwicklungswerkzeuge.

PHPRunner - erstellen Sie ansprechende PHP und MySQL Webseiten ohne Programmierkenntnisse

PHPRunner gestaltet optisch ansprechende Weboberflächen für jede lokale oder entfernte MySQL, MS Access, SQL Server und Oracle Datenbank. Die Besucher Ihrer Webseite haben die Möglichkeit, Daten in Ihrer MySQL Datenbank auf einfache Weise zu suchen, hinzuzufügen, zu editieren, zu löschen und zu exportieren. Ausgefeilte Sicherheitsoptionen erlauben das einfache Erstellen von passwort-geschützten Webseiten, damit nur Mitglieder Zugriff haben. Der PHPRunner ist einfach zu erlernen, Sie benötigen daher für die Erstellung Ihres ersten Projekts nur 15 Minuten.

Funktionen:
Einfach zu bedienende Assistenten-Oberfläche
Zahlreiche Such-Modi
Hinzufügen, Ansehen, Editieren, Kopieren und Löschen von Seiten
Integrierter FTP Client, um PHP-Seiten auf dem Webserver speichern zu können
Vorlagen zur Mehrsprachigkeit. Während der Anmeldung kann die Sprache gewählt werden
Erstellt passwortgeschützte PHP-Seiten
Selbstregistrierungsseite, Passwort-Reminder, Seite zur Passwortänderung

Die Vorteile von PHPRunner sind:
Sie sparen Zeit und Geld
Die Funktionalität Ihrer Webseite wird verbessert
Sie erstellen einen stabilen und einfach zu ändernden Code
Durch die einfache Bedienung erstellen Sie Ihre ersten PHP-Seiten in nur 15 Minuten
Es ist keine Programmierung nötig

Was bietet mir PHPRunner?
Sammeln von Benutzerinformationen
Telefon- und Adressbuch
Artikel zu Neuigkeiten
Produktlisten
Webbasierte Datenbanksuche und -eingabe
Webbasierte Berichte
Passwortgeschützte Webseiten nur für Mitglieder

Kontakt

XLineSoft Limited
Zettachring 10
D-70567 Stuttgart

Tel.: +49 (0)711-49097-535

Fax.: +49 (0)711-49097-215

E-Mail: dach@xlinesoft.com

Web: http://www.xlinesoft.com

Demoversionen

PHPRunner

Screenshots

PHPRunner

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Nevron LLC

 Nevron .NET Vision is the ultimate suite for creating unique and powerful data presentation applications with spectacular data visualization capabilities.

Nevron LLC has been the name of the world's most innovative company developing component based data visualization technology for more than 7 years now. Today Nevron is a synonym of premium quality data visualization.

The company portfolio includes the world’s most advanced charting and diagramming components for the .NET platform. Their perfection, quality and innovative design are unique.

References:

SmarterTools Inc. decided on Nevron Chart for .Net as an integral part of the SmarterTools product line. The component has shown itself to be capable of producing tens of thousands of charts a day with unmatched quality and stability. After reviewing dozens of the leading charting components, we found Nevron produces superior images, allows for easy integration, and provides very competitive licensing.
Grady Werner,
SmarterTools Inc.

Hewlett Packard - Indigo chose Nevron Chart for .NET and Nevron Chart for ActiveX for primary chart rendering components inside the HP Indigo software controlling the HP Indigo digital printing presses.
The software operates on some of the most expensive and high quality printing presses available on the market.
A down to the pixel comparison of images generated by all major chart component vendors proved that only Nevron components can produce the required image quality in the requested time frame.

Products:

Nevron Chart for .NET (Windows Forms and ASP.NET) is the leading data visualization component for .NET. With it you will be able to display dynamic charts in minutes. In terms of flexibility, speed and presentation quality this component simply has no competition. The only chart for .NET which can display distinct looking charts with presentation "out of the box" quality, without sacrificing speed. Nevron Chart for .NET is powerful, flexible, extensible and user-friendly. It aims to provide your applications with data visualization capabilities, which will significantly improve the looks and penetration of your product. Nevron Chart for .NET is a unique component, since it combines the power of raster and vector graphics and employs state of art 2D and 3D rendering technologies.

Nevron Diagram for .NET (Windows Forms and ASP.NET) is a fully managed, extensible and powerful diagramming framework, which can help you create feature rich diagramming solutions in WinForms and WebForms. The product is built on top of the Nevron Presentation Framework and thus provides you with advanced capabilities for stunning visual impact, which you will not find in any other product - including commercial standalone diagramming applications. Nevron Diagram for .NET has been carefully designed to meet a vast amount of customization requests. It has an excellent object model and its API has been thoroughly refined to be as native and intuitive as possible. The product itself exploits a large set of modern design patterns, which ensures its scalability.

Nevron User Interface for .NET is the only suite on the market with such a remarkable render quality and speed. Explore rich and powerful docking library, professional and extensible command bars and unique features like skinnable forms, rich-text labels, modern fill effects (glass, gel) designed to bring to your .NET applications the latest GUI standards and technologies. The suite introduces lots of modern custom controls such as MS Outlook 2003 Navigation Pane, Windows XP Explorer Bar and complete set of extended Windows Forms controls making it easy to create a distinguished, stylish and modern end-user presentation layer.

The above products are all combined in the following bundle:

Nevron .NET Vision is the ultimate suite for creating unique and powerful data presentation applications with spectacular data visualization capabilities. The Suite features Nevron Chart for .NET, Nevron Diagram for .NET and Nevron User Interface for .NET. The well designed object model, numerous features and unmatched presentation "out of the box" quality makes the visualization of complex data easy and comprehensible. This makes Nevron .NET Vision an award winning component suite.

Company Overview

Year of foundation:
1998
Company Headquarters:
New Jersey, USA

Demo versions

Nevron .NET Vision

Company Headquarters

Nevron LLC
201 Morton Ave.
South Plainfield
New Jersey USA

E-Mail: email@nevron.com

Web: www.nevron.com

Kontakt
zum Anbieter

zurück zum Anbieterverzeichnis


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

[A] B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A [B] C D E F G H I J K L M N O P Q R S T U V W X Y Z

bytecamp GmbH

bytecamp, Sponsor zahlreicher Open-Source-Projekte bietet Webhosting mit vielen Funktionen sowie Serverhousing im eigenen Rechenzentrum.

bytecamp GmbH

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B [C] D E F G H I J K L M N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C [D] E F G H I J K L M N O P Q R S T U V W X Y Z

DOMAINMEDIA

Bei DOMAINMEDIA erhalten Sie Webhosting mit allen Features und unlimitiertem Traffic, sowie leistungsfähige dedizierte Mietserver und günstige Domains.

DOMAINMEDIA

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D [E] F G H I J K L M N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E [F] G H I J K L M N O P Q R S T U V W X Y Z

Franzis Buch- und Software-Verlag

Der Franzis Buch- und Software-Verlag gehört zu den erfolgreichsten und ältesten technischen Fachverlagen in Deutschland.

Franzis Buch- und Software-Verlag

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F [G] H I J K L M N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G [H] I J K L M N O P Q R S T U V W X Y Z

HighText iBusiness

News, Trends und Analysen für New Media Professionals

HighText iBusiness

Anbieterprofil
zum Anbieter

Host Europe GmbH

Mieten Sie qualitative, günstige Hosting-Lösungen - von kleinen Webpräsenzen bis zu komplexen Serversystemen - inklusive 24/7-Support (0800-Rufnummer).

Host Europe GmbH

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H [I] J K L M N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I [J] K L M N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J [K] L M N O P Q R S T U V W X Y Z

Kaspersky Labs GmbH

Kaspersky Lab ist ein weltweit führendes Unternehmen, dessen innovative Technologien zuverlässig vor Viren, Spam und Hackern schützen.

Kaspersky Labs GmbH

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K [L] M N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L [M] N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M [N] O P Q R S T U V W X Y Z

Nevron LLC

Nevron .NET Vision is the ultimate suite for creating unique and powerful data presentation applications with spectacular data visualization capabilities.

Nevron LLC

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N [O] P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O [P] Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P [Q] R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q [R] S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R [S] T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S [T] U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T [U] V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U [V] W X Y Z

video2brain

Der Marktführer für Video-Trainings im deutschsprachigen Raum.

video2brain

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V [W] X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W [X] Y Z

XLineSoft Limited

XLineSoft Limited - liefert innovative, leistungsfähige und sehr benutzerfreundliche Webentwicklungswerkzeuge.

XLineSoft Limited

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X [Y] Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y [Z]

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

bytecamp GmbH

bytecamp, Sponsor zahlreicher Open-Source-Projekte bietet Webhosting mit vielen Funktionen sowie Serverhousing im eigenen Rechenzentrum.

bytecamp GmbH

Anbieterprofil
zum Anbieter

DOMAINMEDIA

Bei DOMAINMEDIA erhalten Sie Webhosting mit allen Features und unlimitiertem Traffic, sowie leistungsfähige dedizierte Mietserver und günstige Domains.

DOMAINMEDIA

Anbieterprofil
zum Anbieter

Franzis Buch- und Software-Verlag

Der Franzis Buch- und Software-Verlag gehört zu den erfolgreichsten und ältesten technischen Fachverlagen in Deutschland.

Franzis Buch- und Software-Verlag

Anbieterprofil
zum Anbieter

HighText iBusiness

News, Trends und Analysen für New Media Professionals

HighText iBusiness

Anbieterprofil
zum Anbieter

Host Europe GmbH

Mieten Sie qualitative, günstige Hosting-Lösungen - von kleinen Webpräsenzen bis zu komplexen Serversystemen - inklusive 24/7-Support (0800-Rufnummer).

Host Europe GmbH

Anbieterprofil
zum Anbieter

Kaspersky Labs GmbH

Kaspersky Lab ist ein weltweit führendes Unternehmen, dessen innovative Technologien zuverlässig vor Viren, Spam und Hackern schützen.

Kaspersky Labs GmbH

Anbieterprofil
zum Anbieter

Nevron LLC

Nevron .NET Vision is the ultimate suite for creating unique and powerful data presentation applications with spectacular data visualization capabilities.

Nevron LLC

Anbieterprofil
zum Anbieter

video2brain

Der Marktführer für Video-Trainings im deutschsprachigen Raum.

video2brain

Anbieterprofil
zum Anbieter

XLineSoft Limited

XLineSoft Limited - liefert innovative, leistungsfähige und sehr benutzerfreundliche Webentwicklungswerkzeuge.

XLineSoft Limited

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Franzis Buch- und Software-Verlag

Der Franzis Buch- und Software-Verlag gehört zu den erfolgreichsten und ältesten technischen Fachverlagen in Deutschland.

Franzis Buch- und Software-Verlag

Anbieterprofil
zum Anbieter

Kaspersky Labs GmbH

Kaspersky Lab ist ein weltweit führendes Unternehmen, dessen innovative Technologien zuverlässig vor Viren, Spam und Hackern schützen.

Kaspersky Labs GmbH

Anbieterprofil
zum Anbieter

Nevron LLC

Nevron .NET Vision is the ultimate suite for creating unique and powerful data presentation applications with spectacular data visualization capabilities.

Nevron LLC

Anbieterprofil
zum Anbieter

video2brain

Der Marktführer für Video-Trainings im deutschsprachigen Raum.

video2brain

Anbieterprofil
zum Anbieter

XLineSoft Limited

XLineSoft Limited - liefert innovative, leistungsfähige und sehr benutzerfreundliche Webentwicklungswerkzeuge.

XLineSoft Limited

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

bytecamp GmbH

bytecamp, Sponsor zahlreicher Open-Source-Projekte bietet Webhosting mit vielen Funktionen sowie Serverhousing im eigenen Rechenzentrum.

bytecamp GmbH

Anbieterprofil
zum Anbieter

DOMAINMEDIA

Bei DOMAINMEDIA erhalten Sie Webhosting mit allen Features und unlimitiertem Traffic, sowie leistungsfähige dedizierte Mietserver und günstige Domains.

DOMAINMEDIA

Anbieterprofil
zum Anbieter

Host Europe GmbH

Mieten Sie qualitative, günstige Hosting-Lösungen - von kleinen Webpräsenzen bis zu komplexen Serversystemen - inklusive 24/7-Support (0800-Rufnummer).

Host Europe GmbH

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Franzis Buch- und Software-Verlag

Der Franzis Buch- und Software-Verlag gehört zu den erfolgreichsten und ältesten technischen Fachverlagen in Deutschland.

Franzis Buch- und Software-Verlag

Anbieterprofil
zum Anbieter

HighText iBusiness

News, Trends und Analysen für New Media Professionals

HighText iBusiness

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

HighText iBusiness

News, Trends und Analysen für New Media Professionals

HighText iBusiness

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

DOMAINMEDIA

Bei DOMAINMEDIA erhalten Sie Webhosting mit allen Features und unlimitiertem Traffic, sowie leistungsfähige dedizierte Mietserver und günstige Domains.

DOMAINMEDIA

Anbieterprofil
zum Anbieter

Franzis Buch- und Software-Verlag

Der Franzis Buch- und Software-Verlag gehört zu den erfolgreichsten und ältesten technischen Fachverlagen in Deutschland.

Franzis Buch- und Software-Verlag

Anbieterprofil
zum Anbieter

Kaspersky Labs GmbH

Kaspersky Lab ist ein weltweit führendes Unternehmen, dessen innovative Technologien zuverlässig vor Viren, Spam und Hackern schützen.

Kaspersky Labs GmbH

Anbieterprofil
zum Anbieter

Nevron LLC

Nevron .NET Vision is the ultimate suite for creating unique and powerful data presentation applications with spectacular data visualization capabilities.

Nevron LLC

Anbieterprofil
zum Anbieter

video2brain

Der Marktführer für Video-Trainings im deutschsprachigen Raum.

video2brain

Anbieterprofil
zum Anbieter

XLineSoft Limited

XLineSoft Limited - liefert innovative, leistungsfähige und sehr benutzerfreundliche Webentwicklungswerkzeuge.

XLineSoft Limited

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Diese Rubrik bzw. Seite ist noch nicht belegt

Ausführliche Informationen für einen Eintrag in unserem Anbieterverzeichnis finden Sie hier.

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


SELFPHP: Anbieterverzeichnis

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anbieterverzeichnis

Willkommen im Anbieterverzeichnis von SELFPHP!

Im Anbieterverzeichnis von SELFPHP können Anbieter ihr Unternehmen sowie ihre Produkte und Dienstleistungen präsentieren. Mit der Navigation rechts können Sie sich die Anbieter nach Rubriken anzeigen lassen. Der Link "Anbieterprofil" führt zu einem Porträt der Anbieter sowie der Darstellung Ihrer Angebote. Über den Link "zum Anbieter" erreichen Sie die Homepage der Anbieter.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

video2brain

Der Marktführer für Video-Trainings im deutschsprachigen Raum.

video2brain

Anbieterprofil
zum Anbieter

Übersicht
Webhosting
Fachverlage
Fachzeitschriften
Software
Hardware
Portale
Seminaranbieter
E-Learning
Online-Handel


Übersicht Befehlsverzeichnis A

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis A

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
abs
acos
addcslashes
addslashes
array
array_change_key_case
array_chunk
array_combine
array_count_values
array_diff
array_fill
array_filter
array_flip
array_intersect
array_intersect_assoc
array_keys
array_key_exists
array_map
array_merge
array_merge_recursive
array_multisort
array_pad
array_pop
array_push
array_rand
array_reduce
array_reverse
array_search
array_shift
array_slice
array_splice
array_sum
array_unique
array_unshift
array_values
array_walk
arsort
asin
asort
atan
atan2


Übersicht Befehlsverzeichnis B

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis B

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
base64_decode
base64_encode
basename
base_convert
bcadd
bccomp
bcdiv
bcmod
bcmul
bcpow
bcscale
bcsqrt
bcsub
bin2hex
bindec
break


Übersicht Befehlsverzeichnis C

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis C

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
call_user_func
call_user_func_array
call_user_method
call_user_method_array
ceil
chdir
checkdate
chgrp
chmod
chop
chown
chr
chunk_split
class_exists
clearstatcache
closedir
compact
connection_aborted
connection_status
connection_timeout
continue
convert_cyr_string
copy
cos
count
count_chars
crack_check
crack_closedict
crack_getlastmessage
crack_opendict
crc32
create_function
crypt
current


Übersicht Befehlsverzeichnis D

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis D

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
date
decbin
dechex
decoct
define
defined
deg2rad
die
dir
dirname
diskfreespace
disk_total_space
doubleval
do_while
dynamische_variablen


Übersicht Befehlsverzeichnis E

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis E

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
each
echo
empty
end
ereg
eregi
eregi_replace
ereg_replace
eval
exit
exp
explode
extension_loaded
extract


Übersicht Befehlsverzeichnis F

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis F

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
fclose
feof
fflush
fgetc
fgetcsv
fgets
fgetss
file
fileatime
filectime
filegroup
fileinode
filemtime
fileowner
fileperms
filesize
filetype
file_exists
floatval
flock
floor
fopen
for
foreach
fpassthru
fputs
fread
fscanf
fseek
fstat
ftell
ftruncate
function_exists
func_get_arg
func_get_args
func_num_args
fwrite


Übersicht Befehlsverzeichnis G

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis G

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
getcwd
getdate
getenv
getimagesize
getlastmod
getmygid
getmyinode
getmypid
getmyuid
getrandmax
getrusage
gettimeofday
gettype
get_browser
get_cfg_var
get_class
get_class_methods
get_class_vars
get_current_user
get_declared_classes
get_declared_interfaces
get_defined_constants
get_defined_functions
get_extension_funcs
get_headers
get_html_translation_table
get_included_files
get_loaded_extensions
get_magic_quotes_gpc
get_magic_quotes_runtime
get_meta_tags
get_object_vars
get_parent_class
get_required_files
gmdate
gmmktime
gmstrftime


Übersicht Befehlsverzeichnis H

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis H

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
hexdec
highlight_file
highlight_string
htmlentities
htmlspecialchars
http_build_query


Übersicht Befehlsverzeichnis I

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis I

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
if
if_else
if_else_elseif
ignore_user_abort
imagearc
imagechar
imagecharup
imagecolorallocate
imagecolorat
imagecolorclosest
imagecolordeallocate
imagecolorexact
imagecolorresolve
imagecolorset
imagecolorsforindex
imagecolorstotal
imagecolortransparent
imagecopy
imagecopyresized
imagecreate
imagecreatefromgif
imagecreatefromjpeg
imagecreatefrompng
imagecreatefromwbmp
imagedashedline
imagedestroy
imagefill
imagefilledpolygon
imagefilledrectangle
imagefilltoborder
imagefontheight
imagefontwidth
imagegammacorrect
imagegif
imageinterlace
imagejpeg
imageline
imagepng
imagepolygon
imagerectangle
imagesetpixel
imagestring
imagestringup
imagesx
imagesy
imagettfbbox
imagettftext
imagetypes
imagewbmp
implode
include
include_once
ini_alter
ini_get
ini_get_all
ini_restore
ini_set
intval
in_array
isset
is_a
is_array
is_bool
is_dir
is_double
is_executable
is_file
is_float
is_int
is_integer
is_link
is_long
is_null
is_numeric
is_object
is_readable
is_real
is_resource
is_scalar
is_string
is_subclass_of
is_uploaded_file
is_writeable


Übersicht Befehlsverzeichnis J

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis J

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
join


Übersicht Befehlsverzeichnis K

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis K

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
key
kommentare
krsort
ksort


Übersicht Befehlsverzeichnis L

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis L

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
leak
levenshtein
link
linkinfo
list
localtime
log
log10
lstat
ltrim


Übersicht Befehlsverzeichnis M

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis M

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
mail
max
md5
metaphone
method_exists
microtime
min
mkdir
mktime
move_uploaded_file
mt_getrandmax
mt_rand
mt_srand
mysql_affected_rows
mysql_change_user
mysql_client_encoding
mysql_close
mysql_connect
mysql_create_db
mysql_data_seek
mysql_db_query
mysql_drop_db
mysql_errno
mysql_error
mysql_escape_string
mysql_fetch_array
mysql_fetch_assoc
mysql_fetch_field
mysql_fetch_lengths
mysql_fetch_object
mysql_fetch_row
mysql_field_flags
mysql_field_len
mysql_field_name
mysql_field_seek
mysql_field_table
mysql_field_type
mysql_free_result
mysql_get_client_info
mysql_get_host_info
mysql_get_proto_info
mysql_get_server_info
mysql_insert_id
mysql_list_dbs
mysql_list_fields
mysql_list_processes
mysql_list_tables
mysql_num_fields
mysql_num_rows
mysql_pconnect
mysql_query
mysql_result
mysql_select_db
mysql_stat
mysql_tablename
mysql_thread_id


Übersicht Befehlsverzeichnis N

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis N

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
natcasesort
natsort
next
nl2br
number_format


Übersicht Befehlsverzeichnis O

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis O

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
octdec
opendir
ord


Übersicht Befehlsverzeichnis P

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis P

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
parse_ini_file
parse_str
parse_url
pathinfo
pclose
pdf_add_annotation
pdf_add_bookmark
pdf_add_launchlink
pdf_add_locallink
pdf_add_note
pdf_add_outline
pdf_add_pdflink
pdf_add_weblink
pdf_arc
pdf_begin_page
pdf_circle
pdf_close
pdf_closepath
pdf_closepath_fill_stroke
pdf_closepath_stroke
pdf_close_image
pdf_continue_text
pdf_curveto
pdf_endpath
pdf_end_page
pdf_fill
pdf_fill_stroke
pdf_get_image_height
pdf_get_image_width
pdf_get_parameter
pdf_get_value
pdf_lineto
pdf_moveto
pdf_open
pdf_open_gif
pdf_open_image_file
pdf_open_jpeg
pdf_open_png
pdf_open_tiff
pdf_place_image
pdf_rect
pdf_restore
pdf_rotate
pdf_save
pdf_scale
pdf_setdash
pdf_setflat
pdf_setgray
pdf_setgray_fill
pdf_setgray_stroke
pdf_setlinecap
pdf_setlinejoin
pdf_setlinewidth
pdf_setmiterlimit
pdf_setrgbcolor
pdf_setrgbcolor_fill
pdf_setrgbcolor_stroke
pdf_set_border_color
pdf_set_border_dash
pdf_set_border_style
pdf_set_char_spacing
pdf_set_duration
pdf_set_font
pdf_set_horiz_scaling
pdf_set_info
pdf_set_leading
pdf_set_parameter
pdf_set_text_pos
pdf_set_text_rendering
pdf_set_text_rise
pdf_set_transition
pdf_set_value
pdf_set_word_spacing
pdf_show
pdf_show_boxed
pdf_show_xy
pdf_skew
pdf_stringwidth
pdf_stroke
pdf_translate
phpcredits
phpinfo
phpversion
php_logo_guid
php_sapi_name
php_uname
pi
popen
pos
pow
prev
print
printf
print_r
putenv


Übersicht Befehlsverzeichnis Q

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis Q

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
quoted_printable_decode
quotemeta


Übersicht Befehlsverzeichnis R

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis R

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
rad2deg
rand
range
rawurldecode
rawurlencode
readdir
readfile
readlink
realpath
register_shutdown_function
rename
require
require_once
reset
restore_include_path
rewind
rewinddir
rmdir
round
rsort
rtrim


Übersicht Befehlsverzeichnis S

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis S

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
scandir
serialize
session_cache_expire
session_cache_limiter
session_decode
session_destroy
session_encode
session_get_cookie_params
session_id
session_is_registered
session_module_name
session_name
session_regenerate_id
session_register
session_save_path
session_set_cookie_params
session_start
session_unregister
session_unset
setlocale
settype
set_file_buffer
set_include_path
set_magic_quotes_runtime
set_time_limit
show_source
shuffle
similar_text
sin
sizeof
sleep
sort
soundex
split
spliti
sprintf
sql_regcase
sqrt
srand
sscanf
stat
strcasecmp
strchr
strcmp
strcspn
strftime
stripcslashes
stripslashes
strip_tags
stristr
strlen
strnatcasecmp
strnatcmp
strncmp
strpos
strrchr
strrev
strrpos
strspn
strstr
strtok
strtolower
strtotime
strtoupper
strtr
strval
str_pad
str_repeat
str_replace
str_rot13
str_shuffle
str_split
str_word_count
substr
substr_count
substr_replace
switch
symlink
syntax


Übersicht Befehlsverzeichnis T

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis T

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
tan
tempnam
time
tmpfile
touch
trim


Übersicht Befehlsverzeichnis U

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis U

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
uasort
ucfirst
ucwords
uksort
umask
uniqid
unlink
unserialize
unset
urldecode
urlencode
usleep
usort


Übersicht Befehlsverzeichnis V

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis V

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
var_dump
var_export
vordefinierte_variablen


Übersicht Befehlsverzeichnis W

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis W

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
while
wordwrap


Übersicht Befehlsverzeichnis X

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis X

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z


Übersicht Befehlsverzeichnis Y

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis Y

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z


Übersicht Befehlsverzeichnis Z

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Befehlsverzeichnis Z

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
zend_logo_guid
zend_version


SELFPHP: SELFPHP Buch

Letztes Update: 09.10.2005 17:10:13

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

SELFPHP Buch

SELFPHP - Das PHP Kochbuch

Damir Enseleit: SELFPHP - Das PHP Kochbuch
Franzis-Verlag, Juli 2006
ISBN: 3-7723-7107-8
Preis: 30.00 EUR
ca. 400 Seiten
Softcover, mit CD-ROM

Buch bei Amazon

Kurzbeschreibung
Dieses Buch hilft Ihnen, Ihre Besucher mit den besten PHP-Lösungen zu verwöhnen. Nutzen Sie die bereits vorhanden Resourcen Ihres Webhosters. Erstellen Sie bessere Formulare und führen Sie Ihre Benutzer komfortabel durch Ihre Webseite oder den Bestellprozess. Nutzen Sie einfache Techniken um z.B. Pflichtfelder zu prüfen oder Fehler hervorzuheben. Der Autor verrät auch Rezepte, wie Sie Ihre Formularanalyse und -bearbeitung mit einfachen PHP-Skripten abrunden. Eins der großen Highlights im Rezeptbuch ist die Seitennavigation a la Google (<< < 1 2 3 4 5 6 7 8 9 10 > >>) oder das unvergessliche CAPTCHA, denn nur ein Mensch kann den Unterschied wirklich schmecken! Aber auch die gute Hausmannskost kommt nicht zu kurz: Datumsberechnungen z.B. Schaltjahre, Vormonat, Tage eines Monats, Backups vom File-System und MySQL-Datenbanken oder das Zippen und Entzippen (ZIP, BZIP, GZ) von Dateien. Als Nachtisch gibt es so schmackhafte Dinge wie CURL - die Verbindung der Geschmacksnerven Ihres Servers mit der Außenwelt (z.B. Daten mit der POST-Methode von einem Server zum anderen senden).

PHP 4/5 Befehlsreferenz
Damir Enseleit: PHP 4/5 Befehlsreferenz
Franzis-Verlag, 2004
ISBN: 3772360769
ca. 750 Seiten
Hardcover, mit CD-ROM

Buch bei Amazon

Kurzbeschreibung
PHP ist die meistgenutzte Abfragesprache für dynamische Seiten im Internet. Die Referenz von Damir Enseleit war schon in der Version 3/4 das Standardwerk zum Thema PHP. Basierend auf millionenfachen Zugriffen und unzähligen Anfragen zur Online-Version erscheint das neue Buch komplett überarbeitet. Damit klappt der Umstieg auf PHP 5 genauso wie der Einstieg in die kostenlose Sprache. Schon die Vorversion kannte über 1.800 Befehle, die über Parameter und Attribute ein hochkomplexe Steuerung der Webseiteninhalte zuließen. Mit der Version 5 geht PHP noch einmal konsequent weiter und integriert auch objektorientierte Elemente. Damit wird PHP "erwachsen". Bereits die Vorgängerreferenz zeichnete sich durch hohe Verständlichkeit und große Praxisnähe aus. Mit den neuen Befehlen erhält der Leser wieder praktische, gut nachvollziehbare Beispielcodes, die die Nutzung der wichtigsten Befehle erleichtern. Durch die Vorstellung der verschiedenen Attribute und Parameter wird ein wichtiger Nutzen für alle PHP-Programmierer bereitgestellt, den die üblichen Kurzreferenzen in PHP-Büchern nicht leisten können. Weit mehr als die fünfhundert wichtigsten Befehle werden systematisch erläutert und mit Beispiel und Ausgabe vorgestellt.

PHP 5 Praxisbuch & Referenz
Damir Enseleit, Matthias Kennengiesser: PHP 5 Praxisbuch & Referenz
Franzis-Verlag, 2004
ISBN: 3772365590
ca. 1150 Seiten
Softcover, mit CD-ROM

Link zu Amazon

Kurzbeschreibung
Seit der Version 3 ist die Programmiersprache PHP aus dem Internet nicht mehr wegzudenken, in Verbindung mit MySQL laufen unzählige Webserver mit der Open Source-Lösung. Diese Sonderausgabe ermöglicht den konsequenten Ein- oder Umstieg auf PHP 5. Das PHP-Praxisbuch vermittelt die Kenntnisse, um mit PHP schnell anspruchsvolle Programmierlösungen zu entwickeln. Ob Formularauswertung oder Sessionverwaltung, dynamische Webseiten oder das perfekte Zusammenspiel von PHP und MySQL - hier finden Sie die Tricks und Kniffe, die die Entwicklung von PHP-Seiten erleichtern. Die Befehlsreferenz war schon zur Vorgängerversion ein Standardwerk, die Online-Variante eine der meistgenutzten deutschsprachigen PHP-Webseiten. Übersichtliche, nachvollziehbare Darstellung der Befehle, Erläuterung der Parameter und Beispiele zur Verwendung samt der Ausgabe - all' das macht die Referenz zum unentbehrlichen Nachschlagewerk.

PHP Kompaktreferenz
Damir Enseleit: PHP Kompaktreferenz
Franzis-Verlag, 2002
ISBN: 3772365507
ca. 370 Seiten
Softcover, mit CD-ROM

Buch bei Amazon

Kurzbeschreibung
Über 1.800 Befehle bilden den Umfang der Sprache PHP, die etwa 500 wichtigsten und meistgenutzten werden in diesem Buch kompetent und praxisnah erklärt. Jeder Befehl wird erläutert, seine Syntax vorgestellt und dann in einem leicht nachvollziehbaren Beispiel verdeutlicht. Damit gelingt Ihnen, was Sie auf Ihrer Seite mit PHP vorhaben. Der schnelle Zugriff auf die einzelnen Befehle wird über eine sinnvolle Aufteilung nach Themen sowie einen Index erleichtert.

PHP 3/4 Befehlsreferenz
Damir Enseleit: PHP 3/4 Befehlsreferenz
Franzis-Verlag, 2001
ISBN: 3772371841
ca. 750 Seiten
Hardcover, mit CD-ROM

Buch bei Amazon

Kurzbeschreibung
Über 1.800 dokumentierte Befehle bilden den Umfang der Sprache PHP, die etwa 600 wichtigsten und meistgenutzten werden in diesem Buch kompetent, praxisnah und beispielorientiert erklärt, weitere 500 Befehle werden per Kurzreferenz erschlossen. Für Einsteiger werden die Befehle in der Rubrik 'Kurz & bündig' erklärt, um einen raschen Überblick zu ermöglichen. Der Profi erhält eine umfassende Referenz zu PHP in deutscher Sprache: Jeder Befehl wird erläutert, seine Syntax vorgestellt und dann in einem Beispiel samt dem Resultat verdeutlicht.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Hinweise zur Benutzung der PHP 4/5 Befehlsreferenz

Letztes Update: 23.10.2005 16:27:24

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Hinweise zur Benutzung der PHP 4/5 Befehlsreferenz

Zielgruppe und Ziel

Sie programmieren dynamische PHP-Applikationen? Sie sind auf der Suche nach den richtigen Befehlen für gewisse Aufgaben? Manchmal kennen Sie den Befehl, aber die Syntax ist Ihnen fremd? Sie wollen nur mal schnell nachschauen, ob die Syntax so richtig ist? Sie sind Anfänger bis Profi in PHP?
Wenn Sie auch nur eine der Fragen mit einem "Ja" beantworten konnten, so sind Sie für dieses Buch der ideale Adressat.

Im Buch selbst wird eine Vielzahl von PHP-Befehlen erklärt und mit Beispielen sowie den passenden Ausgaben unterlegt. Probieren Sie ruhig alle Beispiele aus - sie sind aus diesem Grund immer sehr klein und einfach gehalten.

Sicherlich hätte man die Beispielskripts auch wesentlich kompakter programmieren können. Der Autor will aber nicht zeigen, wie toll man programmieren könnte, sondern gerade unerfahrenen Programmierern den Weg zu den Funktionen weisen. Sie selbst können und sollten die Beispielskripts modifizieren und anpassen - nur so werden Sie ein Gefühl für die Funktionen bekommen.

Sofern vorhanden, finden Sie in den einzelnen Rubriken weiterführende Informationen zu den jeweiligen Themen. Diese beinhalten entweder eine Verlinkung in das PHP 5 Praxisbuch oder zu Webseiten außerhalb von SELFPHP. Somit wird gewährleistet, dass Sie Ihr Wissen darüber hinaus vertiefen können. Sollte jedoch einmal eine Verlinkung fehlen oder möchten Sie uns eine nützliche Verlinkung empfehlen, so teilen Sie uns das bitte mit.

Themenumfang

Dieses Dokument beschreibt die am häufigsten genutzten Befehle von PHP. Dabei wurden die Befehle von PHP innerhalb einer vorgegebenen Gruppenstruktur in alphabetischer Reihenfolge geordnet und ausführlich erklärt.
Außerdem wird zu jedem Befehl mindestens ein Beispiel und die dazugehörige Ausgabe im Browser angezeigt. So kann man schon beim Lesen des Dokuments die Befehle nachvollziehen und bei Bedarf ausprobieren. Die Skripte sind aus diesem Grund sehr einfach gehalten, so dass gerade Anfänger einen sehr schnellen Bezug zu dem Befehl finden werden. Fortgeschrittene Programmierer hingegen werden wohl eher nur auf den Syntax schauen, um dann diesen Befehl in ihr Programm einbinden zu können.

Der Themenumfang der PHP 4/5 Befehlsreferenz gliedert sich in folgende Hauptkapitel:

  • Array-Funktionen
  • Crack-Funktionen
  • Dateisystem-Funktionen
  • Datums- und Zeit-Funktionen
  • Functions-Funktionen
  • Image-Funktionen
  • Klassen und Objekt-Funktionen
  • Kontroll-Mechanismen
  • Mail-Funktionen
  • Mathematische-Funktionen
  • MySQL-Funktionen
  • PDF-Funktionen
  • PHP-Deklaration
  • PHP-Informationen
  • Reguläre Ausdrücke (POSIX)
  • Session-Funktionen
  • Sonstige-Funktionen
  • String-Funktionen
  • URL-Funktionen
  • Variablen-Funktionen
  • Verzeichnis-Funktionen

Sämtliche Skripte in diesem Dokument wurden sorgfältig geprüft und getestet - sollte dennoch ein Skript mal nicht funktionieren, so melden Sie diesen Fehler bitte dem Autor. Bitte vergessen Sie aber nicht, den genauen Fehler und Ihre Serverkonfiguration (z.B. Linux 6.4, Apache 1.3.20, PHP 4.0.5, MySQL 3.22.32) mit anzugeben, da einige Befehle z.B. unter Windows nichts bewirken.

Folgende Adressen stehen Ihnen dabei zur Verfügung:
· URL: http://www.selfphp.de
· Mail: bugfix@selfphp.de

Schreibweise der PHP-Syntax

Die komplette PHP-Befehlsreferenz hält sich beim Aufbau der Befehle an der allgemein
üblichen Schreibweise, welche durch die PHP Group vorgegeben wurde.

Da diese Schreibweise mittlerweile ein fester Bestandteil der PHP-Programmierung geworden
ist, wurde der Syntax-Aufbau dem Manual der PHP-Group exakt entnommen.

Im gesamten Buch werden Sie für alle Befehle folgenden Aufbau finden:
» string function (string format [, int timestamp])

Wie diese Schreibweise zu lesen ist:

  • string - Vor jeder Funktion steht ein Datentyp, welcher von der Funktion zurückgegeben wird. Im obigen Beispiel wird als Rückgabewert ein String (Zeichenkette) zurückgegeben.
    Mögliche Werte sind:
      1. array - Es wird ein Array zurückgegeben.
      2. bool - Es wird "true" oder "false" zurückgegeben.
      3. double - Es wird "double" (Fließkommazahl) zurückgegeben.
      4. int - Es werden ganzzahlige Werte zurückgegeben.
      5. mixed - Es wird ein beliebiger Typ zurückgegeben.
      6. object - Es wird ein Verweis(Referenz) auf ein Objekt zurückgegeben.
      7. string - Es wird eine Zeichenkette zurückgegeben.
      8. void - Es wird nichts zurückgegeben.
  • function - Der eigentliche Befehl wird in der PHP-Syntax fett dargestellt.
  • format - Die Art des Parameters, welcher zwingend erforderlich und unbedingt angegeben werden muss.
    Mögliche Werte sind:
      1. array - Es wird ein Array als Parameter benötigt.
      2. double - Als Parameter wird eine Fließkommazahl gefordert.
      3. float - Als Parameter wird eine Fließkommazahl gefordert.
      4. int - Als Parameter wird eine Ganzzahl gefordert.
      5. mixed - Als Parameter wird ein beliebiger Typ gefordert.
      6. string - Als Parameter wird eine Zeichenkette gefordert.
      7. void - Als Parameter wird nichts gefordert.
  • [,...] - In eckigen Klammern stehen optionale Werte und sind nicht zwingend erforderlich.
    Mögliche Werte sind:
      1. array - Es wird ein Array als Parameter benötigt.
      2. double - Als Parameter wird eine Fließkommazahl gefordert.
      3. float - Als Parameter wird eine Fließkommazahl gefordert.
      4. int - Als Parameter wird eine Ganzzahl gefordert.
      5. mixed - Als Parameter wird eine Ganzzahl oder Fließkommazahl gefordert
      6. string - Als Parameter wird eine Zeichenkette gefordert.
      7. void - Als Parameter wird nichts gefordert.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Hinweise zum Dokument

Letztes Update: 18.10.2005 13:42:35

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Hinweise zum Dokument

Haftung

Dieses Dokument ist keine Publikation einer offiziellen Stelle. Das Dokument erhebt weder den Anspruch auf Vollständigkeit noch auf Fehlerfreiheit. Für Fehler in kommerziellen WWW-Seiten, die auf falsche oder falsch verstandene Beschreibungen in diesem Dokument zurückzuführen sind, übernimmt der Autor keine Haftung.

Copyright

Dieses Dokument ist Freeware im Sinne des Software-Lizenzrechts. Die Regeln im Einzelnen:

  • Das Kopieren und Weitergeben des Dokuments ist erlaubt.
  • Das Veröffentlichen auf WWW-Servern, Online-Diensten oder Mailboxen ist erlaubt.
  • Das Veröffentlichen auf Datenträgern wie CD-ROMs ist erlaubt, auch wenn diese Datenträger kommerziell orientiert sind.
  • Das Ändern des Dokuments ist nicht erlaubt. Das gilt sowohl für den Inhalt als auch für das Dateiformat. Auch das Entfernen unliebsamer Passagen ist nicht erlaubt.
  • Das wörtliche Übernehmen von einzelnen Textpassagen aus diesem Dokument in eigene Projekte ist in Form eines Zitats erlaubt. Das Zitat muss die Quelle des Dokuments eindeutig benennen. Die Quellenangabe sollte den Dokumenttitel (SELFPHP) und die WWW-Adresse http://www.selfphp.de enthalten.
  • Das Dokument muss stets in der vorliegenden Form und vollständig kopiert, weitergegeben oder anderweitig veröffentlicht werden - das Kopieren, Weitergeben oder Veröffentlichen von Teilen des Dokuments ist nicht erlaubt.
  • Das Veröffentlichen des Dokuments auf WWW-Servern oder Datenträgern im Zusammenhang mit illegalem pornografischem Material oder nazistischem Gedankengut ist unerwünscht und wird bei Entdeckung juristisch verfolgt.

Bitte teilen Sie dem Autor bei jeder geplanten Veröffentlichung per E-Mail mit, wo SELFPHP veröffentlicht wird. Bei Veröffentlichung auf CD-ROM oder vergleichbaren Datenträgern ist es eine feine Geste, dem Autor ein Belegexemplar zukommen zu lassen. Sie erfahren die genaue Anschrift auf der Seite "Impressum".

Versionenkontrolle

Version 1.0.0 (01.07.01)
Version 1.0.1 (03.10.01)
Version 1.0.2 (20.02.03)
Version 2.0.0 (01.03.05)
Version 3.0.0 (01.11.05)

SELFPHP im WWW

Die offizielle Homepage von SELFPHP lautet:

http://www.selfphp.de

Dort finden Sie auch weitere Informationen zu Standard-Themen rund um SELFPHP.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Hinweise zur Benutzung des Buches SELFPHP- Das PHP Kochbuch

Letztes Update: 31.07.2006 12:16:34

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Hinweise zur Benutzung des Buches SELFPHP- Das PHP Kochbuch

Zielgruppe

Sie sind interessiert daran, Ihre bisherigen Kenntnisse in PHP zu vertiefen? Sie stoßen öfter auf Problemsituationen in der Umsetzung bei der PHP-Programmierung? Sie würden gerne schlanke und effiziente Lösungen für gewisse Aufgaben programmieren, aber der Ansatz dazu fehlt Ihnen? Sie sind Anfänger bis Profi in PHP?

Wenn Sie auch nur eine der Fragen mit einem »Ja« beantworten konnten, so sind Sie für dieses Buch der ideale Adressat.

Im Buch selbst werden eine Vielzahl von PHP-Problemstellungen erklärt und mit Beispielen sowie den passenden Ausgaben unterlegt. Damit Sie alle Beispiele bequem ausprobieren können, finden Sie jeweils am Ende eines Beispiels alle PHP-Dateien, Bilder, Textdateien sowie Datenbanken. Probieren Sie ruhig alle Beispiele aus, und modifizieren Sie den Quellcode nach Ihren Bedürfnissen.

Sicherlich hätte man die Beispiele auch wesentlich kompakter programmieren können. Manche Beispiele bieten sich regelrecht an, aus Ihnen Klassen zu machen. Der Autor will aber nicht zeigen, wie toll man programmieren könnte, sondern gerade unerfahrenen Programmierern den Weg zum Ziel weisen. Sie selbst können und sollten die Beispiele modifizieren und anpassen – nur so werden Sie ein Gefühl für die Programmierung und die Lösungswege bekommen.

Dieses Buch wartet nicht mit ein paar hundert Beispielen in ebenso vielen Kapiteln auf, sondern zeigt gezielt Lösungen für immer wiederkehrende Fragen. Wir haben bewusst darauf verzichtet, Ihnen hier Beispiele zu zeigen, die bereits mit einer Zeile Programmcode erledigt werden könnten.

Falls Sie dennoch eine Lösung suchen, finden Sie hier auf SELFPHP die Befehlsreferenz und das Praxisbuch von SELFPHP. Beides zusammen umfasst ca. 1150 Buchseiten und sollte eigentlich jedes Problem lösen können.

Themenumfang

Der Themenumfang des Buches SELFPHP - Das PHP Kochbuch gliedert sich in folgende Hauptkapitel:

  • Zum Buch
  • Datumsberechnungen
  • Formulare
  • Variablenüberprüfung/Reguläre Ausdrücke
  • Webseitenlayout
  • Dateien
  • Verzeichnisse
  • Komprimieren/Archivieren/Backups
  • Dies & Das
  • CURL – Die Verbindung zur Außenwelt
  • PHP & Shell
  • Verschlüsselung/Prüfsummen

Sämtliche Skripte (Listings) in diesem Buch wurden sorgfältig ausgearbeitet und getestet. Dabei wurden als Systeme ein Linuxund Windows-XP-Rechner genutzt, welche innerhalb eines Netzwerks miteinander verbunden waren. Alle Skripte wurden über den WindowsRechner per Browser gestartet. Die Skripte wurden auf dem Webserver ausgeführt und unterschieden sich nur durch die Dateiendung (*.php oder *.php5). Somit wurde entweder PHP4 oder PHP5 ausgeführt.

System:

  • Linux/x86
  • Apache Webserver 1.3.33
  • PHP 4.4.2 – ServerAPI: Apache
  • PHP 5.1.2 – ServerAPI: CGI
  • MySQL 4.0.25

Sollten Sie dennoch Beispielskripte finden, die nicht einwandfrei funktionieren oder verbesserungsfähig sind, würde es mich sehr freuen, wenn Sie mich per E-Mail darüber informieren. Bitte schreiben Sie das Verhalten der Skripte, Ihre Serverausstattung und die darauf laufende Software mit dazu.

Beispiel:

Beispiel: MySQL-Backup über die Shell
Datei: backupDB.php
Fehlermeldung: Fatal error: Call to undefined function: glob () in /www/users/ test_php/getimagesize.php on line 2
System: Linux SuSE 10.1
Server: Apache Webserver 1.3.20
PHP: PHP 4.3.0 als Modul einkompiliert
Datenbank: MySQL 3.22.32
Eventuelle Verbesserungen:

Für die Korrespondenz steht Ihnen folgende E-MailAdresse zur Verfügung:
kochbuch@selfphp.de

Schreibweise/Parametererklärung bei Funktionsaufrufen

Sie werden im Buch immer wieder auf Funktionen stoßen, die als Parameter gewisse Werte erwarten und als Rückgabewert gewisse Typen (bool, string, array etc.) liefern. Damit Sie wissen, was Sie der Funktion übergeben müssen und was Sie zurückerhalten, werden über den Funktionen immer die Parameter beschrieben.

Somit sind Sie in der Lage, anhand dieser Beschreibung den Aufbau der Funktion zu erkennen - Sie müssen also nicht erraten, was an Werten benötigt wird. Es kann bei manchen Funktionen dazu kommen, dass im Buch umgebrochen wird, sich also der Funktionsinhalt auf zwei Zeilen befindet. Anhand der Zahlen in der linken Spalte sehen Sie aber, dass es sich um eine Zeile handelt, die zusammengeschrieben werden muss.

Beispiel einer Funktion

01:

02:
03:
04:
05:
06:
07:
08:
09 		function scan_dir($dir, $type=array(), $allFiles=FALSE, $recursive=TRUE,
$nextrow, $onlyDir="")
{
// Hier steht irgendein Programmcode
// Hier steht irgendein Programmcode
// Hier steht irgendein Programmcode
// Hier steht irgendein Programmcode
// Hier steht irgendein Programmcode
}
scan_dir("Bilder/",$fileTyp,TRUE,FALSE,TRUE);

Wenn Sie sich die Funktion genauer betrachten, dann wird sie Ihnen erst einmal nicht viel sagen. Sie werden allenfalls aus den Parametern gewisse Hinweise beziehen können. Jetzt müssten Sie sich den Quellcode in der Funktion anschauen, um sehen zu können, was für Typen jeweils benötigt werden. Das mag zwar bei kleineren Funktionen relativ schnell gehen, aber denken Sie einmal weiter und stellen Sie sich große Funktionsblöcke vor.

Die Typen dann herauszufinden, kann schnell sehr zeitraubend sein. Gewöhnen Sie sich am besten immer an, jeweils einen Kommentarblock über die Funktion zu schreiben und die Parameterwerte sowie den Rückgabewert zu deklarieren.

Auch eine kurze Beschreibung zu der Funktion selbst ist immer recht hilfreich und erspart Ihnen in Zukunft eine Menge Einarbeitungszeit, denn wenn Sie z. B. nach einem Jahr mal wieder an den Quellcode heran müssen, haben Sie in der Regel vieles vergessen. Dann hilft Ihnen diese Gedankenstütze bei den Funktionsblöcken.

Nachfolgend sehen Sie ein Beispiel für einen solchen Kommentarblock. Die einzelnen Werte sowie Parameter schauen wir uns nach dem Beispiel etwas genauer an.

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: 		/**
* Durchläuft bei Bedarf rekursiv das zu durchsuchende Verzeichnis
*
* @param   string  $dir        Pfad zum Verzeichnis
* @param   array   $type       aufzulistende Bildtypen
* @param   bool    $allFiles   Listet alle Dateien in den
*                              Verzeichnissen auf ohne Rücksicht
*                              auf $type
*                              Default:FALSE
* @param   bool    $recursive  Durchläuft rekursiv alle
*                              Verzeichnisse und
*                              Unterverzeichnisse
*                              Default:TRUE
* @param   string  $nextrow    Enthält den Verzeichnisnamen für die
*                              Überschrift über den Bildernamen
* @param   string  $onlyDir="" Enthält als Verweis(Referenz) den
*                              Inhalt der Verzeichnisstruktur
*
* @return  mixed               false im Fehlerfall, ansonsten ein
*                              Array mit allen Dateinamen
*/

Am Anfang des Kommentarblocks steht ein Einzeiler, der beschreibt, was die Funktion macht. In diesem Fall ist dies völlig ausreichend, da der Satz so mehr als aussagekräftig ist. Sie sollten immer so viel schreiben, wie nötig ist, um die Funktion zu verstehen.

Interessant wird es jetzt bei den folgenden Aufzählungen. Wie Sie sehen, besteht jede Zeile aus vier Bereichen, außer wenn eine Zeile umbricht, wie z. B. bei "Listet alle Dateien in den Verzeichnissen auf".

  • @param: Im ersten Bereich steht hier in unserem Fall @param - dies sagt uns, dass es sich um einen Parameter handelt, der innerhalb der Funktion benötigt wird.
  • Typen (string, array, int, bool etc.): Im zweiten Bereich steht jeweils der Typ des Parameters. Folgende Werte könnten z. B. dort auftauchen:

    1. array - es wird ein Array als Parameter benötigt.
    2. double - als Parameter wird eine Fließkommazahl gefordert.
    3. float - als Parameter wird eine Fließkommazahl gefordert.
    4. int - als Parameter wird eine Ganzzahl gefordert.
    5. string - als Parameter wird eine Zeichenkette gefordert.
    6. bool - als Parameterwert wird »true« oder »false« erwartet.
    7. resource - als Parameter wird eine Referenz auf eine externe Ressource gefordert.
    8. object - als Parameter wird ein Objekt benötigt.
  • Parameternamen: Hier steht lediglich der zu beschreibende Parametername.
  • Text: Der letzte Block erklärt kurz, wofür der Parameter benutzt wird und ob er eventuell schon mit Werten vorbelegt ist.

Sie sehen in der letzten Zeile einen Ausdruck, der noch nicht erklärt wurde. Dabei handelt es sich um den Rückgabewert der Funktion.

  • @return: Dabei handelt es sich um den Rückgabewert der Funktion. Folgende Typen werden z. B. zurückgegeben:
    1. array - es wird ein Array zurückgegeben.
    2. double - eine Fließkommazahl wird zurückgegeben.
    3. float - eine Fließkommazahl wird zurückgegeben.
    4. int - eine Ganzzahl wird zurückgegeben.
    5. string - eine Zeichenkette wird zurückgegeben.
    6. bool - als Wert wird »true« oder »false« zurückgegeben.
    7. object - ein Objekt wird zurückgegeben.
    8. void - die Funktion gibt nichts zurück.
    9. mixed - je nach Funktionsabarbeitung kann es dazu kommen, dass verschiedene Typen zurückgegeben werden können. Falls z. B. ein Fehler auftreten sollte, kann hier »false« zurückgeliefert werden. Im Erfolgsfall wird die Funktion aber ein Array liefern oder vielleicht einen String. Je nachdem, was Sie bezwecken wollen, kann hier der Typ variabel sein.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Hinweise zur Benutzung des PHP 5 Praxisbuch

Letztes Update: 29.10.2005 12:16:34

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Hinweise zur Benutzung des PHP 5 Praxisbuch

Zielgruppe und Ziel

Das PHP 5 Praxisbuch soll Ihnen den Weg durch die vielseitige Struktur von PHP weisen. Durch die zahlreichen Erläuterungen und Lösungen für gängige Aufgaben bei der Arbeit mit PHP werden sowohl Einsteiger und Umsteiger als auch Spezialisten angesprochen.

Dieses Buch ist für Programmierer geschrieben, die im täglichen Einsatz von PHP Probleme zu lösen haben. Zusätzlich werden jedoch auch die grundlegenden Sprachelemente ausführlich beschrieben, so dass es zu einem unverzichtbaren Nachschlagewerk wird. Sie erhalten somit eine kompakte Einführung und Vertiefung zu diversen PHP-Problemlösungen.

Innerhalb der einzelnen Kapitel wird teilweise auf PHP-Funktionen eingegangen, die darüber hinaus ausführlich in der PHP 4/5 Befehlsreferenz beschrieben werden. Diese PHP-Funktionen sind dann mit der PHP 4/5 Befehlsreferenz verlinkt, so dass Sie Ihr Wissen vertiefen können. Sollte jedoch einmal eine Funktion nicht verlinkt sein oder in der PHP 4/5 Befehlsreferenz fehlen, so teilen Sie uns das bitte mit.

Themenumfang

Der Themenumfang des PHP 5 Praxisbuches gliedert sich in folgende Hauptkapitel:

  • Einführung
  • Installation und Konfiguration
  • Sprachelemente und Syntax
  • Lösungen für den Alltag
  • Programmierung mit PHP
  • Fortgeschrittene Programmierung
  • Neuerungen in PHP 5
  • Datenbankprogrammierung
  • PHP & MySQL Anwendungen
  • Referenzen
Sämtliche Skripte in diesem Dokument wurden sorgfältig geprüft und getestet - sollte dennoch ein Skript mal nicht funktionieren, so melden Sie diesen Fehler bitte dem Autor. Bitte vergessen Sie aber nicht, den genauen Fehler und Ihre Serverkonfiguration (z.B. Linux 6.4, Apache 1.3.20, PHP 4.0.5, MySQL 3.22.32) mit anzugeben, da einige Befehle z.B. unter Windows nichts bewirken.

Folgende Adressen stehen Ihnen dabei zur Verfügung:
· URL: http://www.selfphp.de
· Mail: bugfix@selfphp.de

Schreibweise der PHP-Syntax

Die komplette PHP-Befehlsreferenz hält sich beim Aufbau der Befehle an der allgemein
üblichen Schreibweise, welche durch die PHP Group vorgegeben wurde.

Da diese Schreibweise mittlerweile ein fester Bestandteil der PHP-Programmierung geworden
ist, wurde der Syntax-Aufbau dem Manual der PHP-Group exakt entnommen.

Im gesamten Buch werden Sie für alle Befehle folgenden Aufbau finden:
» string function (string format [, int timestamp])

Wie diese Schreibweise zu lesen ist:

  • string - Vor jeder Funktion steht ein Datentyp, welcher von der Funktion zurückgegeben wird. Im obigen Beispiel wird als Rückgabewert ein String (Zeichenkette) zurückgegeben.
    Mögliche Werte sind:
      1. array - Es wird ein Array zurückgegeben.
      2. bool - Es wird "true" oder "false" zurückgegeben.
      3. double - Es wird "double" (Fließkommazahl) zurückgegeben.
      4. int - Es werden ganzzahlige Werte zurückgegeben.
      5. mixed - Es wird ein beliebiger Typ zurückgegeben.
      6. object - Es wird ein Verweis(Referenz) auf ein Objekt zurückgegeben.
      7. string - Es wird eine Zeichenkette zurückgegeben.
      8. void - Es wird nichts zurückgegeben.
  • function - Der eigentliche Befehl wird in der PHP-Syntax fett dargestellt.
  • format - Die Art des Parameters, welcher zwingend erforderlich und unbedingt angegeben werden muss.
    Mögliche Werte sind:
      1. array - Es wird ein Array als Parameter benötigt.
      2. double - Als Parameter wird eine Fließkommazahl gefordert.
      3. float - Als Parameter wird eine Fließkommazahl gefordert.
      4. int - Als Parameter wird eine Ganzzahl gefordert.
      5. mixed - Als Parameter wird ein beliebiger Typ gefordert.
      6. string - Als Parameter wird eine Zeichenkette gefordert.
      7. void - Als Parameter wird nichts gefordert.
  • [,...] - In eckigen Klammern stehen optionale Werte und sind nicht zwingend erforderlich.
    Mögliche Werte sind:
      1. array - Es wird ein Array als Parameter benötigt.
      2. double - Als Parameter wird eine Fließkommazahl gefordert.
      3. float - Als Parameter wird eine Fließkommazahl gefordert.
      4. int - Als Parameter wird eine Ganzzahl gefordert.
      5. mixed - Als Parameter wird eine Ganzzahl oder Fließkommazahl gefordert
      6. string - Als Parameter wird eine Zeichenkette gefordert.
      7. void - Als Parameter wird nichts gefordert.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


SELFPHP: Editorial

Letztes Update: 31.07.2006 19:06:44

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Editorial

Im Editorial finden Sie weitere Hinweise und Hilfen zur Benutzung des Dokuments von SELFPHP.

Wichtige Hinweise zum Dokument von SELFPHP

Hinweise zur Benutzung der PHP 4/5 Befehlsreferenz

Hinweise zur Benutzung des PHP 5 Praxisbuch

Hinweise zur Benutzung des Buches SELFPHP- Das PHP Kochbuch

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail mailto:info@selfphp.de, Impressum, Kontakt


Übersicht Funktionsreferenz

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Funktionsreferenz

Sie finden nachfolgend eine Auflistung der in SELFPHP beschriebenen Funktionen von PHP. Die hier ausführlich beschriebenen und mit Beispielen unterlegten Funktionen geben Ihnen einen Überblick über die Möglichkeiten bei der Programmierung. Sofern vorhanden, finden Sie in den einzelnen Rubriken weiterführende Informationen zu den jeweiligen Themen.

Array-Funktionen
Crack-Funktionen
Dateisystem-Funktionen
Datums- und Zeit-Funktionen
Functions-Funktionen
Image-Funktionen
Klassen und Objekt-Funktionen
Kontroll-Mechanismen
Mail-Funktionen
Mathematische-Funktionen
MySQL-Funktionen
PDF-Funktionen
PHP-Deklaration
PHP-Informationen
Reguläre Ausdrücke (POSIX)
Session-Funktionen
Sonstige-Funktionen
String-Funktionen
URL-Funktionen
Variablen-Funktionen
Verzeichnis-Funktionen


Funktionsreferenz / Array-Funktionen / array

Letztes Update der Funktion array: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Indiziertes Array Beispiel Indiziertes Array | Springe zu Ausgabe Indiziertes Array Ausgabe Indiziertes Array | Springe zu Beispiel Assoziatives Array Beispiel Assoziatives Array | Springe zu Ausgabe Assoziatives Array Ausgabe Assoziatives Array | Springe zu Beispiel Mehrdimensionales Array Beispiel Mehrdimensionales Array | Springe zu Ausgabe Mehrdimensionales Array Ausgabe Mehrdimensionales Array |

nach unten nach oben Befehl

array array ( [mixed ...] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit der Funktion array() erzeugt man aus gegebenen Werten ein Array. Dabei ist
array() nicht als reguläre Funktion zu sehen, sondern als Sprachkonstrukt. Mit
dem Operator => können Sie Schlüsselwerte vorgeben. Zusätzlich haben Sie die
Möglichkeit, innerhalb eines Arrays wiederum Arrays zu definieren und somit
mehrdimensionale Arrays zu erzeugen (siehe Beispiel 3).

Siehe auch:
. list()

nach unten nach oben Beispiel Indiziertes Array

<?PHP
$array = array("SELFPHP",24,"Jetzt lerne ich PHP");

echo $array[0];
echo "<br>";
echo $array[1];
echo "<br>";
echo $array[2];
?>

nach unten nach oben Ausgabe Indiziertes Array

SELFPHP
24
Jetzt lerne ich PHP

nach unten nach oben Beispiel Assoziatives Array

<?PHP
$array = array("waehrung1" => "Dollar",
               "waehrung2" => "Euro",
               "waehrung3" => "Yen");
while(list($key, $val) = each($array)) {
    echo $key . ": " . $val . '<br>';
}
echo $array[waehrung1];
?>

nach unten nach oben Ausgabe Assoziatives Array

waehrung1: Dollar
waehrung2: Euro
waehrung3: Yen
Dollar

nach unten nach oben Beispiel Mehrdimensionales Array

<?PHP
$array = array("Europa" => array("Land1" => "Deutschland",
                                 "Land2" => "Italien",
                                 "Land3" => "Holland"),
               "Suedamerika" => array("Land1" => "Peru",
                                      "Land2" => "Argentinien",
                                      "Land3" => "Brasilien"));

echo $array[Europa][Land1] . '<br>';
echo $array[Europa][Land2] . '<br>';
echo $array[Europa][Land3] . '<br>';
echo $array[Suedamerika][Land1] . '<br>';
echo $array[Suedamerika][Land2] . '<br>';
echo $array[Suedamerika][Land3] . '<br>';
?>

nach unten nach oben Ausgabe Mehrdimensionales Array

Deutschland
Italien
Holland
Peru
Argentinien
Brasilien

Zurück:

Weiter: array_change_key_case


Funktionsreferenz / Array-Funktionen / array_change_key_case

Letztes Update der Funktion array_change_key_case: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_change_key_case

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

array array_change_key_case ( array input [, int case] )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_change_key_case() wandelt die Schlüssel innerhalb des Arrays
input in Klein- bzw. Großbuchstaben um. Mit dem optionalen Parameter case legen
Sie die Umwandlungsform fest. Sollten Sie diese Funktion ohne den optionalen
Parameter case ausführen, so wird der Defaultwert CASE_LOWER zur Verarbeitung
genutzt.

Folgende Umwandlungsparameter stehen Ihnen dabei zur Verfügung:
. CASE_UPPER für Großbuchstaben
. CASE_LOWER für Kleinbuchstaben

Besitzt ein Array bei dem Durchlauf dieser Funktion einen identischen Schlüssel
(siehe Beispiel 2 - Asien / ASieN) wird der letztere Schlüssel den Wert des
Vorherigen überschreiben.

nach unten nach oben Beispiel 1

<?PHP
$array = array("EuroPa" => 3, "ASien" => 5);
$gross = array_change_key_case($array, CASE_UPPER);
$klein = array_change_key_case($array, CASE_LOWER);
while(list($key, $val) = each($gross)) {
    echo $key . " - " . $val . '<br>';
}
while(list($key, $val) = each($klein)) {
    echo $key . " - " . $val . '<br>';
}
print_r(array_change_key_case($array));
?>

nach unten nach oben Ausgabe 1

EUROPA - 3
ASIEN - 5
europa - 3
asien - 5
Array
(
    [europa] => 3
    [asien] => 5
)

nach unten nach oben Beispiel 2

<?PHP
$array = array("EuroPa" => 3, "ASien" => 5, "ASieN" => 8);
print_r(array_change_key_case($array));
?>

nach unten nach oben Ausgabe 2

Array
(
    [europa] => 3
    [asien] => 8
)

Zurück: array

Weiter: array_chunk


Funktionsreferenz / Array-Funktionen / array_chunk

Letztes Update der Funktion array_chunk: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_chunk

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

array array_chunk ( array input, int size [, bool preserve_keys] )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_chunk() teilt das Array input in kleinere Stücke auf. Dabei
legen sie mit dem Parameter size die Größe der neuen Arrays fest. Die neuen
Arrays werden als Teil eines mehrdimensionalen Arrays erzeugt, die beginnend
bei Null numerisch indiziert sind (siehe Beispiel 1). Mit dem optionalen
Parameter preserve_keys können Sie erzwingen, das vorhandene Schlüssel des zu
bearbeitenden Arrays beibehalten werden (siehe Beispiel 2).

Folgende Parameter für preserve_keys sind zulässig:
. TRUE (behält vorhandene Schlüssel bei)
. FALSE (erzeugt neue Schlüssel - Defaultwert)

nach unten nach oben Beispiel 1

<?PHP
$input_array = array('Spanien', 'Italien', 'Deutschland', 'Belgien', 'England');
$input_array1 = array_chunk($input_array, 2);
while(list($key, $val) = each($input_array1)) {
    echo '$input_array1[' . $key . ']' . '<br>';
    while(list($keys, $vals) = each($val)) {
        echo '[' . $keys . ']' . " => " . $vals . '<br>';
    }
}
?>

nach unten nach oben Ausgabe 1

$input_array1[0]
    [0] => Spanien
    [1] => Italien
$input_array1[1]
    [0] => Deutschland
    [1] => Belgien
$input_array1[2]
    [0] => England

nach unten nach oben Beispiel 2

<?PHP
$input_array = array('Spanien', 'Italien', 'Deutschland', 'Belgien', 'England');
$input_array2 = array_chunk($input_array, 2, TRUE);
while(list($key, $val) = each($input_array2)) {
    echo '$input_array2[' . $key . ']' . '<br>';
    while(list($keys, $vals) = each($val)) {
        echo '[' . $keys . ']' . " => " . $vals . '<br>';
    }
}
?>

nach unten nach oben Ausgabe 2

$input_array2[0]
    [0] => Spanien
    [1] => Italien
$input_array2[1]
    [2] => Deutschland
    [3] => Belgien
$input_array2[2]
    [4] => England

Zurück: array_change_key_case

Weiter: array_combine


Funktionsreferenz / Array-Funktionen / array_combine

Letztes Update der Funktion array_combine: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_combine

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_combine ( array keys, array values )

nach unten nach oben Version

(PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_combine() erzeugt aus zwei verschiedenen Arrays ein neues
Array. Dabei erhält das neue Array als Schlüssel, die Werte des ersten Arrays
keys und als Werte, die Werte des zweiten Arrays values. Diese Funktion wird
FALSE zurückgeben, falls die beiden Arrays (keys und values) unterschiedliche
Mengen an Werten beeinhalten oder leer sind.

Siehe auch:
. array_merge()
. array_walk()
. array_values()

nach unten nach oben Beispiel

<?PHP
$first = array('Zoo', 'Museum', 'Disco');
$second = array('Tiere', 'Gemälde', 'Musik');
$combine = array_combine($first, $second);
while(list($key, $val) = each($combine)) {
    echo $key . " - " . $val . '<br>';
}
?>

nach unten nach oben Ausgabe

Zoo => Tiere
Museum => Gemälde
Disco => Musik

Zurück: array_chunk

Weiter: array_count_values


Funktionsreferenz / Array-Funktionen / array_count_values

Letztes Update der Funktion array_count_values: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_count_values

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_count_values ( array input )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_count_values() zählt, wie oft jeder Wert innerhalb des Arrays
input vorkommt, und gibt das Ergebnis in Form eines neuen Arrays zurück. Jeder
Eintrag dieses Ergebnis-Arrays enthält als Wert eine Zahl, die angibt, wie oft
der Schlüssel in dem Array vorkommt.

nach unten nach oben Beispiel

<?PHP
$array = array("PHP",4,"PHP",4,"PHP","SELFPHP");
$zaehle = array_count_values($array);
while(list($key, $val) = each($zaehle)) {
    echo $key . " kommt " . $val . ' mal vor.<br>';
}
?>

nach unten nach oben Ausgabe

PHP kommt 3 mal vor.
4 kommt 2 mal vor.
SELFPHP kommt 1 mal vor.

Zurück: array_combine

Weiter: array_diff


Funktionsreferenz / Array-Funktionen / array_diff

Letztes Update der Funktion array_diff: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_diff

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_diff ( array array1, array array2 [, array ...] )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_diff() gibt alle Werte des Arrays array1 zurück, welche
in keinem anderen der zu untersuchenden Arrays vorkommen.

Siehe auch:
. array_intersect()

nach unten nach oben Beispiel

<?PHP
$array1 = array ("a" => "PHP", "ASP", "Java");
$array2 = array ("b" => "PHP", "ASP", "C++");
$result = array_diff ($array1, $array2);
while(list($key, $val) = each($result)) {
    echo $key . ": " . $val . '<br>';
}
?>

nach unten nach oben Ausgabe

1: Java

Zurück: array_count_values

Weiter: array_fill


Funktionsreferenz / Array-Funktionen / array_fill

Letztes Update der Funktion array_fill: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_fill

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_fill ( int start_index, int num, mixed value )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_fill() erzeugt ein neues ode füllt ein bestehendes Array mit
einer bestimmten Menge num an Einträgen value. Mit dem Startparameter
start_index legen sie die Position fest, von der aus das Array erzeugt wird.
Bitte beachten Sie, das die Menge num größer als Null sein muss, da der
Interpreter von PHP ansonsten einen Fehler ausgeben wird. Weiterhin sollten Sie
darauf achten, das falls Sie in ein bestehendes Array die neuen Werte
hineinschreiben wollen, dieses durch die Funktion array_fill überschrieben wird
und somit alle Werte des bestehenden Arrays verloren gehen.

nach unten nach oben Beispiel

<?PHP
$array = array_fill(2, 3, 'SELFPHP');
while(list($key, $val) = each($array)) {
    echo $key . " => " . $val . '<br>';
}
?>

nach unten nach oben Ausgabe

2 => SELFPHP
3 => SELFPHP
4 => SELFPHP

Zurück: array_diff

Weiter: array_filter


Funktionsreferenz / Array-Funktionen / array_filter

Letztes Update der Funktion array_filter: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_filter

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_filter ( array input [, callback callback] )

nach unten nach oben Version

(PHP 4 >= 4.0.6, PHP 5)

nach unten nach oben Beschreibung

Mit der Funktion array_filter() gibt man Werte eines Arrays (input) an eine
Callback-Funktion (callback) zur weiteren Bearbeitung und bekommt ein
modifiziertes Array zurück.

Siehe auch:
. array_map()
. array_reduce()
. array_walk()

nach unten nach oben Beispiel

<?PHP
function ungerade_zahl($wert) {
    return ($wert % 2 == 1);
}

function gerade_zahl($wert) {
    return ($wert % 2 == 0);
}

$array1 = array ("a"=>1,"b"=>2,"c"=>3,"d"=>5);
$array2 = array (1, 2, 3, 4, 5, 6);

$werte1 = array_filter($array1, "ungerade_zahl");
echo "Ungerade Werte: <br>";
while(list($key, $val) = each($werte1)){
    echo $val;
    echo "<br>";
}

echo "Gerade Werte: <br>";
$werte2 = array_filter($array2, "gerade_zahl");
while(list($key, $val) = each($werte2)){
    echo $val;
    echo "<br>";
}
?>

nach unten nach oben Ausgabe

Ungerade Werte:
1
3
5
Gerade Werte:
2
4
6

Zurück: array_fill

Weiter: array_flip


Funktionsreferenz / Array-Funktionen / array_flip

Letztes Update der Funktion array_flip: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_flip

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_flip ( array trans )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_flip() vertauscht für jedes Element des Arrays trans den
Schlüssel mit dem Wert.

nach unten nach oben Beispiel

<?PHP
$ar1 = array ("A" => "Apfel","B" => "Banane","K" => "Kirsche");
print_r ($ar1) . '<br>';
$ar2 = array_flip($ar1);
print_r ($ar2) . '<br>';
?>

nach unten nach oben Ausgabe

Array
(
    [A] => Apfel
    [B] => Banane
    [K] => Kirsche
)
Array
(
    [Apfel] => A
    [Banane] => B
    [Kirsche] => K
)

Zurück: array_filter

Weiter: array_intersect


Funktionsreferenz / Array-Funktionen / array_intersect

Letztes Update der Funktion array_intersect: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_intersect

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_intersect ( array array1, array array2 [, array ...] )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_intersect() gibt alle Werte des Arrays array1 zurück,
welche auch in anderen der zu untersuchenden Arrays vorkommen. Bitte beachten
Sie, das das nur diejenigen Werte als gleich angesehen werden, die nicht nur
vom Inhalt (z.B. PHP und PHP) sondern auch vom Typ (z.B. String und String)
gleich (===) sind. Die Schlüssel des Ergebnis-Arrays werden dabei aus array1
übernommen.

Siehe auch:

. array_intersect_assoc()
. array_diff()
. array_diff_assoc()

nach unten nach oben Beispiel

<?PHP
$array1 = array("a" => '1', "b" => "2", "c" => "3");
$array2 = array(1, 4, 3);
$result = array_intersect($array1, $array2);
while(list($key, $val) = each($result)) {
    echo $key . ": " . $val;
    echo "\n";
}
?>

nach unten nach oben Ausgabe

a: 1
c: 3

Zurück: array_flip

Weiter: array_intersect_assoc


Funktionsreferenz / Array-Funktionen / array_intersect_assoc

Letztes Update der Funktion array_intersect_assoc: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_intersect_assoc

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_intersect_assoc ( array array1, array array2 [, array ...] )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_intersect_assoc() gibt alle Werte des Arrays array1 zurück,
welche auch in anderen der zu untersuchenden Arrays vorkommen. Dabei muss nicht
nur der Wert, sondern auch der Index gleich sein. Bitte beachten Sie, das nur
diejenigen Werte als gleich angesehen werden, die nicht nur vom Inhalt (z.B. PHP
und PHP) sondern auch vom Typ (z.B. String und String) und vom Index des Arrays
gleich sind. Die Schlüssel des Ergebnis-Arrays werden dabei aus array1
übernommen.

Siehe auch:
. array_intersect()
. array_diff()
. array_diff_assoc()

nach unten nach oben Beispiel

<?PHP
$array1 = array("a" => "Linux", "b" => "Windows", "Mac");
$array2 = array("a" => "Linux", "Windows", "Mac");
print_r($array1);
print_r($array2);
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>

nach unten nach oben Ausgabe

Array
(
    [a] => Linux
    [b] => Windows
    [0] => Mac
)
Array
(
    [a] => Linux
    [0] => Windows
    [1] => Mac
)
Array
(
    [a] => Linux
)

Zurück: array_intersect

Weiter: array_keys


Funktionsreferenz / Array-Funktionen / array_keys

Letztes Update der Funktion array_keys: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_keys

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_keys ( array input [, mixed search_value [, bool strict]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_keys() gibt die Schlüssel des Arrays input zurück. Fehlt das
Argument search_value, liefert die Funktion die Schlüssel aller Einträge,
andernfalls gibt sie nur die Schlüssel der Einträge zurück, die den angegebenen
Wert haben.

Siehe auch:
. array_values()
. array_key_exists()

nach unten nach oben Beispiel

<?PHP
$array1 = array(0=>"PHP","b"=>"ASP","c"=>"Java",1=>"C++");
$ausgabe1 = array_keys($array1);
print_r($ausgabe1);
print_r(array_keys ($array1, "Java"));
?>

nach unten nach oben Ausgabe

Array
(
    [0] => 0
    [1] => b
    [2] => c
    [3] => 1
)
Array
(
    [0] => c
)

Zurück: array_intersect_assoc

Weiter: array_key_exists


Funktionsreferenz / Array-Funktionen / array_key_exists

Letztes Update der Funktion array_key_exists: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_key_exists

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool array_key_exists ( mixed key, array search )

nach unten nach oben Version

(PHP 4 >= 4.1.0, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_key_exists() sucht in einem Array search nach einem Index key.
Wird der zu suchende Index in dem Array gefunden, so gibt diese Funktion TRUE,
ansonsten FALSE zurück.

Siehe auch:

. isset()

nach unten nach oben Beispiel

<?PHP
$array1 = array("Sprache"=>"PHP","Tier"=>"Hund");
if (array_key_exists("Sprache", $array1)) {
    echo 'Index "Sprache" kommt in dem Array vor.';
}
?>

nach unten nach oben Ausgabe

Index "Sprache" kommt in dem Array vor.

Zurück: array_keys

Weiter: array_map


Funktionsreferenz / Array-Funktionen / array_map

Letztes Update der Funktion array_map: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_map

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

array array_map ( callback callback, array arr1 [, array ...] )

nach unten nach oben Version

(PHP 4 >= 4.0.6, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_map() gibt ein Array zurück, nachdem sie alle Elemente des
ursprünglichen Arrays arr1 und eventuell der weiteren als Argumente übergebenen
Arrays (arr2 usw.) an die Funktion callback übergeben hat. Das Ergebnis-Array
besteht aus den Rückgabewerten dieser Callback-Funktion. Sie sollten darauf
achten, dass die zu uebergebenen Arrays alle die gleiche Länge haben da
ansonsten das kürzeste Array um leere Elemente aufgefüllt wird.
Im Beispiel 2 sehen Sie eine interessante Lösung wie verschachtelte Arrays
erstellt werden können, wobei als Callback-Funktion NULL angegeben wird.

Siehe auch:
. array_filter()
. array_reduce()
. array_walk()

nach unten nach oben Beispiel 1

<?PHP
function multipliziere($a) {
    return $a*$a;
}
$array1 = array(4, 8, 12);
$array2 = array_map("multipliziere", $array1);
print_r($array2);
?>

nach unten nach oben Ausgabe 1

Array
(
    [0] => 16
    [1] => 64
    [2] => 144
)

nach unten nach oben Beispiel 2

<?PHP
$a = array(1, 2, 3);
$b = array("eins", "zwei", "drei");
$c = array("one", "two", "three");

print_r(array_map(null, $a, $b, $c));
?>

nach unten nach oben Ausgabe 2

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => eins
            [2] => one
        )

    [1] => Array
        (
            [0] => 2
            [1] => zwei
            [2] => two
        )

    [2] => Array
        (
            [0] => 3
            [1] => drei
            [2] => three
        )

)

Zurück: array_key_exists

Weiter: array_merge


Funktionsreferenz / Array-Funktionen / array_merge

Letztes Update der Funktion array_merge: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_merge

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu usgabe 1 usgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 | Springe zu Beispiel 3 Beispiel 3 | Springe zu Ausgabe 3 Ausgabe 3 |

nach unten nach oben Befehl

array array_merge ( array array1 [, array array2 [, array ...]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_merge() verbindet mehrere Arrays zu einem Array. Es ist
darauf zu achten, dass bei gleichnamigen String-Schlüsseln der Wert des ersten
Arrays überschrieben wird (siehe Beispiel 2). Bei identischen numerischen
Schlüsseln wird dagegen der Schlüssel hochgezählt und das Element somit
angehängt (siehe Beispiel 1 und 3).

Siehe auch:
. array_merge_recursive()

nach unten nach oben Beispiel 1

<?PHP
$array1 = array("PHP","zu");
$array2 = array("erlernen","ist");
$array3 = array("wirklich","nicht","schwer");
$array4 = array_merge($array1,$array2,$array3);
for($x=0;$x<count($array4);$x++){
    print $array4[$x].' ';
}
?>

A nach unten nach oben usgabe 1

PHP zu erlernen ist wirklich nicht schwer

nach unten nach oben Beispiel 2

<?PHP
$array1 = array("Sorte1" => "Bananen");
$array2 = array("Sorte2" => "Kirschen");
$array3 = array("Sorte1" => "Kiwis");
$array4 = array_merge($array1,$array2,$array3);
print_r($array4);
?>

nach unten nach oben Ausgabe 2

Array
(
    [Sorte1] => Kiwis
    [Sorte2] => Kirschen
)

nach unten nach oben Beispiel 3

<?PHP
$array1[0] = "Bananen";
$array2[0] = "Kirschen";
$array3[0] = "Kiwis";
$array4 = array_merge($array1,$array2,$array3);
print_r($array4);
?>

nach unten nach oben Ausgabe 3

Array
(
    [0] => Bananen
    [1] => Kirschen
    [2] => Kiwis
)

Zurück: array_map

Weiter: array_merge_recursive


Funktionsreferenz / Array-Funktionen / array_merge_recursive

Letztes Update der Funktion array_merge_recursive: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_merge_recursive

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_merge_recursive ( array array1 [, array ...] )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_merge_recursive() fügt die Elemente von mehreren Arrays zu
einem Array zusammen. Haben Werte in verschiedenen Arrays denselben String
Schlüssel, so legt die Funktion unter diesem Schlüssel ein neues verschachteltes
Array an, in das es die Werte aus allen Ausgangs-Arrays hintereinander einfügt.
Hat hingegen ein Element aus einem hinteren Array den gleichen numerischen
Schlüssel wie ein Element in einem vorderen Array, zählt die Funktion den
Schlüssel einfach hoch und hängt das Element somit an.

Siehe auch:
. array_merge()

nach unten nach oben Beispiel

<?PHP
$array1 = array("Tier" => "Kamel");
$array2 = array("Ort" => "Zoo");
$array3 = array("Tier" => "Löwe");
$array4 = array_merge_recursive($array1,$array2,$array3);
print_r($array4);
?>

nach unten nach oben Ausgabe

Array
(
    [Tier] => Array
        (
            [0] => Kamel
            [1] => Löwe
        )

    [Ort] => Zoo
)

Zurück: array_merge

Weiter: array_multisort


Funktionsreferenz / Array-Funktionen / array_multisort

Letztes Update der Funktion array_multisort: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_multisort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_multisort() sortiert mehrere Arrays oder ein
multidimensionales Array auf einmal. Dabei werden die
angegebenen Arrays als Spalten einer Tabelle (wie bei einer
Datenbank) betrachtet. Das erste Argument (ar1) muss ein
Array sein. Alle nachfolgenden Argumente können entweder ein
Array oder ein Sortierflag sein.

Flags für Sortierreihenfolge:

. SORT_ASC - Sortiert in aufsteigender Reihenfolge
. SORT_DESC - Sortiert in absteigender Reihenfolge

Flags für Sortiertypen:

. SORT_REGULAR - Vergleicht die Felder normal
. SORT_NUMERIC - Vergleicht die Felder numerisch
. SORT_STRING - Vergleicht Felder als Strings

Jedes Flag ist nur für das vorhergehende Array gültig und wird
danach wieder auf die Standartwerte SORT_DESC und
SORT_REGULAR zurückgesetzt.

nach unten nach oben Beispiel 1

<?PHP
$ar1 = array ("10", 100, 100, "a");
$ar2 = array (1, 3, "2", 1);
array_multisort ($ar1, $ar2);
print_r($ar1);
print_r($ar2);
?>

nach unten nach oben Ausgabe 1

Array
(
    [0] => 10
    [1] => a
    [2] => 100
    [3] => 100
)
Array
(
    [0] => 1
    [1] => 1
    [2] => 2
    [3] => 3
)

nach unten nach oben Beispiel 2

<?PHP
$ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
array_multisort ($ar[0], SORT_ASC, SORT_STRING, $ar[1], SORT_NUMERIC,SORT_DESC);
print_r($ar[0]);
print_r($ar[1]);
?>

nach unten nach oben Ausgabe 2

Array
(
    [0] => 10
    [1] => 100
    [2] => 100
    [3] => a
)
Array
(
    [0] => 1
    [1] => 3
    [2] => 2
    [3] => 1
)

Zurück: array_merge_recursive

Weiter: array_pad


Funktionsreferenz / Array-Funktionen / array_pad

Letztes Update der Funktion array_pad: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_pad

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_pad ( array input, int pad_size, mixed pad_value )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_pad() fügt neue Elemente mit dem Wert pad_value in das Array
input ein, bis das Array pad_size Elemente hat. Handelt es sich bei pad_size um
einen positiven Wert, so werden die neuen Elemente an das Ende des Arrays
angehängt, bis die gewünschte Größe erreicht ist. Bei einem negativen Wert
werden die neuen Elemente am Anfang des Arrays eingefügt, bis die gewünschte
Größe erreicht ist. Es ist darauf zu achten, dass pad_size größer ist als die
Menge der momentan im Array befindlichen Elemente.

nach unten nach oben Beispiel

<?PHP
$array1 = array("PHP","ASP");
$array2 = array_pad($array1,4,"C++");
$array3 = array_pad($array1,-4,"Java");
print_r($array2);
print_r($array3);
?>

nach unten nach oben Ausgabe

Array
(
    [0] => PHP
    [1] => ASP
    [2] => C++
    [3] => C++
)
Array
(
    [0] => Java
    [1] => Java
    [2] => PHP
    [3] => ASP
)

Zurück: array_multisort

Weiter: array_pop


Funktionsreferenz / Array-Funktionen / array_pop

Letztes Update der Funktion array_pop: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_pop

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed array_pop ( array array )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_pop() löscht das letzte Element aus dem Array (array) und
gibt dieses Element zurück. Ist array leer oder kein Array, so erhalten Sie als
Rückgabewert NULL.

Siehe auch:

. array_push()
. array_shift()
. array_unshift()

nach unten nach oben Beispiel

<?PHP
$array1 = array("Köln", "Bonn", "Mailand");
$last = array_pop($array1);
print_r($array1);
print "\n";
print $last;
?>

nach unten nach oben Ausgabe

Array
(
    [0] => Köln
    [1] => Bonn
)

Mailand

Zurück: array_pad

Weiter: array_push


Funktionsreferenz / Array-Funktionen / array_push

Letztes Update der Funktion array_push: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_push

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int array_push ( array array, mixed var [, mixed ...] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_push() hängt ein oder mehrere neue Elemente (var) an das
Array (array) an. Sie gibt die neue Größe des Arrays als Ergebnis zurück.

Siehe auch:

. array_pop()
. array_shift()
. array_unshift()

nach unten nach oben Beispiel

<?PHP
$array1 = array("birnen", "bananen", "kirschen");
$menge = array_push($array1,"orangen","fruit");
print_r($array1);
print "\n";
print $menge;
?>

nach unten nach oben Ausgabe

Array
(
    [0] => birnen
    [1] => bananen
    [2] => kirschen
    [3] => orangen
    [4] => fruit
)

5

Zurück: array_pop

Weiter: array_rand


Funktionsreferenz / Array-Funktionen / array_rand

Letztes Update der Funktion array_rand: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_rand

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed array_rand ( array input [, int num_req] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_rand() ist sehr nützlich, wenn man die Elemente eines Array
(input) in beliebiger Reihenfolge ausgeben möchte. Der Wert num_req bestimmt,
wie viele Elemente geliefert werden sollen.

nach unten nach oben Beispiel

<?PHP
srand((double)microtime() * 10000000);
$var = array("Eins", "Zwei", "Drei", "Vier");
$rand_var = array_rand($var, 3);
for($x=0;$x<count($rand_var);$x++){
    echo $var[$rand_var[$x]];
    echo "\n";
}
?>

nach unten nach oben Ausgabe

<i>Wahllos werden die Werte ausgegeben - in diesem Fall immer 3 Werte.</i>
<u>Beispiel:</u>

Vier
Zwei
Drei

Zurück: array_push

Weiter: array_reduce


Funktionsreferenz / Array-Funktionen / array_reduce

Letztes Update der Funktion array_reduce: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_reduce

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed array_reduce ( array input, callback function [, int initial] )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_reduce() übergibt nacheinander jedes Element des Arrays input
an eine Rückruffunktion (callback) und gibt den Ergebniswert zurück. Wird der
optionale Parameter intial angegeben, so startet der Durchlauf mit diesem Wert.
Wurde initial angegeben und das Array ist leer, so erhalten Sie als Resultat
den Wert von initial.

Siehe auch:

. array_filter()
. array_map()

nach unten nach oben Beispiel

<?PHP
function summiere($summe, $wert) {
    $summe += $wert;
    return $summe;
}
function multipliziere($summe, $wert) {
    $summe *= $wert;
    return $summe;
}
$array = array(4, 8, 12, 16, 20);
$array1 = array(4);
$leer = array();
print array_reduce($array, "summiere") . "\n";
print array_reduce($array, "multipliziere", 20) . "\n";
print array_reduce($leer, "summiere", 1) . "\n";
print array_reduce($array1, "multipliziere", 3) . "\n";
?>

nach unten nach oben Ausgabe

60
2457600
1
12

Zurück: array_rand

Weiter: array_reverse


Funktionsreferenz / Array-Funktionen / array_reverse

Letztes Update der Funktion array_reverse: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_reverse

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_reverse ( array array [, bool preserve_keys] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_reverse() dreht die Reihenfolge aller Elemente innerhalb
eines Arrays (array) um. Wird der optionale Parameter preserve_keys auf TRUE
gesetzt, so bleibt die Reihenfolge der Schlüssel bestehen.

nach unten nach oben Beispiel

<?PHP
$array1 = array("php","perl","asp");
$array2 = array_reverse($array1);
$array3 = array_reverse($array1,TRUE);
print_r($array1);
print_r($array2);
print_r($array3);
?>

nach unten nach oben Ausgabe

Array
(
    [0] => php
    [1] => perl
    [2] => asp
)
Array
(
    [0] => asp
    [1] => perl
    [2] => php
)
Array
(
    [2] => asp
    [1] => perl
    [0] => php
)

Zurück: array_reduce

Weiter: array_search


Funktionsreferenz / Array-Funktionen / array_search

Letztes Update der Funktion array_search: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_search

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed array_search ( mixed needle, array haystack [, bool strict] )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_search() sucht in einem Array (haystack) nach einem Wert
(needle). Ist der Wert needle in dem Array enthalten, liefert die Funktion den
Schlüssel des Elements als Ergebnis zurück. Kann die Funktion den gesuchten
Wert nicht finden, gibt sie als Ergebnis False zurück.
Hat der Parameter strict den Wert True, sucht die Funktion nur Elemente, deren
Wert denselben Datentyp hat wie needle, Default-Wert ist False.

Siehe auch:

. array_keys()
. in_array()

nach unten nach oben Beispiel

<?PHP
$array= array("a"=>"PHP","b"=>"ASP","c"=>"PERL");
if ($x = array_search("PHP", $array)){
    echo $array[$x] . ' wurde gefunden!';
}
?>

nach unten nach oben Ausgabe

PHP wurde gefunden!

Zurück: array_reverse

Weiter: array_shift


Funktionsreferenz / Array-Funktionen / array_shift

Letztes Update der Funktion array_shift: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_shift

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed array_shift ( array array )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_shift() entfernt das erste Element aus einem Array (array)
und gibt dieses Element zurück. Dabei wird das Array um ein Element verkürzt,
wobei die Schlüssel bei 0 beginnend neu aufgebaut werden. Sollte es sich bei
den Schlüsseln um Strings als Schlüssel handeln, so bleiben diese unberührt.
Falls array leer oder kein Array sein sollte, so werden Sie als Rückgabewert
NULL erhalten.

Siehe auch:

. array_unshift()
. array_push()
. array_pop()

nach unten nach oben Beispiel

<?PHP
$array1 = array("php","asp","C++");
$prog = array_shift($array1);
print_r($array1);
print $prog;
?>

nach unten nach oben Ausgabe

Array
(
    [0] => asp
    [1] => C++
)
php

Zurück: array_search

Weiter: array_slice


Funktionsreferenz / Array-Funktionen / array_slice

Letztes Update der Funktion array_slice: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_slice

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

array array_slice ( array array, int offset [, int length [, bool preserve_keys]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_slice() extrahiert einen Teilbereich aus einem Array (array).
Dabei gibt offset den Index des Startelements an (Achtung: Ein Array beginnt
bei 0) und length die Anzahl der Elemente. Ist offset positiv, so wird vom
Anfang des Arrays gezählt (siehe Beispiel 1). Ist offset hingegen negativ, so
wird vom Ende des Arrays gezählt (siehe Beispiel 2). Sollte length über das
Ende des Arrays hinausweisen, so wird nur die Menge des Arrays bis zum Ende
ausgegeben (siehe Beispiel 2) - es kommt zu keinem Fehler.

Siehe auch:

. array_splice()

nach unten nach oben Beispiel 1

<?PHP
$array1 = array("Katze","Maus","Igel","Pferd", "Huhn");
$array2 = array_slice($array1,2,3);
print_r($array2);
?>

nach unten nach oben Ausgabe 1

Array
(
    [0] => Igel
    [1] => Pferd
    [2] => Huhn
)

nach unten nach oben Beispiel 2

<?PHP
$array1 = array("Katze","Maus","Igel","Pferd", "Huhn");
$array2 = array_slice($array1,-2,3);
print_r($array2);
?>

nach unten nach oben Ausgabe 2

Array
(
    [0] => Pferd
    [1] => Huhn
)

Zurück: array_shift

Weiter: array_splice


Funktionsreferenz / Array-Funktionen / array_splice

Letztes Update der Funktion array_splice: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_splice

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 | Springe zu Beispiel 3 Beispiel 3 | Springe zu Ausgabe 3 Ausgabe 3 | Springe zu Beispiel 4 Beispiel 4 | Springe zu Ausgabe 4 Ausgabe 4 |

nach unten nach oben Befehl

array array_splice ( array input, int offset [, int length [, array replacement]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_splice() ersetzt oder entfernt einen Teilbereich aus einem
Array (input). Der Teilbereich ist definiert durch den Index des ersten Elements
(offset) und die Anzahl der Elemente (length, Default-Wert sind alle Elemente
bis zum Ende des Arrays). Enthält der Parameter replacement ein Array, fügt die
Funktion dieses Array an der Stelle ein, wo sie die gewünschten Elemente
entfernt hat.
Das so entstandene Array wird als Funktionsergebnis zurückgegeben. Der
Parameter offset gibt den Index des Startelements an. Ist offset positiv, so
wird vom Anfang des Arrays gezählt. Ist offset hingegen negativ, so wird vom
Ende des Arrays gezählt.

Siehe auch:

. array_slice()

nach unten nach oben Beispiel 1

<?PHP
$array1 = array("Katze","Maus","Igel","Pferd", "Huhn");
$array2 = array_splice($array1, 1, -2);
print_r($array1);
?>

nach unten nach oben Ausgabe 1

Array
(
    [0] => Katze
    [1] => Pferd
    [2] => Huhn
)

nach unten nach oben Beispiel 2

<?PHP
$array1 = array("Katze","Maus","Igel","Pferd", "Huhn");
$array2 = array_splice($array1, 3);
print_r($array1);
?>

nach unten nach oben Ausgabe 2

Array
(
    [0] => Katze
    [1] => Maus
    [2] => Igel
)

nach unten nach oben Beispiel 3

<?PHP
$array1 = array("Katze","Maus","Igel","Pferd", "Huhn");
$array2 = array_splice($array1, 2, count($array1), "Huhn");
print_r($array1);
?>

nach unten nach oben Ausgabe 3

Array
(
    [0] => Katze
    [1] => Maus
    [2] => Huhn
)

nach unten nach oben Beispiel 4

<?PHP
$array1 = array("Katze","Maus","Igel","Pferd", "Huhn");
$array = array("Wal", "Hai");
$array2 = array_splice($array1, -2, 2, $array);
print_r($array1);
print_r($array2);
?>

nach unten nach oben Ausgabe 4

Array
(
    [0] => Katze
    [1] => Maus
    [2] => Igel
    [3] => Wal
    [4] => Hai
)
Array
(
    [0] => Pferd
    [1] => Huhn
)

Zurück: array_slice

Weiter: array_sum


Funktionsreferenz / Array-Funktionen / array_sum

Letztes Update der Funktion array_sum: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_sum

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

number array_sum ( array array )

nach unten nach oben Version

(PHP 4 >= 4.0.4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_sum() summiert die Werte innerhalb eines Arrays (arr) und
gibt das Ergebnis zurück. Der Rückgabewert ist ein Integer oder Float.

nach unten nach oben Beispiel 1

<?PHP
$a = array(2,4,6,8);
echo 'Summe von $a = ' .array_sum($a);
?>

nach unten nach oben Ausgabe 1

Summe von $a = 20

nach unten nach oben Beispiel 2

<?PHP
$b = array("a"=>2.2,"b"=>3.3,"c"=>4.4);
echo 'Summe von $b = ' . array_sum($b);
?>

nach unten nach oben Ausgabe 2

Summe von $b = 9.9

Zurück: array_splice

Weiter: array_unique


Funktionsreferenz / Array-Funktionen / array_unique

Letztes Update der Funktion array_unique: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_unique

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_unique ( array array )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_unique() entfernt doppelte Einträge aus einem Array (array)
und gibt das neue Array als Ergebnis zurück.

nach unten nach oben Beispiel

<?PHP
$array1 = array("a","b","c","a","b");
print_r(array_unique($array1));
?>

nach unten nach oben Ausgabe

Array
(
    [0] => a
    [1] => b
    [2] => c
)

Zurück: array_sum

Weiter: array_unshift


Funktionsreferenz / Array-Funktionen / array_unshift

Letztes Update der Funktion array_unshift: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_unshift

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int array_unshift ( array array, mixed var [, mixed ...] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_unshift() fügt neue Elemente (var) am Anfang eines Arrays
(array) ein. Die bereits vorhandenen Elemente werden nach hinten geschoben.
Vorhandene numerische Schlüssel in array werden ignoriert, sodass bei null
begonnen wird. Strings als Schlüssel bleiben von dieser Funktion unberührt
(siehe Beispiel). Als Rückgabewert dieser Fuktion erhalten Sie die Menge des
modifizierten Arrays.

Siehe auch:

. array_shift()
. array_push()
. array_pop()

nach unten nach oben Beispiel

<?PHP
$array1 = array(0=>"php","sprache"=>"asp");
$menge = array_unshift($array1,"perl","c++");
print_r($array1);
echo $menge . ' Werte!';
?>

nach unten nach oben Ausgabe

Array
(
    [0] => perl
    [1] => c++
    [2] => php
    [sprache] => asp
)
4 Werte!

Zurück: array_unique

Weiter: array_values


Funktionsreferenz / Array-Funktionen / array_values

Letztes Update der Funktion array_values: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_values

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array array_values ( array input )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_values() ändert ein assoziatives Array (input) in ein
numerisch indiziertes Array. Beachten Sie im Beispiel, wie mit einem neuen,
numerischen Schlüssel auf das Element des Arrays zugegriffen wird.

Siehe auch:

. array_keys()

nach unten nach oben Beispiel

<?PHP
$array = array("version"=>"SELFPHP");
print_r($array);
$array = array_values($array);
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
    [version] => SELFPHP
)
Array
(
    [0] => SELFPHP
)

Zurück: array_unshift

Weiter: array_walk


Funktionsreferenz / Array-Funktionen / array_walk

Letztes Update der Funktion array_walk: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

array_walk

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool array_walk ( array array, callback funcname [, mixed userdata] )

nach unten nach oben Version

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion array_walk() übergibt jedes Element eines Arrays (arr) nacheinander
an die Rückruffunktion function. Innerhalb dieser Funktion erhalten Sie den Wert
des jeweiligen Array-Elements als ersten Parameter, den Schlüssel des Elements
als zweiten Parameter und den Wert von userdata als dritten Parameter.

Siehe auch:

. each()
. list()
. call_user_func_array()

nach unten nach oben Beispiel

<?PHP
function tue_etwas($_var) {
    global $_neu;
    $_neu += $_var;
    echo $_neu . "\n";
}
$var = array(2,4,6);
array_walk($var,"tue_etwas");
?>

nach unten nach oben Ausgabe

2
6
12

Zurück: array_values

Weiter: arsort


Funktionsreferenz / Array-Funktionen / arsort

Letztes Update der Funktion arsort: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

arsort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool arsort ( array array [, int sort_flags] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion arsort() sortiert ein Array (array) nach den Werten der Elemente in
absteigender Reihenfolge. Die Zuordnung von Schlüssel zu Wert bleibt dabei
erhalten.
In der unten stehenden Tabelle sehen Sie die Wertigkeit der Sortierreihenfolge
von Zeichen für diese Funktion. Dabei wird von der oberen linken Spalte zur
unteren rechten Spalte sortiert:

Sortierreihenfolge arsort()

ü ö ä Ü Ö Ä ´ § € ~ } | { z y x w v u t s r q p o n m l k j i
h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J
I H G F E D C B A @ ? > = < ; : / . – , + * ) ( ' & % $ # » !

Im Parameter sort_flags können Sie Flags für den Sortiertyp übergeben:

• SORT_REGULAR – Vergleicht die Felder normal (Default-Wert)
• SORT_NUMERIC – Vergleicht die Felder numerisch
• SORT_STRING – Vergleicht Felder als Strings

Siehe auch:

• asort()
• rsort()
• ksort()
• sort()

nach unten nach oben Beispiel

<?PHP
$array = array("a"=>"PHP","c"=>"ASP","d"=>"C","b"=>"C++");
arsort($array);
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
    [a] => PHP
    [b] => C++
    [d] => C
    [c] => ASP
)

Zurück: array_walk

Weiter: asort


Funktionsreferenz / Array-Funktionen / asort

Letztes Update der Funktion asort: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

asort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool asort ( array array [, int sort_flags] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion asort() sortiert ein Array (array) nach den Werten der Elemente in
aufsteigender Reihenfolge. Die Zuordnung von Schlüssel zu Wert bleibt dabei
erhalten.
In der unten stehenden Tabelle sehen Sie die Wertigkeit der Sortierreihenfolge
von Zeichen für diese Funktion. Dabei wird von der oberen linken Spalte zur
unteren rechten Spalte sortiert:

Sortierreihenfolge asort()

! » # $ % & ' ( ) * + , – . / : ; < = > ? @ A B C D E F G H I
J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h
i j k l m n o p q r s t u v w x y z { | } ~ € § ´ Ä Ö Ü ä ö ü

Im Parameter sort_flags können Sie Flags für den Sortiertyp übergeben:

• SORT_REGULAR – Vergleicht die Felder normal (Default-Wert)
• SORT_NUMERIC – Vergleicht die Felder numerisch
• SORT_STRING – Vergleicht Felder als Strings

Siehe auch:

• arsort()
• rsort()
• ksort()
• sort()

nach unten nach oben Beispiel

<?PHP
$array = array("a"=>"PHP","c"=>"ASP","d"=>"C","b"=>"C++");
asort($array);
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
    [c] => ASP
    [d] => C
    [b] => C++
    [a] => PHP
)

Zurück: arsort

Weiter: compact


Funktionsreferenz / Array-Funktionen / compact

Letztes Update der Funktion compact: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

compact

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

array compact ( mixed varname [, mixed ...] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion compact() erstellt aus den Werten von Variablen (varname usw.) ein
Array. Sie können der Funktion als Argumente auch Arrays übergeben, die
ihrerseits eine Liste von Variablennamen enthalten (siehe Beispiel 2). Dabei
sucht die Funktion compact() in der aktuellen Symboltabelle nach den Variablen
und fügt diese dem Array hinzu.

Siehe auch:

. extract()

nach unten nach oben Beispiel 1

<?PHP
$var_1 = "banane";
$var_2 = "birne";
$var_3 = "apfel";
$array = compact("var_1","var_2","var_3");
print_r($array);
?>

nach unten nach oben Ausgabe 1

Array
(
    [var_1] => banane
    [var_2] => birne
    [var_3] => apfel
)

nach unten nach oben Beispiel 2

<?PHP
$var_1 = "banane";
$var_2 = "birne";
$var_3 = "apfel";
$vars = array("var_1", "var_2");
$end_vars = compact("var_3", $vars);
print_r($end_vars);
?>

nach unten nach oben Ausgabe 2

Array
(
    [var_3] => apfel
    [var_1] => banane
    [var_2] => birne
)

Zurück: asort

Weiter: count


Funktionsreferenz / Array-Funktionen / count

Letztes Update der Funktion count: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

count

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

int count ( mixed var [, int mode] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion count() zählt die Menge der Elemente innerhalb eines Arrays (var)
und gibt die Anzahl zur weiteren Bearbeitung zurück. Diese Funktion ist sehr
nützlich bei Schleifen, um den erhaltenen Wert für die Durchläufe zu nutzen
(siehe Beispiel 2).

Siehe auch:

. sizeof()

nach unten nach oben Beispiel 1

<?PHP
$array = array("banane","birne","apfel");
echo count($array);
?>

nach unten nach oben Ausgabe 1

3

nach unten nach oben Beispiel 2

<?PHP
$array = array("banane","birne","apfel");
for($x=0;$x<count($array);$x++){
    echo $array[$x] . "\n";
}
?>

nach unten nach oben Ausgabe 2

banane
birne
apfel

Zurück: compact

Weiter: current


Funktionsreferenz / Array-Funktionen / current

Letztes Update der Funktion current: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

current

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed current ( array array )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion current() gibt aktuelle Elemente eines Arrays (array) zurück. Mit
den Funktionen next() und prev() können Sie den Zeiger auf das aktuelle Element
schrittweise ändern.

Siehe auch:

. end()
. key()
. next()
. prev()
. reset()

nach unten nach oben Beispiel

<?PHP
$array = array("PHP","ASP","Perl");
for($x=0; $x<3; $x++){
    echo current($array) . "\n";
    next($array);
}
?>

nach unten nach oben Ausgabe

PHP
ASP
Perl

Zurück: count

Weiter: each


Funktionsreferenz / Array-Funktionen / each

Letztes Update der Funktion each: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

each

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array each ( array array )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion each() gibt bei einem assoziativen Array das Schlüssel-/Wertepaar des aktuellen Elements zurück. Es wird ein Array mit 4 Elementen erzeugt, wobei
jeweils zwei Elemente denselben Wert haben. Der Schlüssel steht in den Elementen
mit dem Index 0 und dem Index key zur Verfügung, der Wert in den Elementen mit
dem Index 1 und dem Index value. Das untere Beispiel gibt das Schlüssel-
/Wertepaar des ersten Elements aus. Mit next() oder list() können Sie aber auch
alle Elemente eines Arrays durchgehen und nacheinander ihre Schlüssel und Werte
auslesen.

Siehe auch:

. key()
. list()
. current()
. reset()
. next()
. prev()

nach unten nach oben Beispiel

<?PHP
$array = array("a"=>"PHP","b"=>"ASP");
$werte = each($array);
echo "Index 0: <b>" . $werte[0] . "</b><br>";
echo "Index 1: <b>" . $werte[1] . "</b><br>";
echo "key: <b>" . $werte["key"] . "</b><br>";
echo "value: <b>" . $werte["value"] . "</b>";
?>

nach unten nach oben Ausgabe

Index 0: a
Index 1: PHP
key: a
value: PHP

Zurück: current

Weiter: end


Funktionsreferenz / Array-Funktionen / end

Letztes Update der Funktion end: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

end

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed end ( array array )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion end() springt zum letzten Element eines Arrays und liefert dessen
Wert zurück.

Siehe auch:

. current()
. each()
. next()
. reset()

nach unten nach oben Beispiel

<?PHP
$werte = array("PHP","ASP","Perl");
echo end($werte);
?>

nach unten nach oben Ausgabe

Perl

Zurück: each

Weiter: extract


Funktionsreferenz / Array-Funktionen / extract

Letztes Update der Funktion extract: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

extract

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int extract ( array var_array [, int extract_type [, string prefix]] )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion extract() erzeugt aus jedem einzelnen Element eines Arrays
(var_array) eine Variable. Der Name der Variablen entsteht aus dem Schlüssel des
jeweiligen Elements, der Wert der Variablen entspricht dem Wert des Elements.
Abhängig vom Wert des Parameters extract_type wird der Name der Variablen nach
folgenden Regeln gebildet:

EXTR_OVERWRITE: Wenn der zu erzeugende Variablennamen schon existiert, wird die
vorhandene Variable überschrieben. Diese Option ist der Standardwert der
Funktion.

EXTR_SKIP: Wenn der zu erzeugende Variablennamen schon existiert, wird die
vorhandene Variable nicht überschrieben.

EXTR_PREFIX_SAME: Wenn der zu erzeugende Variablennamen schon existiert, wird
der Präfix prefix auf die betroffene Variable angewendet.

EXTR_PREFIX_ALL: Alle Variablen werden zur Vermeidung von Namenskollisionen mit
dem Präfix prefix ausgestattet. Der Variablenname besteht aus dem Präfix, einem
Unterstrich und dem Schlüssel des assoziativen Arrays.

EXTR_PREFIX_INVALID: Nur sonst ungültige Variablennamen werden mit dem Präfix
prefix ausgestattet. Wurde in PHP 4.0.5 eingeführt.

EXTR_IF_EXISTS: Die Variable wird nur dann überschrieben, wenn sie bereits in
der aktuellen Symboltabelle existiert. Wurde in PHP 4.2.0 eingeführt.

EXTR_PREFIX_IF_EXISTS: Es werden nur Variablennamen mit Präfix erstellt, falls
eine bereits vorhandene Variable ohne Präfix der selben Version in der
Symboltabelle existiert. Wurde in PHP 4.2.0 eingeführt.

EXTR_REFS: Die Variablen werden als Referenzen extrahiert. Dabei referenzieren
die Werte der importierten Variablen auf die Werte von var_array. Sie können
diesen Parameter auch mit einem anderen extract_type kombinieren. Wurde in PHP
4.3.0 eingeführt.

Um möglichen Fehlern aus dem Weg zu gehen, ist es ratsam, die Option
EXTR_PREFIX_ALL zu nutzen.

Siehe auch:

. compact()

nach unten nach oben Beispiel

<?PHP
$vers = "PHP";
$array = array("script" => "Java",
               "vers"  => "ASP",
               "language" => "Perl");
extract($array, EXTR_PREFIX_ALL, "nxxs");
echo "$nxxs_script, $vers, $nxxs_vers, $nxxs_language";
?>

nach unten nach oben Ausgabe

Java, PHP, ASP, Perl

Zurück: end

Weiter: in_array


Funktionsreferenz / Array-Funktionen / Übersicht Array-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Array-Funktionen

Auf den folgenden Seiten werden die Array-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Arrays": Praxisbuch öffnen

Die hier gelisteten Array-Funktionen bestehen aus folgenden Seiten:

array
array_change_key_case
array_chunk
array_combine
array_count_values
array_diff
array_fill
array_filter
array_flip
array_intersect
array_intersect_assoc
array_keys
array_key_exists
array_map
array_merge
array_merge_recursive
array_multisort
array_pad
array_pop
array_push
array_rand
array_reduce
array_reverse
array_search
array_shift
array_slice
array_splice
array_sum
array_unique
array_unshift
array_values
array_walk
arsort
asort
compact
count
current
each
end
extract
in_array
key
krsort
ksort
list
natcasesort
natsort
next
pos
prev
range
reset
rsort
shuffle
sizeof
sort
uasort
uksort
usort


Funktionsreferenz / Array-Funktionen / in_array

Letztes Update der Funktion in_array: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

in_array

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

bool in_array ( mixed needle, array haystack [, bool strict] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion in_array() sucht in einem Array (haystack) nach einem Suchwort
(needle) und gibt True bei Erfolg, sonst False zurück. Hat der Parameter strict
den Wert True, sucht die Funktion nur Elemente, deren Wert denselben Datentyp
hat wie needle; Default-Wert ist False. Bitte beachten Sie, dass wenn der Wert
von needle vom Typ String ist, zwischen Groß- und Kleinschreibung unterschieden
wird (Sie Beispiel PERL und Perl). Weiterhin durfte vor der Version 4.2.0 von
PHP needle kein Array sein. Falls Sie den Schlüssel des gefundenen Elements
benötigen, so nutzen Sie die Funktion array_search()

Siehe auch:

. array_search()

nach unten nach oben Beispiel 1

<?PHP
$var_array = array("PHP", "ASP", "PERL", "C++");
if (in_array("PERL", $var_array))
    echo 'String "PERL" gefunden!' . "\n";
if (!in_array("Perl", $var_array))
    echo 'String "Perl" nicht gefunden!';
?>

nach unten nach oben Ausgabe 1

String "PERL" gefunden!
String "Perl" nicht gefunden!

nach unten nach oben Beispiel 2

<?php
$array = array(    array('a', 'b'),array('c', 'd'),'e');

if (in_array(array ('a', 'b'), $array)) {
    echo '"ab" wurde gefunden' . "\n";
}
if (in_array(array ('a', 'c'), $array)) {
    echo '"ac" wurde nicht gefunden' . "\n";
}
if (in_array('e', $array)) {
    echo '"e" wurde gefunden' . "\n";
}
?>

nach unten nach oben Ausgabe 2

"ab" wurde gefunden
"e" wurde gefunden

Zurück: extract

Weiter: key


Funktionsreferenz / Array-Funktionen / key

Letztes Update der Funktion key: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

key

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

mixed key ( array array )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion key() liefert den Schlüssel des aktuellen Elements innerhalb des
Arrays array. Ist das Array kein Assoziativarray, wird die ID des aktuellen
Elements zurückgegeben (0,1,2,3,4,.....,n ).

Siehe auch:
. current()
. next()

nach unten nach oben Beispiel 1

<?PHP
$array =array("Script1"=>"PHP","Script2"=>"ASP");
for($x=0;$x<sizeof($array);$x++) {
    echo key($array)." : ".current($array) . "\n";
    next($array);
}
?>

nach unten nach oben Ausgabe 1

Script1 : PHP
Script2 : ASP

nach unten nach oben Beispiel 2

<?PHP
$array =array("PHP","ASP","Perl");
for($x=0;$x<sizeof($array);$x++) {
    echo key($array)." : ".current($array) . "\n";
    next($array);
}
?>

nach unten nach oben Ausgabe 2

0 : PHP
1 : ASP
2 : Perl

Zurück: in_array

Weiter: krsort


Funktionsreferenz / Array-Funktionen / krsort

Letztes Update der Funktion krsort: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

krsort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool krsort ( array array [, int sort_flags] )

nach unten nach oben Version

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion krsort() sortiert ein assoziatives Array (array) absteigend nach
den Schlüsseln. Die Beziehung zwischen Wert und Schlüssel bleibt erhalten. Im
Parameter sort_flags können Sie Flags für den Sortiertyp übergeben:

. SORT_REGULAR - Vergleicht die Felder normal (Default-Wert)
. SORT_NUMERIC - Vergleicht die Felder numerisch
. SORT_STRING - Vergleicht Felder als Strings

Siehe auch:

. asort()
. arsort()
. ksort()
. sort()
. natsort()
. rsort()

nach unten nach oben Beispiel

<?PHP
$array =array("a"=>"PHP","b"=>"ASP","c"=>"Perl");
krsort($array);
reset($array);
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
    [c] => Perl
    [b] => ASP
    [a] => PHP
)

Zurück: key

Weiter: ksort


Funktionsreferenz / Array-Funktionen / ksort

Letztes Update der Funktion ksort: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ksort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool ksort ( array array [, int sort_flags] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion ksort() sortiert ein assoziatives Array (array) aufsteigend nach
den Schlüsseln. Die Beziehung zwischen Schlüssel und Wert bleibt erhalten.

Im Parameter sort_flags können Sie Flags für den Sortiertyp übergeben:

. SORT_REGULAR - Vergleicht die Felder normal (Default-Wert)
. SORT_NUMERIC - Vergleicht die Felder numerisch
. SORT_STRING - Vergleicht Felder als Strings

Siehe auch:

. asort()
. arsort()
. sort()
. natsort()
. rsort()

nach unten nach oben Beispiel

<?PHP
$array =array("s"=>"PHP","a"=>"ASP","b"=>"Perl");
ksort($array);
reset($array);
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
    [a] => ASP
    [b] => Perl
    [s] => PHP
)

Zurück: krsort

Weiter: list


Funktionsreferenz / Array-Funktionen / list

Letztes Update der Funktion list: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

list

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void list ( mixed varname, mixed ... )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion list() weist den als Argumente übergebenen Variablen die Werte
aus einem Array zu. Bitte beachten Sie, das es sich bei dem Array um ein
numerisches Array handeln muss und dass dieser bei 0 beginnt.

Siehe auch:

. each()
. array()
. extract()

nach unten nach oben Beispiel

<?PHP
$array = array("PHP","ASP","Perl");
list($php,$asp,$perl) = $array;
print $php . "\n";
print $asp . "\n";
print $perl;
?>

nach unten nach oben Ausgabe

PHP ASP Perl

Zurück: ksort

Weiter: natcasesort


Funktionsreferenz / Array-Funktionen / natcasesort

Letztes Update der Funktion natcasesort: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

natcasesort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool natcasesort ( array array )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion natcasesort() sortiert ein Array (array) in "natürlicher
Reihenfolge" ohne Berücksichtigung der Groß- und Kleinschreibung.

Unter "natürlicher Reihenfolge" versteht man die Reihenfolge, in der ein
Mensch sortieren würde. Im Beispiel können Sie am Element "PHP10" den
Unterschied der Varianten "Standard-Sortierung" und "Natürliche Sortierung"
erkennen.

Siehe auch:

. sort()
. natsort()
. strnatcmp()
. strnatcasecmp()

nach unten nach oben Beispiel

<?PHP
$array1 = array("PHP2","PHP3","php4","PHP10");
$array2 = array("PHP2","PHP3","php4","PHP10");
sort($array1);
echo "Standard Sortierung\n";
print_r($array1);
natcasesort($array2);
echo "Natürliche Sortierung\n";
print_r($array2);
?>

nach unten nach oben Ausgabe

Standard Sortierung
Array
(
    [0] => PHP10
    [1] => PHP2
    [2] => PHP3
    [3] => php4
)
Natürliche Sortierung
Array
(
    [0] => PHP2
    [1] => PHP3
    [2] => php4
    [3] => PHP10
)

Zurück: list

Weiter: natsort


Funktionsreferenz / Array-Funktionen / natsort

Letztes Update der Funktion natsort: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

natsort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool natsort ( array array )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion natsort() sortiert ein Array (array) in "natürlicher Reihenfolge",
unter Berücksichtigung von Groß- und Kleinschreibung.
Unter "natürlicher Reihenfolge" versteht man die Reihenfolge, in der ein Mensch
sortieren würde. Im Beispiel können Sie am Element "PHP10" den Unterschied der
Varianten "Standard-Sortierung" und "Natürliche Sortierung" erkennen.

Siehe auch:

. natcasesort()
. strnatcmp()
. strnatcasecmp()

nach unten nach oben Beispiel

<?PHP
$array1 = array("PHP2","PHP3","PHP4","PHP10");
$array2 = array("PHP2","PHP3","PHP4","PHP10");
sort($array1);
echo "Standard Sortierung\n";
print_r($array1);
natsort($array2);
echo "Natürliche Sortierung\n";
print_r($array2);
?>

nach unten nach oben Ausgabe

Standard Sortierung
Array
(
    [0] => PHP10
    [1] => PHP2
    [2] => PHP3
    [3] => PHP4
)
Natürliche Sortierung
Array
(
    [0] => PHP2
    [1] => PHP3
    [2] => PHP4
    [3] => PHP10
)

Zurück: natcasesort

Weiter: next


Funktionsreferenz / Array-Funktionen / next

Letztes Update der Funktion next: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

next

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed next ( array array )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion next() springt zum nächsten Element eines Arrays (array) und
liefert dessen Wert zurück. Ist in der Elemtliste des Arrays kein Wert mehr
vorhanden, so wird FALSE zurüchgegeben.

Siehe auch:
. current()
. end()
. prev()
. reset()

nach unten nach oben Beispiel

<?PHP
$array = array("PHP","ASP","Perl");
echo current($array) . "<br>";
echo next($array);
?>

nach unten nach oben Ausgabe

PHP
ASP

Zurück: natsort

Weiter: pos


Funktionsreferenz / Array-Funktionen / pos

Letztes Update der Funktion pos: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pos

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed pos ( array array )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion pos() ist ein Alias für current() - sie liefert das aktuelle
Element eines Arrays.

Siehe auch:

. current()
. end()
. next()
. prev()
. reset()

nach unten nach oben Beispiel

<?PHP
$array = array("PHP","ASP","Perl");
for($x=0; $x<3; $x++){
    echo pos($array) . "<br>";
    next($array);
}
?>

nach unten nach oben Ausgabe

PHP
ASP
Perl

Zurück: next

Weiter: prev


Funktionsreferenz / Array-Funktionen / prev

Letztes Update der Funktion prev: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

prev

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed prev ( array array )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion prev() springt zum vorherigen Element eines Arrays (array) und
liefert dessen Wert zurück. Ist in der Elemtliste des Arrays kein Wert mehr
vorhanden, so wird FALSE zurüchgegeben.

Siehe auch:

. current()
. end()
. next()
. reset()

nach unten nach oben Beispiel

<?PHP
$array = array("PHP","ASP","Perl");
echo end($array) . "<br>";
echo prev($array);
?>

nach unten nach oben Ausgabe

Perl
ASP

Zurück: pos

Weiter: range


Funktionsreferenz / Array-Funktionen / range

Letztes Update der Funktion range: 07.02.2006 12:23:46

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

range

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 | Springe zu Beispiel 3 Beispiel 3 | Springe zu Ausgabe 3 Ausgabe 3 | Springe zu Beispiel 4 Beispiel 4 | Springe zu Ausgabe 4 Ausgabe 4 |

nach unten nach oben Befehl

array range ( mixed low, mixed high [, number step] )

nach unten nach oben Version

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion range() erzeugt ein Array, das von dem Startwert low bis zum
Endwert high reicht (Beispiel 1). Ist low größer als high, so wird in
umgekehrter Reihenfolge das Array erzeugt (Beispiel 4). In PHP 5.0.0 wurde der
optionale Parameter step eingeführt, der auch schrittweise ein Array aufbaut
(Beispiel 3).

Siehe auch:

. shuffle()
. foreach()

nach unten nach oben Beispiel 1

<?PHP
$array = range(1,10);
foreach($array as $wert) {
    echo $wert . ', ';
}
?>

nach unten nach oben Ausgabe 1

1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

nach unten nach oben Beispiel 2

<?PHP
foreach(range(a,r) as $wert) {
    echo $wert . ', ';
}
?>

nach unten nach oben Ausgabe 2

a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r,

nach unten nach oben Beispiel 3

<?PHP
$array = range(1,100,10);
foreach($array as $wert) {
    echo $wert . ', ';
}
?>

nach unten nach oben Ausgabe 3

10, 20, 30, 40, 50, 60, 70, 80, 90, 100,

nach unten nach oben Beispiel 4

<?PHP
$array = range(8,2);
foreach($array as $wert) {
    echo $wert . ', ';
}
?>

nach unten nach oben Ausgabe 4

8, 7, 6, 5, 4, 3, 2,

Zurück: prev

Weiter: reset


Funktionsreferenz / Array-Funktionen / reset

Letztes Update der Funktion reset: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

reset

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed reset ( array array )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion reset() springt zum ersten Element eines Arrays (array) und liefert dessen Wert zurück.

Siehe auch:

. current()
. each()
. next()
. prev()

nach unten nach oben Beispiel

<?PHP
$array = array("PHP","ASP","Perl");
echo end($array) . "<br>";
echo reset($array);
?>

nach unten nach oben Ausgabe

Perl
PHP

Zurück: range

Weiter: rsort


Funktionsreferenz / Array-Funktionen / rsort

Letztes Update der Funktion rsort: 07.02.2006 12:23:01

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rsort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool rsort ( array array [, int sort_flags] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion rsort() sortiert ein Array (array) absteigend nach den Werten. Die
Beziehung zwischen Schlüssel und Wert bleibt nicht erhalten, ein vorher
assoziatives Array wird in ein numerisch indiziertes Array umgewandelt.

Im Parameter sort_flags können Sie Flags für den Sortiertyp übergeben:

• SORT_REGULAR – Vergleicht die Felder normal (Default-Wert)
• SORT_NUMERIC – Vergleicht die Felder numerisch
• SORT_STRING – Vergleicht Felder als Strings

Sortierreihenfolge rsort()

ü ö ä Ü Ö Ä ´ § € ~ } | { z y x w v u t s r q p o n m l k j i
h g f e d c b a ` _ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J
I H G F E D C B A @ ? > = < ; : / . - , + * ) ( ' & % $ # « !

Siehe auch:

• arsort()
• asort()
• ksort()
• sort()
• usort()

nach unten nach oben Beispiel

<?PHP
$array =array("b"=>"PHP","d"=>"ASP","a"=>"Perl");
rsort($array);
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
    [0] => Perl
    [1] => PHP
    [2] => ASP
)

Zurück: reset

Weiter: shuffle


Funktionsreferenz / Array-Funktionen / shuffle

Letztes Update der Funktion shuffle: 07.02.2006 12:23:01

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

shuffle

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool shuffle ( array array )

nach unten nach oben Version

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion shuffle() ordnet die Elemente innerhalb eines Arrays (array in
zufälliger Reihenfolge neu an. Sie ist quasi ein Zufallsgenerator für
numerische Arrays.

Siehe auch:

. arsort()
. asort()
. ksort()
. rsort()
. sort()
. usort()

nach unten nach oben Beispiel

<?PHP
$array = range(1,4);
shuffle($array);
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
    [0] => 3
    [1] => 1
    [2] => 2
    [3] => 4
)

Zurück: rsort

Weiter: sizeof


Funktionsreferenz / Array-Funktionen / sizeof

Letztes Update der Funktion sizeof: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

sizeof

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

int sizeof (mixed var)

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion sizeof() zählt die Anzahl der Elemente eines Arrays und gibt
das Ergebnis zurück. Diese Funktion ist sehr nützlich bei Schleifen, Sie können
das Ergebnis für die Durchläufe nutzen (siehe Beispiel 2).

Siehe auch:

. count()

nach unten nach oben Beispiel 1

<?PHP
$array = array("banane","birne","apfel");
echo sizeof($array);
?>

nach unten nach oben Ausgabe 1

3

nach unten nach oben Beispiel 2

<?PHP
$array = array("banane","birne","apfel");
for($x=0;$x<sizeof($array);$x++){
    echo $array[$x] . "<br>";
}
?>

nach unten nach oben Ausgabe 2

banane
birne
apfel

Zurück: shuffle

Weiter: sort


Funktionsreferenz / Array-Funktionen / sort

Letztes Update der Funktion sort: 07.02.2006 12:22:19

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

sort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool sort ( array array [, int sort_flags] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion sort() sortiert ein Array (array) aufsteigend nach den Werten. Die
Zuordnung von Schlüssel und Wert bleibt nicht erhalten, ein vorher assoziatives
Array wird in ein numerisch indiziertes Array umgewandelt.

Im Parameter sort_flags können Sie Flags für den Sortiertyp übergeben:

• SORT_REGULAR – Vergleicht die Felder normal (Default-Wert)
• SORT_NUMERIC – Vergleicht die Felder numerisch
• SORT_STRING – Vergleicht Felder als Strings

In der unten stehenden Tabelle sehen Sie für diese Funktion die Wertigkeit der
Zeichen innerhalb der Sortierreihenfolge. Dabei wird von der oberen linken
Spalte zur unteren rechten Spalte sortiert.

Sortierreihenfolge sort()

! » # $ % & ' ( ) * + , – . / : ; < = > ? @ A B C D E F G H I
J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h
i j k l m n o p q r s t u v w x y z { | } ~ € § ´ Ä Ö Ü ä ö ü

Siehe auch:

• arsort()
• asort()
• ksort()
• natsort()
• natcasesort()
• rsort()
• usort()
• array_multisort()
• uksort()

nach unten nach oben Beispiel

<?PHP
$array =array("b"=>"PHP","d"=>"ASP","a"=>"Perl");
sort($array);
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
    [0] => ASP
    [1] => PHP
    [2] => Perl
)

Zurück: sizeof

Weiter: uasort


Funktionsreferenz / Array-Funktionen / uasort

Letztes Update der Funktion uasort: 07.02.2006 12:10:19

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

uasort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool uasort ( array array, callback cmp_function )

nach unten nach oben Version

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion uasort() sortiert ein Array (array) nach den Werten seiner Elemente
auf Basis der Reihenfolge, die von einer benutzerdefinierten Funktion
(cmp_function) vorgegeben wird. Die Zuordnung von Schlüssel und Wert bleibt
dabei erhalten.
Die Funktion cmp_function bekommt jeweils zwei Werte aus dem Array übergeben und
muss durch ihr Ergebnis bekannt geben, ob der erste Wert größer ist als der
zweite (Ergebnis 1), der erste Wert kleiner ist als der zweite (Ergebnis -1),
oder beide Werte gleich sind (Ergebnis 0).

Siehe auch:

. usort()
. uksort()
. sort()
. asort()
. arsort()
. ksort()
. rsort()

nach unten nach oben Beispiel

<?PHP
function sortiere($a, $b) {
    echo "$a .. $b <br>";
    if ($a == $b) return 0;
    return ($a > $b) ? -1 : 1;
}
$a = array (3, 2, 5);
uasort ($a, "sortiere");
while (list ($key, $value) = each ($a)) {
    echo "$key : $value <br>";
}
?>

nach unten nach oben Ausgabe

2 .. 3
5 .. 2
3 .. 5
2 : 5
0 : 3
1 : 2

Zurück: sort

Weiter: uksort


Funktionsreferenz / Array-Funktionen / uksort

Letztes Update der Funktion uksort: 07.02.2006 12:18:16

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

uksort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool uksort ( array array, callback cmp_function )

nach unten nach oben Version

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion uksort() sortiert ein Array (array) nach den Schlüsseln seiner
Elemente auf Basis der Reihenfolge, die von einer benutzerdefinierten Funktion
(cmp_function) vorgegeben wird. Die Zuordnung von Schlüssel und Wert bleibt
dabei erhalten.
Die Funktion cmp_function bekommt jeweils zwei Schlüssel aus dem Array übergeben
und muss durch ihr Ergebnis bekannt geben, ob der erste Schlüssel größer ist als
der zweite (Ergebnis 1), der erste Schlüssel kleiner ist als der zweite
(Ergebnis -1), oder beide Schlüssel gleich sind (Ergebnis 0).

Siehe auch:

. usort()
. uasort()
. sort()
. asort()
. arsort()
. ksort()
. natsort()
. rsort()

nach unten nach oben Beispiel

<?PHP
function sortiere($a, $b) {
    echo "$a .. $b <br>";
    if ($a == $b) return 0;
    return ($a > $b) ? -1 : 1;
}
$a = array("a"=>"bert","b"=>"anna","c"=>"carl");
uksort ($a, "sortiere");
while (list ($key, $value) = each ($a)) {
    echo "$key: $value <br>";
}
?>

nach unten nach oben Ausgabe

b .. c
a .. c
a .. b
c: carl
b: anna
a: bert

Zurück: uasort

Weiter: usort


Funktionsreferenz / Array-Funktionen / usort

Letztes Update der Funktion usort: 07.02.2006 12:23:01

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

usort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool usort ( array array, callback cmp_function )

nach unten nach oben Version

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion usort() sortiert ein assoziatives Array (array) nach den Werten
seiner Elemente auf Basis der Reihenfolge, die von einer benutzerdefinierten
Funktion (cmp_function) vorgegeben wird. Die Zuordnung von Schlüssel und Wert
bleibt nicht erhalten, ein vorher assoziatives Array wird in ein numerisch
indiziertes Array umgewandelt.
Die Funktion cmp_function bekommt jeweils zwei Werte aus dem Array übergeben
und muss durch ihr Ergebnis bekannt geben, ob der erste Wert größer ist als der
zweite (Ergebnis 1), der erste Wert kleiner ist als der zweite (Ergebnis -1),
oder beide Werte gleich sind (Ergebnis 0).

Siehe auch:

. uasort()
. uksort()
. sort()
. asort()
. arsort()
. ksort()
. natsort()
. rsort()

nach unten nach oben Beispiel

<?PHP
function sortiere($a, $b) {
    echo "$a .. $b <br>";
    if ($a == $b) return 0;
    return ($a > $b) ? -1 : 1;
}
$a = array("a"=>"bert","b"=>"anna","c"=>"carl");
usort ($a, "sortiere");
while (list ($key, $value) = each ($a)) {
    echo "$key: $value <br>";
}
?>

nach unten nach oben Ausgabe

anna .. bert
carl .. anna
bert .. carl
0: carl
1: bert
2: anna

Zurück: uksort

Weiter: Crack-Funktionen


Funktionsreferenz / Crack-Funktionen / crack_check

Letztes Update der Funktion crack_check: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

crack_check

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

bool crack_check ( [resource dictionary, string password] )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PECL)

nach unten nach oben Beschreibung

Mit crack_check() wird anhand eines Wörterbuches (resource dictionary)
ein Passwort (password) auf seine Länge und Stärke hin überprüft.
Falls der optionale Parameter (resource dictionary) nicht angegeben wird,
so wird das zuletzt geöffnete Wörterbuch als Grundlage genommen.
Als Rückgabewert erhält man entweder TRUE (falls die Passwortstärke
ausreichend ist) oder FALSE (bei einem schlechten Passwort).
Mit der Funktion crack_getlastmessage() können sie eine Statusmeldung
anfordern, die eine Tauglichkeitmeldung ihres Passwortes beeinhaltet.

Hinweis:
Beachten sie bitte, dass es sich bei dieser Funktion um eine experimentelle
Funktion handelt und diese sich in künftigen PHP-Versionen ändern kann.

nach unten nach oben Beispiel 1

<?PHP
$woerterbuch = crack_opendict('/usr/local/lib/pw_dict');
if(crack_check($woerterbuch, 'pax1')) echo 'Ihr Passwort ist ausreichend';
else echo 'Bitte ändern sie ihr Passwort';
crack_closedict($woerterbuch);
?>

nach unten nach oben Ausgabe 1

Bitte ändern sie ihr Passwort

nach unten nach oben Beispiel 2

<?PHP
$woerterbuch = crack_opendict('/usr/local/lib/pw_dict');
if(crack_check($woerterbuch, 'pax1drg34')) echo 'Ihr Passwort ist ausreichend';
else echo 'Bitte ändern sie ihr Passwort';
crack_closedict($woerterbuch);
?>

nach unten nach oben Ausgabe 2

Ihr Passwort ist ausreichend

Zurück: Array-Funktionen

Weiter: crack_closedict


Funktionsreferenz / Crack-Funktionen / crack_closedict

Letztes Update der Funktion crack_closedict: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

crack_closedict

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool crack_closedict ( [resource dictionary] )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PECL)

nach unten nach oben Beschreibung

Mit crack_closedict() wird ein zuvor geöffnetes Wörterbuch (resource dictionary)
wieder geschlossen.
Als Rückgabewert erhält man entweder TRUE (falls das Wörterbuch geschlossen
wurde) oder FALSE (bei einem Fehler).

Hinweis:
Beachten sie bitte, dass es sich bei dieser Funktion um eine experimentelle
Funktion handelt und diese sich in künftigen PHP-Versionen ändern kann.

nach unten nach oben Beispiel

<?PHP
$woerterbuch = crack_opendict('/usr/local/lib/pw_dict');
if(crack_closedict($woerterbuch)) echo 'Woerterbuch wurde geschlossen!';
else echo 'Woerterbuch konnte nicht geschlossen werden!'
?>

nach unten nach oben Ausgabe

Woerterbuch wurde geschlossen!

Zurück: crack_check

Weiter: crack_getlastmessage


Funktionsreferenz / Crack-Funktionen / crack_getlastmessage

Letztes Update der Funktion crack_getlastmessage: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

crack_getlastmessage

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 | Springe zu Beispiel 3 Beispiel 3 | Springe zu Ausgabe 3 Ausgabe 3 |

nach unten nach oben Befehl

string crack_getlastmessage ( void )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PECL)

nach unten nach oben Beschreibung

Mit crack_getlastmessage() können sie eine Statusmeldung anfordern, die eine
Tauglichkeitmeldung ihres Passwortes beeinhaltet. Als Grundlage der
Statusmeldung wird die letzte Überprüfung eines Passwortes genommen.

Hinweis:
Beachten sie bitte, dass es sich bei dieser Funktion um eine experimentelle
Funktion handelt und diese sich in künftigen PHP-Versionen ändern kann.

nach unten nach oben Beispiel 1

<?PHP
$woerterbuch = crack_opendict('/usr/local/lib/pw_dict');
$good = crack_check($woerterbuch, 'pax1');
$message = crack_getlastmessage();
echo 'Meldung: ' . $message;
crack_closedict($woerterbuch);
?>

nach unten nach oben Ausgabe 1

Meldung: it is too short

nach unten nach oben Beispiel 2

<?PHP
$woerterbuch = crack_opendict('/usr/local/lib/pw_dict');
$good = crack_check($woerterbuch, 'pax1drg234');
$message = crack_getlastmessage();
echo 'Meldung: ' . $message;
crack_closedict($woerterbuch);
?>

nach unten nach oben Ausgabe 2

Meldung: strong password

nach unten nach oben Beispiel 3

<?PHP
$woerterbuch = crack_opendict('/usr/local/lib/pw_dict');
$good = crack_check($woerterbuch, 'dddddddddd');
$message = crack_getlastmessage();
echo 'Meldung: ' . $message;
crack_closedict($woerterbuch);
?>

nach unten nach oben Ausgabe 3

Meldung: it does not contain enough DIFFERENT characters

Zurück: crack_closedict

Weiter: crack_opendict


Funktionsreferenz / Crack-Funktionen / crack_opendict

Letztes Update der Funktion crack_opendict: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

crack_opendict

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

resource crack_opendict ( string dictionary )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PECL)

nach unten nach oben Beschreibung

Mit crack_opendict() wird ein Cracklib Wörterbuch geöffnet um dieses für
Passwortüberprüfungen zu nutzen.
Als Rückgabewert erhält man einen Zeiger (falls das Wörterbuch geöffnet
wurde) oder FALSE (bei einem Fehler). In beiden Beispielen wurde
absichtlich ein nicht existenter Pfad zum Wörterbuch angegeben. Sie können
ein @ (siehe Beispiel 2) der Funktion voranstellen, um ihre eigene Fehlermeldung
und nicht zusätzlich die interne Meldung von PHP auszugeben.

Hinweis:
Beachten sie bitte, dass es sich bei dieser Funktion um eine experimentelle
Funktion handelt und diese sich in künftigen PHP-Versionen ändern kann.

nach unten nach oben Beispiel 1

<?PHP
$woerterbuch = crack_opendict('/mich/gibt/es/gar/nicht') or die('Das Wörterbuch konnte nicht geöffnet werden!');
crack_closedict($woerterbuch);
?>

nach unten nach oben Ausgabe 1

Warning: Unable to open a crack dictionary in /www/users/test/index.php on line 3
Das Wörterbuch konnte nicht geöffnet werden!

nach unten nach oben Beispiel 2

<?PHP
$woerterbuch = @crack_opendict('/mich/gibt/es/gar/nicht') or die('Das Wörterbuch konnte nicht geöffnet werden!');
crack_closedict($woerterbuch);
?>

nach unten nach oben Ausgabe 2

Das Wörterbuch konnte nicht geöffnet werden!

Zurück: crack_getlastmessage

Weiter: Dateisystem-Funktionen


Funktionsreferenz / Crack-Funktionen / Übersicht Crack-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Crack-Funktionen

Auf den folgenden Seiten werden die Crack-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
auf folgende Seite: vorkenntnisse_crackfunktionen.html

Die hier gelisteten Crack-Funktionen bestehen aus folgenden Seiten:

crack_check
crack_closedict
crack_getlastmessage
crack_opendict


Funktionsreferenz / Crack-Funktionen / vorkenntnisse_crackfunktionen

Letztes Update der Funktion vorkenntnisse_crackfunktionen: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

vorkenntnisse_crackfunktionen

Mit den Cracklib-Funktionen kann man Passwörter auf ihre Tauglichkeit hin überprüfen. Dabei wird als Grundlage der überprüfung entweder ein offenes oder neu deklariertes Wörterbücher genutzt. Die Routine überprüft ausserdem die Länge und die Häufigkeit einzelner Buchstaben und Zeichen.

Die Cracklib muss allerdings zusätzlich in PHP einkompiliert werden. Sie finden eine aktuelle Version der Cracklib und eine Installationsanweisung unter folgender Adresse: http://sourceforge.net/projects/cracklib

Die Installation unter Linux stellt sich nur mit einer Hürde als sehr einfach dar. Als Verzeichnis für die Installation wählte ich /usr/local/cracklib,2.7

. Natürlich sollte man sich zuerst die README-Datei durchlesen, da dort wichtige Informationen für die Installation beschrieben werden.

. Datei (momentan cracklib,2.7.tgz) entpacken und danach compilieren

. make all

. make install

. Als nächstes das Verzeichnis "cracklib,2.7" umbennen, da beim kompilieren von PHP das Komma im Verzeichnisnamen störend ist und es zu Fehlermeldungen kommt. In unserem Fall habe ich einfach aus dem Komma ein Unterstrich gemacht.

. PHP mit der Anweisung --with-crack=/usr/local/cracklib_2.7 neu compilieren.

Zurück: Array-Funktionen

Weiter: Dateisystem-Funktionen


Funktionsreferenz / Dateisystem-Funktionen / basename

Letztes Update der Funktion basename: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

basename

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string basename ( string path [, string suffix] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit basename() kann man sich den Namen einer Datei aus einer vollständigen
Pfadangabe (path) extrahieren lassen.

Siehe auch:

. dirname()

nach unten nach oben Beispiel

<?PHP
$path = "www/users/php/index.php3";
$path1 = "http://www.selfphp3.de/index_php.php3";
$file = basename($path);
$file1 = basename($path1);
echo $file;
echo "<br>";
echo $file1;
echo "<br>";
echo basename($HTTP_REFERER);
?>

nach unten nach oben Ausgabe

index.php3
index_php.php3
index_php.php3

Zurück: Crack-Funktionen

Weiter: chgrp


Funktionsreferenz / Dateisystem-Funktionen / chgrp

Letztes Update der Funktion chgrp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

chgrp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int chgrp ( string filename, mixed group )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit chgrp() kann man eine Datei (filename) einer Benutzergruppe (group)
zuweisen. Es ist darauf zu achten, dass nur der "Superuser" die erforderlichen
Rechte besitzt.
Im Erfolgsfall gibt diese Funktion true, sonst false zurück.
Die Funktion chgrp() wird auf dem Betriebssystem Windows nichts bewirken.

Siehe auch:

. chown()
. chmod()

nach unten nach oben Beispiel

<?PHP
if(chgrp("self.php","users"))
  echo "Datei wurde der Gruppe zugewiesen";
else
  echo "Datei konnte der Gruppe nicht zugewiesen werden";
?>

nach unten nach oben Ausgabe

Datei wurde der Gruppe zugewiesen

Zurück: basename

Weiter: chmod


Funktionsreferenz / Dateisystem-Funktionen / chmod

Letztes Update der Funktion chmod: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

chmod

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool chmod ( string filename, int mode )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Beispiele

Siehe auch:

. chown()
. chgrp()
Mit chmod() kann man die Zugriffsrechte auf eine Datei ändern. Dabei wird der neue Zugriffswert (mode) der Datei (filename) als Oktalzahl angegeben. Diese Funktion ist sehr nützlich, um nur bestimmte Rechte für eine Datei zu vergeben. Wenn Sie z.B. Statistiken, welche Sie über die Index-Datei sammeln, in eine TXT-Datei schreiben und nicht wollen, dass diese direkt aus dem Internet aufgerufen werden kann, so können Sie diese Datei mit speziellen Rechten (z.B. 0600) ausstatten. Nun kann nur noch ein Skript von Ihrem Server auf diese Datei zugreifen. Wichtig: Die Funktion chmod() wird auf dem Betriebssystem Windows nichts bewirken. Bei der Rechtevergabe kann man für den Eigentümer/Owner, Gruppe/Group und den Rest der Welt/Public verschiedene Zugriffsrechte vergeben. Werte für mode: Lesen/Read = r = 4 Schreiben/Write = w = 2 Ausführen/Execute = x = 1 | Rechenbeispiel: |  |  |
drwxr-xrw- | r + w + x | r + - + x | r + w + - | 0756
das entspricht | 4 + 2 + 1 =7 | 4 + 0 + 1 =5 | 4 + 2 + 0 =6 | 0756
 | User | Group | World | Oktal
drwxrwxrwx | rwx | rwx | rwx | 0777
drwxr-xr-x | rwx | r-x | r-x | 0755
drwx------ | rwx | --- | --- | 0700
drwxr-x--- | rwx | r-x | --- | 0750
drwxr-xr-- | rwx | r-x | r-- | 0754

nach unten nach oben Beispiel

<?PHP
$datei = "zahl.txt";
clearstatcache();
$chmod = decoct(fileperms($datei));
echo "CHMOD vorher: " . $chmod;
chmod ($datei, 0777);
clearstatcache();
echo "<br>";
$chmod = decoct(fileperms($datei));
echo "CHMOD nachher: " . $chmod;
?>

nach unten nach oben Ausgabe

CHMOD vorher: 100600
CHMOD nachher: 100777

Zurück: chgrp

Weiter: chown


Funktionsreferenz / Dateisystem-Funktionen / chown

Letztes Update der Funktion chown: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

chown

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool chown ( string filename, mixed user )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit chown() kann man einen anderen Benutzer (user) als Eigentümer einer Datei
(filename) festlegen. Es ist darauf zu achten, dass nur der "Superuser" den
Eigentümer ändern kann.
Im Erfolgsfall gibt diese Funktion true, sonst false zurück.
Beachten Sie, dass diese Funktion unter Windows nichts bewirkt.

Siehe auch:

. chmod()
. chgrp()

nach unten nach oben Beispiel

<?PHP
if(chown("self.php","damir"))
  echo "Eigentümer wurde gewechselt";
else
  echo "Eigentümer konnte nicht gewechselt werden";
?>

nach unten nach oben Ausgabe

Eigentümer wurde gewechselt

Zurück: chmod

Weiter: clearstatcache


Funktionsreferenz / Dateisystem-Funktionen / clearstatcache

Letztes Update der Funktion clearstatcache: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

clearstatcache

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void clearstatcache ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit clearstatcache() kann man den Zwischenspeicher mit den Dateistatuswerten
löschen.
Die unten stehenden Funktionen verursachen auf vielen Servern einen
beträchtlichen Zeit- und Ressourcenverbrauch. Aus diesem Grund werden die
Ergebnisse des letzten Aufrufs zwischengespeichert. Falls andere Funktionen
später auf dieselbe Datei zugreifen müssen, können sie die Werte aus dem
Zwischenspeicher verwenden und sind so deutlich schneller.
Falls Sie aber die gespeicherten Werte nicht mehr benötigen oder sich die
Eigenschaften von Dateien verändert haben, so können Sie mit der Funktion
clearstatcache() den Zwischenspeicher wieder löschen.

Folgende Funktionen nutzen den Dateistatus:

. file_exists()
. fileatime()
. filectime()
. filegroup()
. fileinode()
. filemtime()
. fileowner()
. fileperms()
. filesize()
. filetype()
. is_dir()
. is_executable()
. is_file()
. is_link()
. is_readable()
. is_writeable()
. lstat()
. stat()

nach unten nach oben Beispiel

<?PHP
$datei = "zahl.txt";
chmod ($datei, 0600);
$chmod = decoct(fileperms($datei));
echo "CHMOD: " . $chmod;
echo "<br>";
chmod ($datei, 0777);
$chmod = decoct(fileperms($datei));
echo "CHMOD: " . $chmod;
clearstatcache();
echo "<br>";
$chmod = decoct(fileperms($datei));
echo "CHMOD: " . $chmod;
?>

nach unten nach oben Ausgabe

CHMOD: 100600
CHMOD: 100600
CHMOD: 100777

Zurück: chown

Weiter: copy


Funktionsreferenz / Dateisystem-Funktionen / copy

Letztes Update der Funktion copy: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

copy

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel1 Beispiel1 | Springe zu Ausgabe1(nach Absenden des Formulars) Ausgabe1(nach Absenden des Formulars) | Springe zu Beispiel2 Beispiel2 | Springe zu Ausgabe2 Ausgabe2 |

nach unten nach oben Befehl

bool copy ( string source, string dest )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit copy() kann man eine Quell-Datei (source) zur neuen Ziel-Datei (dest)
kopieren. Beachten Sie bitte, dass eine eventuell schon vorhandene Datei gleichen
Namens überschrieben wird. Bei Erfolg wird true, sonst false zurückgegeben.

Zu Beispiel 1:
Hier wurde per Formular ein Upload von einem Client-Rechner realisiert. Der
User sucht auf seinem Rechner nach der Datei für den Upload und überträgt diese
dann zum Server. Nach erfolgreichem Upload wird das Formular mit den Daten
der Datei angezeigt.

Zu Beispiel 2:
Hier wurde auf dem Server eine Datei in ein Unterverzeichnis kopiert. Beachten
Sie auch hier bitte, dass eventuell vorhandene Dateien gleichen Namens
überschrieben werden.

Siehe auch:

. rename()

nach unten nach oben Beispiel1

<?PHP
if(!empty($file_name)){
  if(@copy($file,"tmp/$file_name")){
      echo "<b>Upload beendet!</b><br>";
      echo "Dateiname: $file_name";
      echo "<br>";
      echo "Dateigröße: $file_size Byte";
   }
}
else{
?>
<html>
<head>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" enctype="multipart/form-data" method="post" action="index.php">
<p>
<input type="file" name="file">
<br>
<input type="submit" name="Abschicken" value="Download beginnen">
</p>
</form>
</body>
</html>
<?PHP
}
?>

nach unten nach oben Ausgabe1(nach Absenden des Formulars)

Upload beendet!
Dateiname: browscap.zip
Dateigröße; 12501 Byte

nach unten nach oben Beispiel2

<?PHP
$datei = "counter.txt";
$datei_namen = "counter_alt.txt";
if(@copy($datei,"tmp/$datei_namen")){
  echo "Datei wurde kopiert";
  echo "<br>";
  echo "Neuer Dateiname: $datei_namen";
}
?>

nach unten nach oben Ausgabe2

Datei wurde kopiert
Neuer Dateiname: counter_alt.txt

Zurück: clearstatcache

Weiter: dirname


Funktionsreferenz / Dateisystem-Funktionen / dirname

Letztes Update der Funktion dirname: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

dirname

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string dirname ( string path )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dirname() kann man sich den Verzeichnisnamen aus einer vollständigen
Pfadangabe (path) extrahieren lassen.
Während unter Windows der Backslash (\) und der Slash (/) als Trennzeichen für
Pfadangaben benutzt werden, ist unter anderen Betriebssystemen nur der Slash (/)
von Bedeutung.

Siehe auch:

. basename()

nach unten nach oben Beispiel

<?PHP
$path = "/www/users/selfphp";
$str = dirname($path);
echo $str;
?>

nach unten nach oben Ausgabe

/www/users

Zurück: copy

Weiter: diskfreespace


Funktionsreferenz / Dateisystem-Funktionen / diskfreespace

Letztes Update der Funktion diskfreespace: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

diskfreespace

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float diskfreespace ( string directory )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit diskfreespace() kann man ermitteln, wie viel Speicher in einem Verzeichnis
(directory) bzw. der entsprechenden Partition noch frei ist. Als Rückgabewert
erhalten Sie den freien Speicher in Byte gerechnet.

nach unten nach oben Beispiel

<?PHP
$path = "/www/users/test_php";
$var = diskfreespace("$path");
echo "Freier Speicher: " . $var . "Byte";
?>

nach unten nach oben Ausgabe

Freier Speicher: 1642443522Byte

Zurück: dirname

Weiter: disk_total_space


Funktionsreferenz / Dateisystem-Funktionen / disk_total_space

Letztes Update der Funktion disk_total_space: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

disk_total_space

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float disk_total_space ( string directory )

nach unten nach oben Version

(PHP 4 >= 4.1.0, PHP 5)

nach unten nach oben Beschreibung

Die Funktion disk_total_space() ermittelt, wie viel Platz das angegebene
Verzeichnis (directory) samt aller seiner Unterverzeichnisse belegt (in Byte).

nach unten nach oben Beispiel

<?PHP
$size = disk_total_space("/");
echo "Freier Speicher ". $size ."Byte";
?>

nach unten nach oben Ausgabe

Freier Speicher: 2653446144Byte

Zurück: diskfreespace

Weiter: fclose


Funktionsreferenz / Dateisystem-Funktionen / fclose

Letztes Update der Funktion fclose: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fclose

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool fclose ( resource handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fclose() kann man eine offene Datei (fp) schließen. Bei erfolgreichem
Schließen der Datei wird true, sonst false zurückgeliefert.
Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen
Zeiger auf eine offene Datei handeln muss.

Folgende Funktionen erstellen einen Dateizeiger:

. fopen()
. popen()
. fsockopen()

nach unten nach oben Beispiel

<?php
$zaehler_anmelden = "counter.txt";
$fp = fopen($zaehler_anmelden,"r");
$zahl = fgets($fp,10);
fclose($fp);
?>

nach unten nach oben Ausgabe

// Keine Ausgabe

Zurück: disk_total_space

Weiter: feof


Funktionsreferenz / Dateisystem-Funktionen / feof

Letztes Update der Funktion feof: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

feof

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool feof ( resource handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit feof() kann man überprüfen, ob der Dateizeiger am Ende der Datei (fp) steht.
In diesem Fall, oder wenn ein Fehler aufgetreten ist, gibt diese Funktion true,
sonst false zurück.
Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen Zeiger
auf eine offene Datei handeln muss.

Folgende Funktionen erstellen einen Dateizeiger:

. fopen()
. popen()
. fsockopen()

nach unten nach oben Beispiel

<?PHP
$zaehler_anmelden = "selfphp.txt";
$fp = fopen($zaehler_anmelden,"r");
while(!feof($fp)){
  $str = fgets($fp,200);
  echo $str;
  echo "<br>";
}
fclose($fp);
?>

nach unten nach oben Ausgabe

Variablen-Funktionen
Array-funktionen
Image-funktionen
PDF-Funktionen
MySQL-Funktionen

Zurück: fclose

Weiter: fflush


Funktionsreferenz / Dateisystem-Funktionen / fflush

Letztes Update der Funktion fflush: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fflush

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool fflush ( resource handle )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit fflush() kann man den Ausgabepuffer einer Datei (fp) auf den Datenträger
schreiben.
Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen Zeiger
auf eine offene Datei handeln muss.

Folgende Funktionen erstellen einen Dateizeiger:

. fopen()
. popen()
. fsockopen()

nach unten nach oben Beispiel

<?PHP
$fp = fopen("members.txt","w");
fwrite($fp,"Selfphp");
if(fflush($fp))
  echo "Gesamte Ausgabepuffer geschrieben";
else
  echo "Gesamte Ausgabepuffer konnte nicht geschrieben werden";
fclose($fp);
?>

nach unten nach oben Ausgabe

Gesamte Ausgabepuffer geschrieben

Zurück: feof

Weiter: fgetc


Funktionsreferenz / Dateisystem-Funktionen / fgetc

Letztes Update der Funktion fgetc: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fgetc

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string fgetc ( resource handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fgetc() kann man aus einer Datei (fp) ein einzelnes Zeichen von der aktuellen
Position des Dateizeigers auslesen.
Mit der Funktion fseek() können Sie den Dateizeiger vorher an die gewünschte
Stelle verschieben.
Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen Zeiger
auf eine offene Datei handeln muss, der mit fopen(), fsockopen() oder popen()
erzeugt wurde.
Diese Funktion gibt false zurück, falls der Dateizeiger (fp) am Ende der Datei
steht und deshalb nicht mehr auf ein gültiges Zeichen verweist.

Siehe auch:

. fgets()
. fopen()
. fread()
. fsockopen()
. popen()

nach unten nach oben Beispiel

//Inhalt der Datei counter.txt: 52369

<?PHP
$zaehler_anmelden = "counter.txt";
$fp = fopen($zaehler_anmelden,"r");
$zahl = fgetc($fp);
echo $zahl;
echo "<br>";
fseek ($fp, 1,"SEEK_CUR");
$zahl = fgetc($fp);
echo $zahl;
fclose($fp);
?>

nach unten nach oben Ausgabe

5
2

Zurück: fflush

Weiter: fgetcsv


Funktionsreferenz / Dateisystem-Funktionen / fgetcsv

Letztes Update der Funktion fgetcsv: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fgetcsv

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array fgetcsv ( resource handle, int length [, string delimiter [, string enclosure]] )

nach unten nach oben Version

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fgetcsv() kann man aus einer CSV-Datei (fp) eine Zeile auslesen und den
Inhalt der Zeile anhand eines Trennzeichens (Delimiter) in seine Bestandteile
zerlegen lassen. Diese Bestandteile gibt die Funktion als Array zurück.
Sollten Sie optionalen Parameter Delimiter weglassen, so wird der voreingestellte
Wert genutzt - dieses ist ein Komma.
Der zweite Parameter (length) muss größer sein als die längste Zeile in der Datei,
da sonst die Funktion fgetcsv() das Ende der Zeile nicht finden wird.
Falls bereits die komplette Datei durchlaufen wurde, wird als Wert false
zurückgegeben. Sollten leere Zeilen in der Datei vorkommen, so wird das nicht
als Fehler interpretiert - Sie bekommen in diesem Fall ein Array mit einem leeren
Feld zurück.

Beachten Sie bitte, dass Sie als Trennzeichen nur ein einzelnes Zeichen nehmen
sollten, da es sonst zu ungewollten Nebeneffekten kommen kann. Betrachten Sie
dazu folgendes Beispiel:
Die gelesene Zeile hat den Inhalt: "01.08.2001##62.159.232.250##www.selfphp3.de"
Wenn Sie diese Zeile mit
fgetcsv($fp,500,"##")
lesen, erhalten Sie ein Array mit 5 Feldern, da nur eine Raute als Trennzeichen
berücksichtigt wird.

Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen Zeiger
auf eine offene Datei handeln muss, der mit fopen(), fsockopen() oder popen()
erzeugt wurde.

nach unten nach oben Beispiel

//Inhalt der Datei statistik.csv:
//01.08.2001#62.159.232.250#www.selfphp3.de
//02.08.2001#212.82.34.222#www.selfphp4.de
//02.08.2001#http://suchen.abacho.de#62.159.232.250
//03.08.2001#http://www.fireball.de#212.185.44.15

<?PHP
$statistik = "statistik.csv";
$fp = fopen($statistik,"r");
while($zeile = fgetcsv($fp,500,"#")){
  $y++;
  echo "<b>Besucher $y:</b>";
  echo "<br>Datum/HTTP_REFERER/REMOTE_ADDR<br>";
  for($x=0;$x<count($zeile);$x++){
      echo "$zeile[$x]";
      echo "<br>";
  }
  echo "<br>";
}
fclose($fp);
?>

nach unten nach oben Ausgabe

Besucher 1:
Datum / HTTP_REFERER / REMOTE_ADDR
01.08.2001
62.159.232.250
www.selfphp3.de

Besucher 2:
Datum / HTTP_REFERER / REMOTE_ADDR
02.08.2001
212.82.34.222
www.selfphp4.de

Besucher 3:
Datum / HTTP_REFERER / REMOTE_ADDR
02.08.2001
http://suchen.abacho.de
62.159.232.250

Besucher 4:
Datum / HTTP_REFERER / REMOTE_ADDR
03.08.2001
http://www.fireball.de
212.185.44.15

Zurück: fgetc

Weiter: fgets


Funktionsreferenz / Dateisystem-Funktionen / fgets

Letztes Update der Funktion fgets: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fgets

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

string fgets ( resource handle [, int length] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fgets() kann man aus einer Datei (fp) eine Zeile mit der Länge length (in
Byte) auslesen.
Sollte die Zeile länger sein als der in length vorgegebene Wert, so wird die Zeile
bis zur angegebenen Länge gelesen und der Rest abgeschnitten.
Kommt es beim Lesen der Datei zu einem Fehler, so wird false zurückgeliefert.

Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen Zeiger
auf eine offene Datei handeln muss, der mit fopen(), fsockopen() oder popen()
erzeugt wurde.

Siehe auch:

. fgetc()
. fopen()
. fread()
. fsockopen()
. popen()

nach unten nach oben Beispiel 1

// Inhalt der Datei counter.txt: 52369

<?PHP
$zaehler_anmelden = "counter.txt";
$fp = fopen($zaehler_anmelden,"r");
$zahl = fgets($fp,10);
fclose($fp);
$zahl++;
echo "Counterstand:<br>";
echo $zahl;
?>

nach unten nach oben Ausgabe 1

Counterstand:
52370

nach unten nach oben Beispiel 2

// Inhalt der Datei counter.txt: 52369

<?PHP
$zaehler_anmelden = "counter.txt";
$fp = fopen($zaehler_anmelden,"r");
$zahl = fgets($fp,3);
fclose($fp);
$zahl++;
echo "Counterstand:<br>";
echo $zahl;
?>

nach unten nach oben Ausgabe 2

Counterstand:
53

Zurück: fgetcsv

Weiter: fgetss


Funktionsreferenz / Dateisystem-Funktionen / fgetss

Letztes Update der Funktion fgetss: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fgetss

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datei selfphp.php Datei selfphp.php | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

string fgetss ( resource handle, int length [, string allowable_tags] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fgetss() kann man aus einer Datei (fp) eine Zeile mit der Länge length (in
Byte) auslesen. Nach dem Auslesen entfernt die Funktion HTML- und PHP-Tags
aus dem Text und gibt das Ergebnis zurück.
Mit dem optionalen dritten Parameter (allowable_tags) kann man bestimmte Tags
ausschließen, welche dann nicht entfernt werden (siehe Beispiel 2).

Siehe auch:

. fgets()
. fopen()
. fsockopen()
. popen()
. strip_tags()

nach unten nach oben Datei selfphp.php

<html>
    <head>
        <title>Selfphp</title>
    </head>
    <body bgcolor="#FFFFFF" text="#000000">
        Ein weiterer Test<br>
        <?PHP
        echo "Hallo";
        ?>
    </body>
</htm?>

nach unten nach oben Beispiel 1

<?PHP
$statistik = "selfphp.php";
$fp = fopen($statistik,"r");
while($zeile = fgetss($fp,1500)){
    echo $zeile;
}
fclose($fp);
?>

nach unten nach oben Ausgabe 1

Ausgabe 1 / Quellcode zwischen den gestrichelten Linien:
-------------------------------------

Selfphp

Ein weiterer Test

-------------------------------------

nach unten nach oben Beispiel 2

<?PHP
$statistik = "selfphp.php";
$fp = fopen($statistik,"r");
while($zeile = fgetss($fp,1500,"<html><title>")){
    echo $zeile;
}
fclose($fp);
?>

nach unten nach oben Ausgabe 2

Ausgabe 2 / Quellcode zwischen den gestrichelten Linien:
------------------------------------------
<html>

<title>Selfphp</title>

Ein weiterer Test

----------------------------------------

Zurück: fgets

Weiter: file


Funktionsreferenz / Dateisystem-Funktionen / file

Letztes Update der Funktion file: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

file

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei statistik.csv Inhalt der Datei statistik.csv | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array file ( string filename [, int use_include_path] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit file() kann man eine komplette Datei (filename) zeilenweise in ein Array
einlesen. Das Zeilenumbruchzeichen am Ende jeder Zeile wird als letztes Zeichen
n das entsprechende Array-Element übernommen.
Wird der optionale Parameter (use_include_path) auf 1 gesetzt, so wird auch
innerhalb des Include-Pfads (wird in der php.ini bestimmt) nach der Datei
gesucht.

Siehe auch:

. fopen()
. popen()
. readfile()

nach unten nach oben Inhalt der Datei statistik.csv

01.08.2001#62.159.232.250#www.selfphp3.de
02.08.2001#212.82.34.222#www.selfphp4.de
02.08.2001#http://suchen.abacho.de#62.159.232.250
03.08.2001#http://www.fireball.de#212.185.44.15

nach unten nach oben Beispiel

<?PHP
$datei = "statistik.csv";
$array = file($datei);
for($x=0;$x<count($array);$x++){
  echo $array[$x];
  echo "<br>";
}
?>

nach unten nach oben Ausgabe

01.08.2001#62.159.232.250#www.selfphp3.de
02.08.2001#212.82.34.222#www.selfphp4.de
02.08.2001#http://suchen.abacho.de#62.159.232.250
03.08.2001#http://www.fireball.de#212.185.44.15

Zurück: fgetss

Weiter: fileatime


Funktionsreferenz / Dateisystem-Funktionen / fileatime

Letztes Update der Funktion fileatime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fileatime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int fileatime ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fileatime() kann man sich das Datum und die Uhrzeit des letzten Zugriffs auf
eine Datei (filename) liefern lassen.

Als Rückgabewert dieser Funktion erhalten Sie das Datum im UNIX-Timestamp-
Format (Beginn der UNIX-Epoche - 01.01.1970 , 0:00:00 GMT), im Fehlerfall
wird false zurückgeliefert.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'statistik.csv';
$zeit = fileatime($datei);
echo "Letzter Zugriff auf die Datei $datei: $zeit";
echo "<br>";
echo "Formatiert: " .gmdate("d M Y H:i:s", $zeit);
?>

nach unten nach oben Ausgabe

Letzter Zugriff auf die Datei statistik.csv: 997101358
Formatiert: 06 Aug 2001 12:35:58

Zurück: file

Weiter: filectime


Funktionsreferenz / Dateisystem-Funktionen / filectime

Letztes Update der Funktion filectime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

filectime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int filectime ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit filectime() kann man sich das Datum und die Uhrzeit der letzten Änderung
einer Datei (filename) zurückgeben lassen.
Als Rückgabewert dieser Funktion erhalten Sie das Datum im UNIX-Timestamp-
Format (Beginn der UNIX-Epoche - 01.01.1970 , 0:00:00 GMT), im Fehlerfall
wird false zurückgeliefert.
Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'statistik.csv';
$zeit = filectime($datei);
echo "Letzte Änderung des Dateizeigers Inode: $zeit";
echo "<br>";
echo "Formatiert: " .gmdate("d M Y H:i:s", $zeit);
?>

nach unten nach oben Ausgabe

Letzte Änderung des Dateizeigers Inode: 997093333
Formatiert: 06 Aug 2001 10:22:13

Zurück: fileatime

Weiter: filegroup


Funktionsreferenz / Dateisystem-Funktionen / filegroup

Letztes Update der Funktion filegroup: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

filegroup

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int filegroup ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit filegroup() kann man sich die Gruppen-ID des Besitzers einer Datei
(filename) zurückgeben lassen.
Als Rückgabewert dieser Funktion erhalten Sie die Gruppen-ID als numerischen
Wert. Mittels der Funktion posix_getgrgid() können Sie die ID weiter aufsplitten
(siehe Beispiel), um z.B. an den Namen der Gruppe zu gelangen.

Achtung: Unter dem Betriebssystem Windows wird die Funktion filegroup() nicht
unterstützt.
Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'index.php';
$id = fileinode($datei);
echo "Gruppen-ID der Datei $datei: $id";
echo "<br>";
$array = posix_getgrgid($id);
while(list($key, $val) = each($array)){
  echo $key . " - " . $val . "<br>";
}
?>

nach unten nach oben Ausgabe

Gruppen-ID der Datei counter.txt: 100
name - users
gid - 100
members - 0

Zurück: filectime

Weiter: fileinode


Funktionsreferenz / Dateisystem-Funktionen / fileinode

Letztes Update der Funktion fileinode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fileinode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int fileinode ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fileinode() kann man sich die Inode-Nummer einer Datei (filename)
zurückgeben lassen.
Im Erfolgsfall gibt diese Funktion die Inode zurück, sonst wird false
zurückgeliefert.

Achtung: Unter dem Betriebssystem Windows wird die Funktion fileinode() nicht
unterstützt.
Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'index.php';
$id = fileinode($datei);
echo "Inode der Datei $datei: $id";
?>

nach unten nach oben Ausgabe

Inode der Datei index.php: 1012057

Zurück: filegroup

Weiter: filemtime


Funktionsreferenz / Dateisystem-Funktionen / filemtime

Letztes Update der Funktion filemtime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

filemtime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int filemtime ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit filemtime() kann man sich das Datum und die Uhrzeit der letzten Änderung
an einer Datei (filename) zurückgeben lassen.
Als Rückgabewert dieser Funktion erhalten Sie das Datum im UNIX-Timestamp-
Format (Beginn der UNIX-Epoche - 01.01.1970 , 0:00:00 GMT), im Fehlerfall
wird false zurückgeliefert.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'statistik.csv';
$zeit = filemtime($datei);
echo "Letzte Änderung der Datei: $zeit";
echo "<br>";
echo "Formatiert: " .gmdate("d M Y H:i:s", $zeit);
?>

nach unten nach oben Ausgabe

Letzte Änderung der Datei: 997000464
Formatiert: 05 Aug 2001 08:34:24

Zurück: fileinode

Weiter: fileowner


Funktionsreferenz / Dateisystem-Funktionen / fileowner

Letztes Update der Funktion fileowner: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fileowner

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int fileowner ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fileowner() kann man sich die ID des Besitzers einer Datei (filename)
zurückgeben lassen.
Als Rückgabewert dieser Funktion erhalten Sie die Benutzer-ID als numerischen
Wert. Mittels der Funktion posix_getpwuid() können Sie die ID weiter aufsplitten
(siehe Beispiel), um z.B. an den Namen des Besitzers zu gelangen.

Achtung: Unter dem Betriebssystem Windows wird die Funktion fileowner()
nicht unterstützt.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'index.php';
$id = fileowner($datei);
echo "Benutzer-ID der Datei $datei: $id";
echo "<br>";
$array = posix_getpwuid($id);
while(list($key, $val) = each($array)){
  echo $key . " - " . $val . "<br>";
}
?>

nach unten nach oben Ausgabe

Benutzer-ID der Datei index.php: 508
name - denseleit
passwd - x
uid - 508
gid - 100
gecos -
dir - /home/denseleit
shell - /bin/bash

Zurück: filemtime

Weiter: fileperms


Funktionsreferenz / Dateisystem-Funktionen / fileperms

Letztes Update der Funktion fileperms: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fileperms

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int fileperms ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fileperms() kann man sich die Zugriffsrechte einer Datei (filename)
zurückgeben lassen.
Als Rückgabewert dieser Funktion erhalten Sie die Zugriffsrechte, im Fehlerfall
wird false zurückgeliefert.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'index.php';
$id = fileperms($datei);
$id = decoct($id);
echo "Zugriffsrechte der Datei $datei: $id";
?>

nach unten nach oben Ausgabe

Zugriffsrechte der Datei index.php: 100766

Zurück: fileowner

Weiter: filesize


Funktionsreferenz / Dateisystem-Funktionen / filesize

Letztes Update der Funktion filesize: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

filesize

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int filesize ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit filesize() kann man sich die Größe einer Datei (filename) in Byte
zurückgeben lassen.
Als Rückgabewert dieser Funktion erhalten Sie die Größe der Datei, im Fehlerfall
wird false zurückgeliefert.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'index.php';
$id = filesize($datei);
echo "Größe der Datei $datei: $id";
?>

nach unten nach oben Ausgabe

Größe der Datei index.php: 183

Zurück: fileperms

Weiter: filetype


Funktionsreferenz / Dateisystem-Funktionen / filetype

Letztes Update der Funktion filetype: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

filetype

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string filetype ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit filetype() kann man sich den Typ einer Datei (filename) zurückgeben lassen.
Als Rückgabewert dieser Funktion erhalten Sie den Typ der Datei, im Fehlerfall
wird false zurückgeliefert.

Mögliche Ausgaben(Typen) sind:
. fifo
. char
. dir
. block
. link
. file
. unknown

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'statistik.csv';
$id = filetype($datei);
echo "Typ der Datei $datei: $id";
?>

nach unten nach oben Ausgabe

Typ der Datei statistik.csv: file

Zurück: filesize

Weiter: file_exists


Funktionsreferenz / Dateisystem-Funktionen / file_exists

Letztes Update der Funktion file_exists: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

file_exists

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool file_exists ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit file_exists() kann man überprüfen, ob eine Datei (filename) auf dem Server
existiert.
Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

Es ist darauf zu achten, dass diese Funktion nur nach lokalen Dateien sucht und
das Ergebnis der Suche zwischenspeichert (siehe clearstatcache).

Siehe auch:

. clearstatcache()

nach unten nach oben Beispiel

<?PHP
$datei = 'statistik.csv';
if(file_exists($datei))
  echo "Die Datei $datei ist existent";
else  echo "Die Datei $datei ist nicht existent";
?>

nach unten nach oben Ausgabe

Die Datei statistik.csv ist existent

Zurück: filetype

Weiter: flock


Funktionsreferenz / Dateisystem-Funktionen / flock

Letztes Update der Funktion flock: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

flock

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool flock ( resource handle, int operation [, int wouldblock] )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit flock() kann man eine Datei (fp) für bestimmte Zugriffe (operation)
verriegeln. Dies ist oftmals sehr nützlich, um Dateien, die Sie gerade beschreiben
wollen, vor dem Zugriff von anderen Usern zu schützen.
Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen Zeiger
auf eine offene Datei handeln muss, der mit fopen(), fsockopen() oder popen()
erzeugt wurde.

Folgende Arten der Verriegelung sind im Parameter operation möglich:
. LOCK_SH (1) - Verriegelung für Lesezugriff
. LOCK_EX (2) - exklusive Verriegelung für Schreibzugriffe
. LOCK_UN (3) - Gibt eine Verriegelung wieder frei
. LOCK_NB (4) - Verhindert, dass die Funktion während der Verriegelung
blockiert. Diese Konstante können Sie zusätzlich zu den anderen 3 Konstanten
angeben.

Im optionalen Parameter wouldblock gibt die Funktion den Wert true zurück, falls
die Funktion während der Verriegelung blockieren müsste.
Im Erfolgsfall gibt diese Funktion true zurück, sonst false.

nach unten nach oben Beispiel

//Inhalt der Datei counter.txt: 52369

<?PHP
$zaehler_anmelden = "counter.txt";
$fp = fopen($zaehler_anmelden,"r");
  $zahl = fgets($fp,10);
  fclose($fp);
$zahl++;
$fp = fopen($zaehler_anmelden,"w");
  flock($fp,2);
  fputs($fp,$zahl);
  flock($fp,3);
  fclose($fp);
echo $zahl;
?>

nach unten nach oben Ausgabe

52370

Zurück: file_exists

Weiter: fopen


Funktionsreferenz / Dateisystem-Funktionen / fopen

Letztes Update der Funktion fopen: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fopen

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource fopen ( string filename, string mode [, int use_include_path [, resource zcontext]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fopen() kann man eine Datei (filename) öffnen.

Folgende Verbindungsmöglichkeiten gibt es:
. "http://" - Öffnen per http
. "ftp://" - Öffnen per ftp
. "php://stdin" - Öffnen per stdio stream
. "php://stdout" - Öffnen per stdio stream
. "php://stderr" - Öffnen per stdio stream
. Alles andere - Öffnen vom lokalen Dateisystem

Der Parameter mode legt fest, auf welche Weise und für welche Zugriffsarten die
Datei geöffnet wird.

Folgende Werte gibt es:
. a - Öffnet die angegebene Datei nur zum Schreiben und positioniert den
Dateizeiger auf das Ende der Datei. Sollte die angegebene Datei nicht existieren,
so wird versucht sie anzulegen.
. a+ - Öffnet die angegebene Datei zum Lesen und Schreiben und positioniert den
Dateizeiger auf das Ende der Datei. Sollte die angegebene Datei nicht existieren,
so wird versucht sie anzulegen.
. r - Öffnet die angegebene Datei zum Lesen und positioniert den Dateizeiger auf
den Anfang der Datei.
. r+ - Öffnet die angegebene Datei zum Lesen und Schreiben und positioniert den
Dateizeiger auf den Anfang der Datei.
. w - Öffnet die angegebene Datei zum Schreiben und positioniert den Dateizeiger
auf den Anfang der Datei. Die Länge der Datei wird auf 0 Byte gesetzt. Sollte die
angegebene Datei nicht existieren, so wird versucht sie anzulegen.
. w+ - Öffnet die angegebene Datei zum Lesen und Schreiben und positioniert den
Dateizeiger auf den Anfang der Datei. Sollte die angegebene Datei nicht
existieren, so wird versucht sie anzulegen.

Für die Bearbeitung von Binärdateien können Sie an jede dieser
Modusdefinitionen ein "b" anhängen.
Wird der optionale Parameter use_include_path auf 1 gesetzt, so wird auch
innerhalb des Include-Pfads (wird in der php.ini bestimmt) nach der Datei
gesucht.

Im Erfolgsfall gibt die Funktion einen Dateizeiger zurück. Sollte das Öffnen der
Datei scheitern, so wird false zurückgeliefert.

Siehe auch:

. fclose()
. fsockopen()
. popen()

nach unten nach oben Beispiel

<?PHP
$fp = fopen("/www/users/php/counter.txt","r"); // Absoluter Pfad
$fp = fopen("counter.txt","r"); // Relativ Pfad
$fp = fopen("/www/users/php/selfphp.gif","wb");
$fp = fopen("http://www.selfphp3.de/","r");
$fp = fopen("ftp://user:password@selfphp3.de/","r");
$fp = fopen("d:/daten/statistik.csv","a");
?>

nach unten nach oben Ausgabe

// Keine Ausgabe
// Es werden die Möglichkeiten vorgestellt

Zurück: flock

Weiter: fpassthru


Funktionsreferenz / Dateisystem-Funktionen / fpassthru

Letztes Update der Funktion fpassthru: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fpassthru

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int fpassthru ( resource handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fpassthru() kann man alle Daten vom aktuellen Dateizeiger bis zum Ende
einer Datei (fp) auslesen und in die Standardausgabe schreiben lassen. Es ist
darauf zu achten, dass wenn das Ende der Datei erreicht wurde, die Datei von der
Funktion fpassthru() geschlossen und der Dateizeiger fp nutzlos wird. Sollten Sie
dennoch versuchen, mit dem Dateizeiger zu arbeiten, so wird es zu einer
Fehlermeldung kommen.

Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen Zeiger
auf eine offene Datei handeln muss, der mit fopen(), fsockopen() oder popen()
erzeugt wurde.

Im Erfolgsfall gibt diese Funktion den Inhalt der Datei aus, sonst wird false
zurückgeliefert.

Siehe auch:

. fopen()
. fsockopen()
. popen()
. readfile()

nach unten nach oben Beispiel

<?PHP
$zaehler_anmelden = "statistik.csv";
$fp = fopen($zaehler_anmelden,"r");
  echo fpassthru($fp);
?>

nach unten nach oben Ausgabe

01.08.2001#62.159.232.250#www.selfphp3.de_
02.08.2001#212.82.34.222#www.selfphp4.de_
02.08.2001#http://suchen.abacho.de#62.159.232.250_
03.08.2001#http://www.fireball.de#212.185.44.15183

Zurück: fopen

Weiter: fputs


Funktionsreferenz / Dateisystem-Funktionen / fputs

Letztes Update der Funktion fputs: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fputs

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

int fputs ( resource handle, string str [, int length] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fputs() kann man bestimmte Daten (str) an die aktuelle Position des
Dateizeigers in eine Datei (fp) schreiben. Wird der dritte optionale Wert für die
Länge (length) des Strings nicht angegeben, so wird der gesamte String an die
Position des Dateizeigers geschrieben (siehe Beispiel 1). Wird die Länge
angegeben, so wird der String auf die vorgegebene Länge gekürzt (siehe Beispiel 2).

Siehe auch:

. fwrite()

nach unten nach oben Beispiel 1

//Inhalt der Datei counter.txt: 52386

<?PHP
$zaehler_anmelden = "counter.txt";
$fp = fopen($zaehler_anmelden,"r");
  $zahl = fgets($fp,10);
  fclose($fp);
$zahl++;
$fp = fopen($zaehler_anmelden,"w");
  flock($fp,2);
  fputs($fp,$zahl);
  flock($fp,3);
  fclose($fp);
echo $zahl;
?>

nach unten nach oben Ausgabe 1

Counterstand:
52387

nach unten nach oben Beispiel 2

//Inhalt der Datei counter.txt: 52387

<?PHP
$zaehler_anmelden = "counter.txt";
$fp = fopen($zaehler_anmelden,"r");
  $zahl = fgets($fp,10);
  fclose($fp);
$zahl++;
$fp = fopen($zaehler_anmelden,"w");
  flock($fp,2);
  fputs($fp,$zahl,3);
  flock($fp,3);
  fclose($fp);
echo $zahl;
?>

nach unten nach oben Ausgabe 2

Counterstand:
524

Zurück: fpassthru

Weiter: fread


Funktionsreferenz / Dateisystem-Funktionen / fread

Letztes Update der Funktion fread: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fread

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

string fread ( resource handle, int length )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fread() kann man Binärdaten aus einer Datei (fp) lesen. Der zweite Parameter
für die Länge (length) bestimmt, wie viel der Datei gelesen werden soll (max. bis
zum Dateiende).

Siehe auch:

. fgets()
. fgetss()
. file()
. fopen()
. fpassthru()
. fsockopen()
. fwrite()
. popen()

nach unten nach oben Beispiel 1

//Inhalt der Datei statistik.csv:
/*01.08.2001#62.159.232.250#www.selfphp3.de
02.08.2001#212.82.34.222#www.selfphp4.de
02.08.2001#http://suchen.abacho.de#62.159.232.250
03.08.2001#http://www.fireball.de#212.185.44.15*/

<?PHP
$zaehler_anmelden = "statistik.csv";
$fp = fopen ($zaehler_anmelden, "r");
$str = fread ($fp, filesize ($zaehler_anmelden));
fclose ($fp);
echo $str;
?>

nach unten nach oben Ausgabe 1

01.08.2001#62.159.232.250#www.selfphp3.de_
02.08.2001#212.82.34.222#www.selfphp4.de_
02.08.2001#http://suchen.abacho.de#62.159.232.250_
03.08.2001#http://www.fireball.de#212.185.44.15

nach unten nach oben Beispiel 2

//Inhalt der Datei statistik.csv:
/*01.08.2001#62.159.232.250#www.selfphp3.de
02.08.2001#212.82.34.222#www.selfphp4.de
02.08.2001#http://suchen.abacho.de#62.159.232.250
03.08.2001#http://www.fireball.de#212.185.44.15*/

<?PHP
$zaehler_anmelden = "statistik.csv";
$fp = fopen ($zaehler_anmelden, "r");
$str = fread ($fp,10);
fclose ($fp);
echo $str;
?>

nach unten nach oben Ausgabe 2

01.08.2001

Zurück: fputs

Weiter: fscanf


Funktionsreferenz / Dateisystem-Funktionen / fscanf

Letztes Update der Funktion fscanf: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fscanf

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed fscanf ( resource handle, string format [, string var1] )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit fscanf() kann man den Inhalt einer Datei (handle) lesen und daraus mittels
der Formatierungsanweisung format Daten extrahieren.
Falls Sie die Funktion mit zwei Parametern aufrufen, erhalten Sie die extrahierten
Werte in Form eines Arrays als Funktionsergebnis zurück. Alternativ können Sie
der Funktion auch Variablen als weitere Argumente (var1 usw.) übergeben, in die
die Funktion dann die extrahierten Werte einträgt.

Siehe auch:

. fread()
. fgets()
. fgetss()
. sscanf()
. printf()
. sprintf()

nach unten nach oben Beispiel

//Inhalt der Datei member.txt:
/*Damir Enseleit 1971
Karl Mustermann 1970
Petra Mustermann 1972*/

<?PHP
$fp = fopen ("member.txt","r");
while ($data = fscanf ($fp, "%s %s %s")) {
  list ($vorname, $nachname , $jahr) = $data;
  echo "Vorname: " . $vorname . "<br>";
  echo "Nachname: " . $nachname . "<br>";
  echo "Jahrgang: " . $jahr . "<br><br>";
}
fclose($fp);
?>

nach unten nach oben Ausgabe

Vorname: Damir
Nachname: Enseleit
Jahrgang: 1971

Vorname: Karl
Nachname: Mustermann
Jahrgang: 1970

Vorname: Petra
Nachname: Mustermann
Jahrgang: 1972

Zurück: fread

Weiter: fseek


Funktionsreferenz / Dateisystem-Funktionen / fseek

Letztes Update der Funktion fseek: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fseek

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int fseek ( resource handle, int offset [, int whence] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fseek() kann man den Dateizeiger innerhalb einer Datei (fp) an eine beliebige
Stelle positionieren. Der Parameter offset legt fest, an welche Stelle der
Dateizeiger verschoben wird. Dabei hängt es vom Parameter whence ab, wie die
Funktion den Wert von offset interpretiert.

Folgende Werte sind für whence möglich:
. SEEK_SET - Setzt die Position gleich offset
. SEEK_CUR - Setzt die Position auf die aktuelle Position plus offset
. SEEK_END - Setzt die Position an das Ende der Datei plus offset

Die Default-Einstellung ist SEEK_SET.

Beachten Sie bitte, dass ein Überschreiten von EOF (Ende der Datei) nicht zu
einem Fehler führt.

Siehe auch:

. ftell()
. rewind()

nach unten nach oben Beispiel

//Inhalt der Datei member.txt: Damir Enseleit 1971

<?PHP
$fp = fopen ("users.txt","r");
$zahl = fgetc($fp);
fseek ($fp, 2,"SEEK_CUR");
$zahl = fgets($fp,20);
echo $zahl;
?>

nach unten nach oben Ausgabe

mir Enseleit 1971

Zurück: fscanf

Weiter: fstat


Funktionsreferenz / Dateisystem-Funktionen / fstat

Letztes Update der Funktion fstat: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fstat

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array fstat ( resource handle )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fstat() kann man sich verschiedene Informationen über eine Datei (fp)
zurückgeben lassen.
Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Folgende Statistiken werden ausgegeben:

. Gerät
. Inode
. Mode
. Anzahl Links
. User-Id des Besitzers
. Gruppen-Id Besitzers
. Gerätetyp, falls Inode-Gerät.*
. Größe in Bytes
. Zeit des letzten Zugriffs
. Zeit der letzten Modifikation
. Zeit der letzten Änderung
. Blockgröße für Dateisystem I/O *
. Anzahl der Blöcke

Gibt -1 aus, falls das System (z.B. Windows) nicht den st_blksize
Typ unterstützt.

Siehe auch:

. clearstatcache()
. stat()

nach unten nach oben Beispiel

<?PHP
$fp = fopen ("members.txt","r");
$statistik = fstat($fp);
while(list($key, $val) = each($statistik)) {
  echo $key . ": " . $val;
  echo "<br>";
}
?>

nach unten nach oben Ausgabe

dev: 771
ino: 491065
mode: 33252
nlink: 1
uid: 0
gid: 100
rdev: 0
blksize: 4096
size: 64
atime: 997542332
mtime: 997542332
ctime: 997542332
blocks: 8

Zurück: fseek

Weiter: ftell


Funktionsreferenz / Dateisystem-Funktionen / ftell

Letztes Update der Funktion ftell: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ftell

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int ftell ( resource handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ftell() kann man die aktuelle Position des Dateizeigers innerhalb einer Datei
(fp) ermitteln.

Beachten Sie bitte, dass es sich bei dem Dateizeiger fp um einen gültigen Zeiger
auf eine offene Datei handeln muss, der mit fopen(), fsockopen() oder popen()
erzeugt wurde.

Im Erfolgsfall gibt diese Funktion die Position des Dateizeigers aus, sonst wird
false zurückgeliefert.

Siehe auch:

. fopen()
. fseek()
. popen()
. rewind()

nach unten nach oben Beispiel

//Inhalt der Datei member.txt: Damir Enseleit 1971

<?PHP
$fp = fopen ("members.txt","r");
$zahl = fgetc($fp);
fseek ($fp, 6,"SEEK_CUR");
$stelle = ftell($fp);
$zahl = fgetc($fp);
echo $zahl;
echo "<br>";
echo $stelle;
?>

nach unten nach oben Ausgabe

E
6

Zurück: fstat

Weiter: ftruncate


Funktionsreferenz / Dateisystem-Funktionen / ftruncate

Letztes Update der Funktion ftruncate: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ftruncate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool ftruncate ( resource handle, int size )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ftruncate() kann man eine Datei (fp) auf eine bestimmte Länge (size)
verkürzen.

Im Erfolgsfall gibt die Funktion true zurück, sonst false.

nach unten nach oben Beispiel

//Inhalt der Datei member.txt: Damir Enseleit

<?PHP
$inhalt = file("members.txt");
echo $inhalt[0];
$fp = fopen ("members.txt","a+");
ftruncate ($fp, 5);
fclose($fp);
echo "<br>";
$fp = fopen ("members.txt","r");
$str = fgets($fp,30);
fclose($fp);
echo $str;
?>

nach unten nach oben Ausgabe

Damir Enseleit
Damir

Zurück: ftell

Weiter: fwrite


Funktionsreferenz / Dateisystem-Funktionen / fwrite

Letztes Update der Funktion fwrite: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

fwrite

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int fwrite ( resource handle, string string [, int length] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit fwrite() kann man Binärdaten (string) in eine Datei (fp) schreiben lassen.
Wenn Sie eine optionale Länge (length) angeben, so wird nur der Anfang der
Daten bis zum Erreichen der Längenangabe in die Datei geschrieben.
Wenn Sie in length einen Wert übergeben, wird die Option
magic_quotes_runtime ignoriert, d.h. es werden keine Slashes mehr aus der
Zeichenkette entfernt.
Bedenken Sie, dass die Datei mit "b" geöffnet werden muss, falls Sie ein System
nutzen, welches zwischen Binär- und Textdateien unterscheidet (z.B. Windows).

Siehe auch:

. fopen()
. fputs()
. fread()
. fsockopen()
. popen()

nach unten nach oben Beispiel

<?PHP
$text = "Dieser Text wird gespeichert";
$fp = fopen ("members.txt","w");
fwrite($fp,$text,11);
fclose($fp);
$fp = fopen ("members.txt","r");
$str = fgets($fp,30);
fclose($fp);
echo $str;
?>

nach unten nach oben Ausgabe

Dieser Text

Zurück: ftruncate

Weiter: is_dir


Funktionsreferenz / Dateisystem-Funktionen / Übersicht Dateisystem-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateisystem-Funktionen

Auf den folgenden Seiten werden die Dateisystem-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Dateisystem via PHP": Praxisbuch öffnen

Die hier gelisteten Dateisystem-Funktionen bestehen aus folgenden Seiten:

basename
chgrp
chmod
chown
clearstatcache
copy
dirname
diskfreespace
disk_total_space
fclose
feof
fflush
fgetc
fgetcsv
fgets
fgetss
file
fileatime
filectime
filegroup
fileinode
filemtime
fileowner
fileperms
filesize
filetype
file_exists
flock
fopen
fpassthru
fputs
fread
fscanf
fseek
fstat
ftell
ftruncate
fwrite
is_dir
is_executable
is_file
is_link
is_readable
is_uploaded_file
is_writeable
link
linkinfo
lstat
move_uploaded_file
parse_ini_file
pathinfo
pclose
popen
readfile
readlink
realpath
rename
rewind
set_file_buffer
stat
symlink
tempnam
tmpfile
touch
umask
unlink


Funktionsreferenz / Dateisystem-Funktionen / is_dir

Letztes Update der Funktion is_dir: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_dir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_dir ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit is_dir() kann man überprüfen, ob ein Verzeichnis (filename) existiert.
Wenn es sich bei der angegebenen Datei um ein Verzeichnis handelt, gibt diese
Funktion true, sonst false zurück.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

nach unten nach oben Beispiel

<?PHP
$verz = "ultra";
if(is_dir($verz))
  echo "Bei $verz handelt es sich um ein Verzeichnis";
else
  echo "Bei $verz handelt es sich nicht um ein Verzeichnis";
?>

nach unten nach oben Ausgabe

Bei ultra handelt es sich um ein Verzeichnis

Zurück: fwrite

Weiter: is_executable


Funktionsreferenz / Dateisystem-Funktionen / is_executable

Letztes Update der Funktion is_executable: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_executable

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_executable ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit is_executable() kann man überprüfen, ob eine Datei (filename) existiert und
ausführbar ist.
Wenn die angegebene Datei ausführbar ist, gibt diese Funktion true, sonst false
zurück.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. is_file()
. is_link()

nach unten nach oben Beispiel

<?PHP
clearstatcache();
$datei = "ultra.txt";
chmod ($datei, 0655);

if(is_executable($datei))
  echo "CHMOD 0655 - $datei ist ausführbar";
else
  echo"CHMOD 0655 - $datei ist nicht ausführbar";

echo "<br>";
clearstatcache();
chmod ($datei, 0755);

if(is_executable($datei))
  echo "CHMOD 0755 - $datei ist ausführbar";
else
  echo"CHMOD 0755 - $datei ist nicht ausführbar";

echo "<br>";
clearstatcache();
chmod ($datei, 0775);

if(is_executable($datei))
  echo "CHMOD 0775 - $datei ist ausführbar";
else
  echo"CHMOD 0775 - $datei ist nicht ausführbar";
?>

nach unten nach oben Ausgabe

CHMOD 0655 - ultra.txt ist nicht ausführbar
CHMOD 0755 - ultra.txt ist ausführbar
CHMOD 0775 - ultra.txt ist ausführbar

Zurück: is_dir

Weiter: is_file


Funktionsreferenz / Dateisystem-Funktionen / is_file

Letztes Update der Funktion is_file: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_file

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_file ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit is_file() kann man überprüfen, ob eine Datei (filename) existiert und ob es
sich bei der Datei um eine reguläre Datei handelt.
Wenn die Datei existiert und es eine reguläre Datei ist, gibt diese Funktion true,
sonst false zurück.
Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. is_dir()
. is_link()

nach unten nach oben Beispiel

<?PHP
$file = "ip_reload.txt";
if(is_file($file))
  echo"Bei der existenten Datei $file handelt es sich um eine reguläre Datei";
else
  echo"Bei der Datei $file handelt es sich nicht um eine reguläre Datei";
?>

nach unten nach oben Ausgabe

Bei der Datei ip_reload.txt handelt es sich um eine reguläre Datei

Zurück: is_executable

Weiter: is_link


Funktionsreferenz / Dateisystem-Funktionen / is_link

Letztes Update der Funktion is_link: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_link

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_link ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit is_link() kann man überprüfen, ob es sich bei der angegebenen Datei
(filename) um einen symbolischen Link handelt.
Wenn die angegebene Datei ein symbolischer Link ist, gibt diese Funktion true,
sonst false zurück.
Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Diese Funktion wird unter Windows nichts bewirken.

Siehe auch:

. is_dir()
. is_file()

nach unten nach oben Beispiel

<?PHP
symlink("members.txt","sym_link.txt");
if(is_link("sym_link.txt"))
  echo "Die Datei ist ein symbolischer Link";
else
  echo "Die Datei ist kein symbolischer Link";
?>

nach unten nach oben Ausgabe

Die Datei ist ein symbolischer Link

Zurück: is_file

Weiter: is_readable


Funktionsreferenz / Dateisystem-Funktionen / is_readable

Letztes Update der Funktion is_readable: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_readable

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_readable ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit is_readable() kann man überprüfen, ob eine Datei (filename) existiert und
lesbar ist. Für den Zugriff auf die Datei verwendet PHP die Benutzer-ID, unter
welcher der Webserver läuft.

Wenn die Datei existiert und lesbar ist, gibt diese Funktion true , sonst false
zurück.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. is_writeable()

nach unten nach oben Beispiel

<?PHP
$datei = "ip_reload.txt";
if(is_readable($datei))
  echo "Die Datei $datei existiert und ist lesbar";
else
  echo "Die Datei $datei existiert nicht und ist nicht lesbar";
?>

nach unten nach oben Ausgabe

Die Datei ip_reload.txt existiert und ist lesbar

Zurück: is_link

Weiter: is_uploaded_file


Funktionsreferenz / Dateisystem-Funktionen / is_uploaded_file

Letztes Update der Funktion is_uploaded_file: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_uploaded_file

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_uploaded_file ( string filename )

nach unten nach oben Version

(PHP 3 >= 3.0.17, PHP 4 >= 4.0.3, PHP 5)

nach unten nach oben Beschreibung

Mit is_uploaded_file() kann man überprüfen, ob eine Datei (filename) mittels
HTTP-Post hochgeladen wurde. Es ist darauf zu achten, dass Sie für filename den
temporären Namen der Datei angeben (im Beispiel file) und nicht den
tatsächlichen Namen (im Beispiel file_name), da sonst false zurückgegeben wird.

Wenn die angegebene Datei hochgeladen wurde, liefert diese Funktion true, sonst
false.

Siehe auch:

. move_uploaded_file()

nach unten nach oben Beispiel

<?PHP
if(!empty($file_name)){
  if(copy($file,"tmp/$file_name")){
    if(is_uploaded_file($file)){
      echo "<b>Upload beendet!</b><br>";
      echo "Dateiname: $file_name";
      echo "<br>";
      echo "Dateigröße: $file_size Byte";
    }
  }
}
else
{
?>
<html><head></head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" enctype="multipart/form-data" method="post" action="index.php"><p>
<input type="file" name="file"><br>
<input type="submit" name="Abschicken" value="Download beginnen">
</p></form></body></html>
<?PHP
}
?>

nach unten nach oben Ausgabe

Upload beendet!
Dateiname: bigfile.gz
Dateigröße: 832314 Byte

Zurück: is_readable

Weiter: is_writeable


Funktionsreferenz / Dateisystem-Funktionen / is_writeable

Letztes Update der Funktion is_writeable: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_writeable

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_writeable ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit is_writeable() kann man überprüfen, ob eine Datei (filename) existiert und
beschreibbar ist. Als Dateinamen dürfen Sie auch einen Verzeichnisnamen
angeben, wenn Sie prüfen wollen, ob Sie in das Verzeichnis schreiben dürfen.
Für den Zugriff auf die Datei verwendet PHP die Benutzer-ID, unter welcher der
Webserver läuft.

Wenn die Datei existiert und beschreibbar ist, gibt diese Funktion true, sonst false
zurück.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Siehe auch:

. is_readable()

nach unten nach oben Beispiel

<?PHP
$datei = "ip_reload.txt";
if(is_writeable($datei))
  echo "Die Datei $datei existiert und ist beschreibbar";
else
  echo "Die Datei $datei existiert nicht und ist nicht beschreibbar";
?>

nach unten nach oben Ausgabe

Die Datei ip_reload.txt existiert und ist beschreibbar

Zurück: is_uploaded_file

Weiter: link


Funktionsreferenz / Dateisystem-Funktionen / link

Letztes Update der Funktion link: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

link

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int link ( string target, string link )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit link() kann man einen absoluten Link erzeugen (link), der auf eine
vorhandene Datei (target) weist.

Die Funktion gibt im Erfolgsfall eine Geräte-ID zurück, sonst false.
Im unteren Beispiel wurde für die vorhandene Datei (target) "members.txt" ein
Link mit dem Namen "link.txt" erzeugt. Falls Sie nun im Browser die Datei
"link.txt" aufrufen, so werden Sie sehen, dass diese genau den gleichen Inhalt hat
wie "members.txt".

Bedenken Sie, dass diese Funktion unter Windows nichts bewirken wird.

Siehe auch:

. linkinfo()
. readlink()
. symlink()

nach unten nach oben Beispiel

<?PHP
$array = file("members.txt");
echo $array[0] . "<br>";
link("members.txt","link.txt");
$array_neu = file("link.txt");
echo $array_neu[0];
?>

nach unten nach oben Ausgabe

Dieser Text wird gespeichert
Dieser Text wird gespeichert

Zurück: is_writeable

Weiter: linkinfo


Funktionsreferenz / Dateisystem-Funktionen / linkinfo

Letztes Update der Funktion linkinfo: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

linkinfo

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int linkinfo ( string path )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit linkinfo() kann man sich Informationen über einen Link (path) zurückgeben
lassen. Falls der angegebene Link existiert, gibt die Funktion die ID des Geräts
zurück, auf dem der Link angelegt wurde. Ist der angegebene Pfad kein Link, gibt
die Funktion false zurück.

Beachten Sie, dass diese Funktion unter Windows nichts bewirken wird.

Siehe auch:

. link()
. readlink()
. symlink()

nach unten nach oben Beispiel

<?PHP
link("members.txt","hard_link.txt");
$str = linkinfo ("hard_link.txt");
echo $str;
?>

nach unten nach oben Ausgabe

771

Zurück: link

Weiter: lstat


Funktionsreferenz / Dateisystem-Funktionen / lstat

Letztes Update der Funktion lstat: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

lstat

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array lstat ( string filename )

nach unten nach oben Version

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit lstat() kann man sich verschiedene Informationen über eine Datei (filename)
oder eine symbolischen Link zurückgeben lassen. Im Erfolgsfall gibt diese
Funktion die Informationen über die Datei oder den symbolischen Link in Form
eines Arrays zurück, sonst ist das Ergebnis false.

Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Folgende Statistiken werden ausgegeben:

. Gerät
. Inode
. Mode
. Anzahl Links
. User-Id des Besitzers
. Gruppen-Id Besitzers
. Gerätetyp, falls Inode-Gerät.*
. Größe in Bytes
. Zeit des letzten Zugriffs
. Zeit der letzten Modifikation
. Zeit der letzten Änderung
. Blockgröße für Dateisystem I/O *
. Anzahl der Blöcke

*Gibt -1 aus, falls das System (z.B. Windows) nicht den st_blksize
Typ unterstützt.

nach unten nach oben Beispiel

<?PHP
symlink("members.txt","sym_link.txt");
$statistik = lstat("sym_link.txt");
while(list($key, $val) = each($statistik)) {
  echo $key . ": " . $val;
  echo "<br>";
}
?>

nach unten nach oben Ausgabe

0: 771
1: 491065
2: 33279
3: 3
4: 0
5: 100
6: 0
7: 28
8: 997556079
9: 997546715
10: 997550109
11: 4096
12: 8

Zurück: linkinfo

Weiter: move_uploaded_file


Funktionsreferenz / Dateisystem-Funktionen / move_uploaded_file

Letztes Update der Funktion move_uploaded_file: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

move_uploaded_file

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool move_uploaded_file ( string filename, string destination )

nach unten nach oben Version

(PHP 4 >= 4.0.3, PHP 5)

nach unten nach oben Beschreibung

Mit move_uploaded_file() kann man eine mittels HTTP-Post hochgeladene Datei
(filename) an ein Ziel (destination) verschieben. Zuerst prüft die Funktion, ob die
Datei filename hochgeladen wurde und somit eine gültige Datei ist. Ist dies der
Fall, so wird die Datei an das Ziel destination verschoben. Es ist darauf zu achten,
dass Sie für filename den temporären Namen der Datei angeben (im Beispiel file)
und nicht den tatsächlichen Namen (im Beispiel file_name), da sonst false
zurückgegeben wird.

Im Erfolgsfall gibt diese Funktion true zurück. Sollte es sich bei der hochgeladenen
Datei um keine gültige Datei handeln oder konnte sie nicht verschoben werden,
so wird false zurückgegeben.

Siehe auch:

. is_uploaded_file()

nach unten nach oben Beispiel

<?PHP
if(!empty($file_name)){
  if(copy($file,"tmp/$file_name")){
    if(move_uploaded_file($file,"tmp/test.txt")){
      echo "<b>Upload beendet!</b><br>";
    }
  }
}
else
{
?>
<html><head></head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" enctype="multipart/form-data" method="post" action="index.php"><p>
<input type="file" name="file"><br>
<input type="submit" name="Abschicken" value="Download beginnen">
</p></form></body></html>
<?PHP
}
?>

nach unten nach oben Ausgabe

Upload beendet!

Zurück: lstat

Weiter: parse_ini_file


Funktionsreferenz / Dateisystem-Funktionen / parse_ini_file

Letztes Update der Funktion parse_ini_file: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

parse_ini_file

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Dateiinhalt der system.ini Dateiinhalt der system.ini | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array parse_ini_file ( string filename [, bool process_sections] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit parse_ini_file() kann man sich Informationen aus einer Konfigurationsdatei
(filename) liefern lassen. Wird der optionale Parameter process_sections auf
TRUE gesetzt, so erhalten Sie ein mehrdimensionales Array mit den Gruppennamen
und den dazugehörigen Werten. Wird der optionale Parameter nicht angegeben, so
erhalten Sie ein assoziatives Array mit den Werten. Weiterhin haben Sie die
Möglichkeit, dass Konstanten mit ausgewertet werden. Um dieses zu erreichen
müssen Sie die Konstante vor der Funktion parse_ini_file() deklarieren (siehe
Beispiel).

Bitte beachten Sie, das nicht alphanumerische Werte innerhalb der
Kofigurationsdatei von doppelten Anführungszeichen (") eingeschlossen sein
müssen.

nach unten nach oben Dateiinhalt der system.ini

[website]
name = "SELFPHP"
sites = 33
copy = "Damir Enseleit"
konstante = TESTKONSTANTE

[pfad]
URL = "http://www.selfphp.de"

nach unten nach oben Beispiel

<?PHP
// Konstante mitparsen
define("TESTKONSTANTE","OK");

// Ohne Gruppen
$ini_array = parse_ini_file("system.ini");
print_r($ini_array);

// Mit Gruppen
$ini_array = parse_ini_file("system.ini", TRUE);
print_r($ini_array);
?>

nach unten nach oben Ausgabe

Array
(
[name] => SELFPHP
[sites] => 33
[copy] => Damir Enseleit
[konstante] => OK
[URL] => http://www.selfphp.de
)
Array
(
[website] => Array
(
[name] => SELFPHP
[sites] => 33
[copy] => Damir Enseleit
[konstante] => OK
)

[pfad] => Array
(
[URL] => http://www.selfphp.de
)

)

Zurück: move_uploaded_file

Weiter: pathinfo


Funktionsreferenz / Dateisystem-Funktionen / pathinfo

Letztes Update der Funktion pathinfo: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pathinfo

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array pathinfo ( string path )

nach unten nach oben Version

(PHP 4 >= 4.0.3, PHP 5)

nach unten nach oben Beschreibung

Mit pathinfo() kann man sich Informationen über den Pfad (path) zurückgeben
lassen. Als Rückgabewert erhalten Sie ein Array mit folgenden Informationen
über den Pfad:

. dirname - Der Verzeichnis-Pfad
. basename - Der Dateiname
. extension - Die Dateiendung

Siehe auch:

. dirname()
. basename()
. realpath()

nach unten nach oben Beispiel

<?PHP
$pfad_info = pathinfo("/www/users/test_php/zahlen.txt");
echo $pfad_info["dirname"];
echo "<br>";
echo $pfad_info["basename"];
echo "<br>";
echo $pfad_info["extension"];
?>

nach unten nach oben Ausgabe

/www/users/test_php
zahlen.txt
txt

Zurück: parse_ini_file

Weiter: pclose


Funktionsreferenz / Dateisystem-Funktionen / pclose

Letztes Update der Funktion pclose: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pclose

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int pclose ( resource handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit pclose() kann man einen geöffneten Prozess-Dateizeiger (fp) wieder
schließen. Es ist darauf zu achten, dass es sich bei dem Zeiger um einen gültigen
Prozess-Dateizeiger handeln muss.

Siehe auch:

. popen()

nach unten nach oben Beispiel

<?PHP
$fp = popen('/bin/ls','r');
if(pclose($fp))
  echo "Prozess-Dateizeiger wurde geschlossen";
else
  echo "Prozess-Dateizeiger konnte nicht geschlossen werden";
?>

nach unten nach oben Ausgabe

Prozess-Dateizeiger wurde geschlossen

Zurück: pathinfo

Weiter: popen


Funktionsreferenz / Dateisystem-Funktionen / popen

Letztes Update der Funktion popen: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

popen

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource popen ( string command, string mode )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit popen() wird eine Verbindung zu einem Prozess geöffnet, welcher durch die
Anweisung (command) im angegebenen Modus (mode) ausgeführt wird.
Folgende Werte sind für mode zulässig:
. r - nur lesen
. w - nur schreiben

Diese Funktion gibt wie fopen() einen Zeiger zurück, welcher weiter genutzt
werden kann, etwa für Lese- und Schreiboperationen. Im Fehlerfall ist das
Funktionsergebnis false.

Es ist darauf zu achten, dass der mit popen() geöffnete Dateizeiger mit pclose()
wieder geschlossen wird.

Folgende Funktionen nutzen den Zeiger:

. fgets()
. fgetss()
. fputs()

nach unten nach oben Beispiel

<?PHP
$fp = popen('/bin/ls','r');
while(!feof($fp)){
  $inhalt = fgets($fp,300);
  echo $inhalt;
  echo "<br>";
}
pclose($fp)
?>

nach unten nach oben Ausgabe

counter.txt
index.php
php.htm
php2.php
test.pdf
tmp
ultra
ultra.php

Zurück: pclose

Weiter: readfile


Funktionsreferenz / Dateisystem-Funktionen / readfile

Letztes Update der Funktion readfile: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

readfile

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe | Springe zu Quellcode Quellcode |

nach unten nach oben Befehl

int readfile ( string filename [, int use_include_path] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit readfile() kann man eine Datei (filename) einlesen und im Browser ausgeben.
Der optionale Parameter use_include_path kann auf 1 gesetzt werden, wenn die
Funktion auch im Include-Pfad nach der Datei suchen soll.
Als Ergebnis gibt diese Funktion im Erfolgsfall die Größe der Datei zurück, sonst
false.

Folgende Verbindungsmöglichkeiten können Sie im Parameter filename angeben:
. "http://" - Öffnen per http
. "ftp://" - Öffnen per ftp - wird fehlschlagen, wenn der Server keinen passiven
Modus unterstützt
. Alles andere - Öffnen vom lokalen Dateisystem

Siehe auch:

. file()
. fopen()
. fpassthru()
. include()
. require()
. virtual()

nach unten nach oben Beispiel

<?PHP
$byte = readfile("selfphp.htm");
echo "<br>";
echo "Die Datei hat eine Größe von: " . $byte;
?>

nach unten nach oben Ausgabe

Eine ganz normale HTML-Datei
Die Datei hat eine Größe von: 210

nach unten nach oben Quellcode

<html>
<head>
<title>Selfphp</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
Eine ganz normale HTML-Datei
</body>
</html><br>Die Datei hat eine Größe von: 210

Zurück: popen

Weiter: readlink


Funktionsreferenz / Dateisystem-Funktionen / readlink

Letztes Update der Funktion readlink: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

readlink

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string readlink ( string path )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit readlink() kann man sich das Ziel eines symbolischen Links (path)
zurückgeben lassen.
Bedenken Sie, dass diese Funktion unter Windows nichts bewirken wird.

Siehe auch:

. link()
. linkinfo()
. symlink()

nach unten nach oben Beispiel

<?PHP
symlink("members.txt","link.txt");
echo readlink("link.txt");
?>

nach unten nach oben Ausgabe

members.txt

Zurück: readfile

Weiter: realpath


Funktionsreferenz / Dateisystem-Funktionen / realpath

Letztes Update der Funktion realpath: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

realpath

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string realpath ( string path )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit realpath() kann man anhand eines Dateipfades (path) einen kanonisch
absoluten Pfadnamen erstellen. Dabei werden alle Zeichen wie "/./" , "/../" oder
"/" beseitigt und der absolute Pfadname zurückgegeben.

nach unten nach oben Beispiel

<?PHP
$real_path = realpath("../index.php");
echo $real_path;
?>

nach unten nach oben Ausgabe

/www/users/index.php

Zurück: readlink

Weiter: rename


Funktionsreferenz / Dateisystem-Funktionen / rename

Letztes Update der Funktion rename: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rename

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool rename ( string oldname, string newname [, resource context] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rename() kann man versuchen, eine Datei (oldname) umzubenennen. Der
neue Name steht im Parameter newname.
Wenn diese Funktion den Namen der Datei ändern konnte, gibt sie true zurück,
sonst false.

nach unten nach oben Beispiel

<?PHP
if(rename("selfphp.htm","selfphp.php"))
  echo "Datei wurde umbenannt";
else
  echo "Datei konnte nicht umbenannt werden";
?>

nach unten nach oben Ausgabe

Datei wurde umbenannt

Zurück: realpath

Weiter: rewind


Funktionsreferenz / Dateisystem-Funktionen / rewind

Letztes Update der Funktion rewind: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rewind

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int rewind ( resource handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rewind() kann man die Position des Dateizeigers auf den Anfang der Datei
(fp) setzen. Es ist darauf zu achten, dass es sich bei fp um einen gültigen
Dateizeiger handeln muss.

Im Erfolgsfall gibt die Funktion true zurück, sonst false.

Siehe auch:

. fseek()
. ftell()

nach unten nach oben Beispiel

<?PHP
$fp = fopen("members.txt","r");
for($x=1;$x<4;$x++){
  echo "$x: ";
  echo fgets($fp,50);
  echo "<br>";
}
for($x=4;$x<7;$x++){
  rewind($fp);
  echo "$x: ";
  echo fgets($fp,50);
  echo "<br>";
}
fclose($fp);
?>

nach unten nach oben Ausgabe

1: Dieser Text wird gespeichert
2:
3:
4: Dieser Text wird gespeichert
5: Dieser Text wird gespeichert
6: Dieser Text wird gespeichert

Zurück: rename

Weiter: set_file_buffer


Funktionsreferenz / Dateisystem-Funktionen / set_file_buffer

Letztes Update der Funktion set_file_buffer: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

set_file_buffer

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int set_file_buffer (int fp, int buffer)

nach unten nach oben Version

(PHP 3 >= 3.0.8, PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit set_file_buffer() kann man einstellen, welche Größe (buffer) bei
Schreibvorgängen in eine Datei (fp) der Puffer haben soll.
Im Erfolgsfall gibt die Funktion den Wert 0 zurück, andernfalls den Wert EOF.
Üblicherweise werden Schreibvorgänge mit 8 KByte gepuffert. Sollten nun zwei
Schreibvorgänge in den gleichen Output-Stream schreiben wollen, so wechseln
sie sich nach jeweils 8 KByte ab. Das können Sie unterbinden, indem Sie die
Pufferung auf 0 KByte setzen. Somit wird erst ein Schreibvorgang beendet, bevor
der andere beginnen kann.

Siehe auch:

. fopen()

nach unten nach oben Beispiel

<?PHP
$text = "Dieser Text wird gespeichert";
$fp = fopen ("members.txt","w");
set_file_buffer($fp, 0);
fputs($fp,$text);
fclose($fp);
?>

nach unten nach oben Ausgabe

// Keine Ausgabe - Text wurde in die Datei geschrieben

Zurück: rewind

Weiter: stat


Funktionsreferenz / Dateisystem-Funktionen / stat

Letztes Update der Funktion stat: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

stat

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array stat ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit stat() kann man sich verschiedene Informationen über eine Datei (filename)
zurückgeben lassen. Im Erfolgsfall gibt diese Funktion die Informationen über
eine Datei in Form eines Arrays zurück, sonst wird false zurückgegeben.
Beachten Sie bitte, dass das Ergebnis zwischengespeichert (siehe clearstatcache)
wird.

Folgende Statistiken werden ausgegeben:

. Gerät
. Inode
. Mode
. Anzahl Links
. User-Id des Besitzers
. Gruppen-Id Besitzers
. Gerätetyp, falls Inode-Gerät.*
. Größe in Bytes
. Zeit des letzten Zugriffs
. Zeit der letzten Modifikation
. Zeit der letzten Änderung
. Blockgröße für Dateisystem I/O *
. Anzahl der Blöcke

*Gibt -1 aus, falls das System (z.B. Windows) nicht den st_blksize
Typ unterstützt.

nach unten nach oben Beispiel

<?PHP
$fp = "members.txt";
$statistik = stat($fp);
while(list($key, $val) = each($statistik)) {
  echo $key . ": " . $val;
  echo "<br>";
}
?>

nach unten nach oben Ausgabe

0: 771
1: 491065
2: 33279
3: 3
4: 0
5: 100
6: 0
7: 28
8: 997556079
9: 997546715
10: 997550109
11: 4096
12: 8

Zurück: set_file_buffer

Weiter: symlink


Funktionsreferenz / Dateisystem-Funktionen / symlink

Letztes Update der Funktion symlink: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

symlink

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int symlink ( string target, string link )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit symlink() kann man einen symbolischen Link (link) auf eine Datei (target)
erstellen. Unter einem Link versteht man einen Verweis auf eine Datei oder ein
Verzeichnis.
Die Funktion gibt im Erfolgsfall eine Geräte-ID zurück, sonst false.
Bedenken Sie, dass diese Funktion unter Windows nichts bewirken wird.

Siehe auch:

. link()
. linkinfo()
. readlink()

nach unten nach oben Beispiel

<?PHP
if(symlink("members.txt","sym_link.txt"))
  echo "Symbolischer Link wurde erstellt";
else
  echo "Symbolischer Link konnte nicht erstellt werden";
?>

nach unten nach oben Ausgabe

Symbolischer Link wurde erstellt

Zurück: stat

Weiter: tempnam


Funktionsreferenz / Dateisystem-Funktionen / tempnam

Letztes Update der Funktion tempnam: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

tempnam

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Unix Beispiel Unix | Springe zu Ausgabe Unix Ausgabe Unix | Springe zu Beispiel Windows2000 Beispiel Windows2000 | Springe zu Ausgabe Windows2000 Ausgabe Windows2000 |

nach unten nach oben Befehl

string tempnam ( string dir, string prefix )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit tempnam() kann man eine eindeutige und einmalige temporäre Datei in dem
Verzeichnis dir erzeugen. Der Name der temporären Datei besteht aus dem
angegebenen Präfix (prefix) und zufälligen Zeichen.

Im unteren Beispiel wurden 6 verschiedene temporäre Dateien angelegt, im ersten
Beispiel unter UNIX, im zweiten Beispiel unter Windows 2000. In die letzte
Datei (UNIX -> tempnameU2I5GI , Windows2000 -> tem1A.tmp) wird ein Satz
geschrieben.

Siehe auch:

. tmpfile()

nach unten nach oben Beispiel Unix

<?php
for($x=0;$x<=5;$x++){
  $tmp_name = tempnam ("tmp", "tempname");
  echo $tmp_name;
  echo "<br>";
}
$str = "Ich stehe in einer temporären Datei";
$tmp_file = fopen($tmp_name,w);
fputs($tmp_file,$str);
fclose($tmp_file);

$fp = fopen($tmp_name,"r");
$str = fgets($fp,50);
fclose($fp);
echo $str;
?>

nach unten nach oben Ausgabe Unix

tmp/tempnameS6htkf
tmp/tempnameaL5WXJ
tmp/tempnameodI7Ie
tmp/tempname2YpBrJ
tmp/tempnamewrEv9d
tmp/tempnameU2I5GI
Ich stehe in einer temporären Datei

nach unten nach oben Beispiel Windows2000

<?php
for($x=0;$x<=5;$x++){
  $tmp_name = tempnam ("tmp", "tempname");
  echo $tmp_name;
  echo "<br>";
}
$str = "Ich stehe in einer temporären Datei";
$tmp_file = fopen($tmp_name,w);
fputs($tmp_file,$str);
fclose($tmp_file);

$fp = fopen($tmp_name,"r");
$str = fgets($fp,50);
fclose($fp);
echo $str;
?>

nach unten nach oben Ausgabe Windows2000

tmp\tem16.tmp
tmp\tem17.tmp
tmp\tem18.tmp
tmp\tem19.tmp
tmp\tem1A.tmp
Ich stehe in einer temporären Datei

Zurück: symlink

Weiter: tmpfile


Funktionsreferenz / Dateisystem-Funktionen / tmpfile

Letztes Update der Funktion tmpfile: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

tmpfile

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource tmpfile ( void )

nach unten nach oben Version

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit tmpfile() kann man eine temporäre Datei im Schreibmodus erstellen. Als
Rückgabewert dieser Funktion erhalten Sie einen Dateizeiger, welchen Sie für
weitere Funktionen benutzen können.
Bedenken Sie, dass die temporäre Datei gelöscht wird, sobald sie mit fclose()
geschlossen oder das Skript beendet wurde.
Temporäre Dateien bieten sich oftmals an, um für kurze Zeit beliebige Daten zu
lagern, welche man danach nicht mehr benötigt.

Siehe auch:

. tempnam()

nach unten nach oben Beispiel

<?php
$str = "Ein temporärer Satz";
$tmp_file = tmpfile();
fputs($tmp_file,$str);
rewind($tmp_file);
$tmp_str = fgets($tmp_file,20);
fclose($tmp_file);
echo $tmp_str;
?>

nach unten nach oben Ausgabe

Ein temporärer Satz

Zurück: tempnam

Weiter: touch


Funktionsreferenz / Dateisystem-Funktionen / touch

Letztes Update der Funktion touch: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

touch

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

int touch ( string filename [, int time [, int atime]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit touch() kann man versuchen, Datum und Uhrzeit der letzten Änderung einer
Datei (filename) zu ändern. Wird der optionale Zeit-Parameter (time) im UNIX-
Timestamp-Format (Beginn der UNIX-Epoche - 01.01.1970 , 0:00:00 GMT)
angegeben, so wird dieses Datum für die Änderung genutzt.
Sollten Sie keinen Wert für die Zeit (time) angeben, so wird mit der Funktion
time() die aktuelle Zeit ermittelt und für die Änderung genommen.
Falls die von Ihnen angegebene Datei nicht existieren sollte, so wird sie angelegt
und mit dem Änderungsdatum versehen.
Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

nach unten nach oben Beispiel 1

<?PHP
$date = time();
$datei = "zukunft.php";
if(touch($datei))
  echo "Datum und Uhrzeit auf " . strftime ("%e.%m.%Y - %R",$date) . " geändert";
else
  echo "Datum und Uhrzeit konnten nicht geändert werden.";
?>

nach unten nach oben Ausgabe 1

Datum und Uhrzeit auf 7.08.2001 - 16:13 geändert

nach unten nach oben Beispiel 2

<?PHP
$date=mktime(12,35,32,12,30,2008); //30.12.2008 - 12:35:32 Uhr
$datei = "zukunft.php";
if(touch($datei,$date))
  echo "Datum und Uhrzeit auf " . strftime ("%e.%m.%Y - %R",$date) . " geändert";
else
  echo "Datum und Uhrzeit konnten nicht geändert werden.";
?>

nach unten nach oben Ausgabe 2

Datum und Uhrzeit auf 30.12.2008 - 12:35 geändert

Zurück: tmpfile

Weiter: umask


Funktionsreferenz / Dateisystem-Funktionen / umask

Letztes Update der Funktion umask: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

umask

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int umask ( [int mask] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit umask() kann man die aktuellen Zugriffsrechte von PHP ändern. Übergeben
Sie dazu im Parameter mask den gewünschten Wert.
Als Ergebnis gibt die Funktion die bisherige umask zurück. Sollten Sie die
Funktion ohne Argument aufrufen, so wird die aktuelle umask zurückgegeben.

nach unten nach oben Beispiel

<?php
echo decoct(umask(0777));
echo "<br>";
echo decoct(umask());
?>

nach unten nach oben Ausgabe

22
777

Zurück: touch

Weiter: unlink


Funktionsreferenz / Dateisystem-Funktionen / unlink

Letztes Update der Funktion unlink: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

unlink

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int unlink ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit unlink() kann man eine Datei (filename) vom Server löschen. Sollte ein
Fehler auftreten, so gibt diese Funktion false zurück. Sie können die interne
Fehlermeldung von PHP unterdrücken, indem Sie der Funktion ein "@"
voranstellen. Somit wird dann nur die eventuell von Ihnen erzeugte
Fehlermeldung ausgegeben.

Siehe auch:

. rmdir()

nach unten nach oben Beispiel

<?PHP
$datei = "statistik_selfphp.txt";
if(@unlink($datei))
  echo "Die Datei $datei wurde gelöscht!";
else
  echo "Konnte die Datei $datei nicht löschen!";
?>

nach unten nach oben Ausgabe

Die Datei statistik_selfphp.txt wurde gelöscht!

Zurück: umask

Weiter: Datums- und Zeit-Funktionen


Funktionsreferenz / Datums- und Zeit-Funktionen / checkdate

Letztes Update der Funktion checkdate: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

checkdate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool checkdate ( int Monat, int Tag, int Jahr )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit checkdate() kann man ein Datum auf Gültigkeit überprüfen.
Ist das Datum gültig, wird true, sonst false zurückgeliefert.

Folgende Kriterien hat ein korrektes Datum zu erfüllen:

. Das Jahr muss zwischen 1 und 32767 liegen
. Der Monat muss zwischen 1 und 12 liegen
. Der Tag muss zwischen 1 und 31 liegen (Schaltjahre werden berücksichtigt)

nach unten nach oben Beispiel

<?PHP
$check1 = checkdate(03,27,1971);
$check2 = checkdate(13,27,1971);
if($check1) echo "27.03.1971 ist ein korrektes Datum.\n";
if(!$check2) echo "27.13.1971 ist ein kein korrektes Datum.";
?>

nach unten nach oben Ausgabe

27.03.1971 ist ein korrektes Datum.
27.13.1971 ist ein kein korrektes Datum.

Zurück: Dateisystem-Funktionen

Weiter: date


Funktionsreferenz / Datums- und Zeit-Funktionen / date

Letztes Update der Funktion date: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

date

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string date ( string Format [, int Timestamp] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit date() kann man eine Zeitangabe formatieren oder auswerten. Die Zeitangabe
übergeben Sie im Parameter timestamp. Lassen Sie diesen Parameter leer, nimmt
die Funktion die aktuelle Zeit.
Der Parameter format ist ein String, der festlegt, welche Informationen über
die Zeitangabe Sie benötigen. In diesem String sind folgende Platzhalter möglich
(*: Ausgabe mit führenden Nullen):

. a - "am" oder "pm"
. A - "AM" oder "PM"
. B - Tage bis Jahresende
. d - Tag des Monats *( 01 - 31 )
. D - Tag der Woche ( Wed - 3stellig)
. F - Monatsangabe (December - ganzes Wort)
. g - Stunde im 12-Stunden-Format (1-12 )
. G - Stunde im 24-Stunden-Format (0-23 )
. h - Stunde im 12-Stunden-Format *(01-12 )
. H - Stunde im 24-Stunden-Format *(00-23 )
. i - Minuten *(00-59)
. I - (großes i) 1 bei Sommerzeit, 0 bei Winterzeit
. j - Tag des Monats (1-31)
. l - (kleines L) ausgeschriebener Wochentag (Monday)
. L - Schaltjahr = 1, kein Schaltjahr = 0
. m - Monat *(01-12)
. n - Monat (1-12)
. M - Monatsangabe (Feb - 3stellig)
. O - Zeitunterschied gegenüber Greenwich (GMT) in Stunden (z.B.: +0100)
. r - Formatiertes Datum (z.B.: Tue, 6 Jul 2004 22:58:15 +0200)
. s - Sekunden *(00 - 59)
. S - Englische Aufzählung (th für 2(second))
. t - Anzahl der Tage des Monats (28 - 31)
. T - Zeitzoneneinstellung des Rechners (z.B. CEST)
. U - Sekunden seit Beginn der UNIX-Epoche (1.1.1970)
. w - Wochentag (0(Sonntag) bis 6(Samstag))
. W - Wochennummer des Jahres (z.B.: 28)
. Y - Jahreszahl, vierstellig (2001)
. y - Jahreszahl, zweistellig (01)
. z - Tag des Jahres (z.B. 148 (entspricht 29.05.2001))
. Z - Offset der Zeitzone gegenüber GTM (-43200 - 43200) in Minuten

Siehe auch:

. gmdate()
. mktime()
. microtime()

nach unten nach oben Beispiel

<?PHP
echo date("d M Y") . "\n";
echo date("Y m d") . "\n";
echo date("d n y") . "\n";
echo date("D, d m Y") . "\n";
echo date("l, d m Y") . "\n";
echo date("l dS of F Y h:i:s A") . "\n";
echo "Dieser Monat hat " . date(t) . " Tage";
?>

nach unten nach oben Ausgabe

06 Jul 2004
2004 07 06
06 7 04
Tue, 06 07 2004
Tuesday, 06 07 2004
Tuesday 06th of July 2004 10:59:43 PM
Dieser Monat hat 31 Tage

Zurück: checkdate

Weiter: getdate


Funktionsreferenz / Datums- und Zeit-Funktionen / getdate

Letztes Update der Funktion getdate: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getdate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array getdate ( [int Timestamp] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getdate() kann man Informationen über eine Zeitangabe ermitteln. Die
Zeitangabe übergeben Sie im Parameter timestamp. Lassen Sie diesen Parameter
leer, nimmt die Funktion die aktuelle Zeit.
Als Funktionsergebnis liefert getdate() ein assoziatives Array zurück, das
folgende Elemente enthält:

. seconds - Sekunden
. minutes - Minuten
. hours - Stunden
. mday - Tag des Monats
. wday - numerischer Tag der Woche
. mon - numerische Monatsangabe
. year - numerische Jahresangabe
. yday - Tag des Jahres (z.B. 148 (entspricht 29.05.2001))
. weekday - Wochentag ( z.B Monday )
. month - Monatsname ( z.B. December )
. 0(Null) - Vergangene Sekunden seit der Unix-Epoche (z.B.: 1089147790)

Siehe auch:

. date()
. time()
. setlocale()

nach unten nach oben Beispiel

<?PHP
$zeit = time(); // Aktuelle Zeit in Sekunden
$datum = getdate($zeit);
echo $datum[seconds] . "\n";
echo $datum[minutes] . "\n";
echo $datum[hours] . "\n";
echo $datum[mday] . "\n";
echo $datum[wday] . "\n";
echo $datum[mon] . "\n";
echo $datum[year] . "\n";
echo $datum[yday] . "\n";
echo $datum[weekday] . "\n";
echo $datum[month] . "\n";
echo $datum[0] . "\n";
?>

nach unten nach oben Ausgabe

10
3
23
6
2
7
2004
187
Tuesday
July
1089147790

Zurück: date

Weiter: gettimeofday


Funktionsreferenz / Datums- und Zeit-Funktionen / gettimeofday

Letztes Update der Funktion gettimeofday: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

gettimeofday

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array gettimeofday ( void )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit gettimeofday() kann man sich die aktuelle Zeit zurückgeben lassen. Als
Funktionsergebnis liefert gettimeofday() ein assoziatives Array zurück, das
folgende Elemente enthält:

. sec - Sekunden
. usec - Mikrosekunden
. minuteswest - Minuten westlich von Greenwich Mean Time
. dsttime - Korrektur durch Sommerzeit

nach unten nach oben Beispiel

<?PHP
print_r(gettimeofday());
?>

nach unten nach oben Ausgabe

Array
(
    [sec] => 1089148035
    [usec] => 81529
    [minuteswest] => -60
    [dsttime] => 1
)

Zurück: getdate

Weiter: gmdate


Funktionsreferenz / Datums- und Zeit-Funktionen / gmdate

Letztes Update der Funktion gmdate: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

gmdate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string gmdate ( string Format [, int Timestamp] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit gmdate() kann man sich eine GMT-Zeitangabe formatieren und auswerten lassen.
Die Funktion entspricht der Funktion date(), aber mit einem gravierenden
Unterschied: Sie gibt nicht Informtationen über die Ortszeit zurück, sondern
über die entsprechende GMT-Zeit.
Steht der Server in Deutschland (GMT + 01:00), wird als Zeitangabe Greenwich
Mean Time zurückgegeben, also die Ortszeit minus einer Stunde.

Siehe auch:

. date()
. mktime()
. gmmktime()
. strftime()

nach unten nach oben Beispiel

<?PHP
echo date("M d Y H:i:s", mktime(0,0,0,1,1,1998)) ."\n";
echo gmdate("M d Y H:i:s", mktime(0,0,0,1,1,1998))."\n";
echo gmdate("M d Y H:i:s", time());
?>

nach unten nach oben Ausgabe

Jan 01 1998 00:00:00
Dec 31 1997 23:00:00
Jul 06 2004 21:09:12

Zurück: gettimeofday

Weiter: gmmktime


Funktionsreferenz / Datums- und Zeit-Funktionen / gmmktime

Letztes Update der Funktion gmmktime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

gmmktime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int gmmktime ( [int Stunde [, int Minute [, int Sekunde [, int Monat [, int Tag [, int Jahr [, int is_dst]]]]]]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit der Funktion gmmktime() kann man sich den UNIX-Timestamp für eine bestimmte
Uhrzeit und ein bestimmtes Datum zurückgeben lassen. Die übergebenen Datums-
(Monat, Tag, Jahr) und Zeitangaben (Stunde, Minute, Sekunde) werden als GMT-
Zeit (Greenwich Mean Time) interpretiert.
Sie können alle Parameter von rechts nach links weglassen, die Funktion ersetzt
die fehlenden Werte durch die entsprechenden Werte der aktuellen Ortszeit. Mit
dem optionalen Parameter is_dst können Sie festlegen, ob die übergebenen Datums-
und Zeitwerte in der Sommerzeit angegeben sind.

Folgende Werte sind möglich:

. 1 - Angaben erfolgten als Sommerzeit
. 0 - Angaben erfolgten als Winter-/Normalzeit
. -1 - unbekannt (Voreinstellung verwenden)

Siehe auch:

. mktime()

nach unten nach oben Beispiel

<?PHP
echo mktime(8,30,55,5,29,2004) . "\n";
echo gmmktime(8,30,55,5,29,2004);
?>

nach unten nach oben Ausgabe

1085812255
1085819455

Zurück: gmdate

Weiter: gmstrftime


Funktionsreferenz / Datums- und Zeit-Funktionen / gmstrftime

Letztes Update der Funktion gmstrftime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

gmstrftime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string gmstrftime ( string Format [, int Timestamp] )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion gmstrftime() bewirkt das Gleiche wie strftime(), aber mit einem
gravierenden Unterschied: gmstrftime() liefert ihre Ergebnisse als GMT-Zeit
(Greenwich Mean Time) zurück.

Siehe auch:

. strftime()
. microtime()
. time()

nach unten nach oben Beispiel

<?PHP
echo strftime ("%b %d %Y %H:%M:%S", mktime(0,0,0,12,31,04));
echo "\n";
echo gmstrftime ("%b %d %Y %H:%M:%S", mktime(0,0,0,12,31,04));
echo "\n";
echo gmstrftime ("%b %d %Y %H:%M:%S", time());
?>

nach unten nach oben Ausgabe

Dec 31 2004 00:00:00
Dec 30 2004 23:00:00
Jul 06 2004 21:16:48

Zurück: gmmktime

Weiter: localtime


Funktionsreferenz / Datums- und Zeit-Funktionen / Übersicht Datums- und Zeit-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datums- und Zeit-Funktionen

Auf den folgenden Seiten werden die Datums- und Zeit-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Datum- und Zeitfunktionen": Praxisbuch öffnen

Die hier gelisteten Datums- und Zeit-Funktionen bestehen aus folgenden Seiten:

checkdate
date
getdate
gettimeofday
gmdate
gmmktime
gmstrftime
localtime
microtime
mktime
strftime
strtotime
time


Funktionsreferenz / Datums- und Zeit-Funktionen / localtime

Letztes Update der Funktion localtime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

localtime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array localtime ( [int Timestamp [, bool is_associative]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dem Befehl localtime() kann man sich ein Array liefern lassen, das
Informationen über die angegebene Zeit enthält. Die Zeitangabe, über die Sie
Informationen benötigen, übergeben Sie als UNIX-Zeitstempel im Parameter
timestamp. Lassen Sie diesen Parameter leer, nimmt die Funktion die
aktuelle Zeit.
Mit dem optionalen Parameter is_associative können Sie festlegen, was
für ein Array Sie als Funktionsergebnis erhalten möchten: Übergeben Sie den
Wert 0, liefert die Funktion ein numerisch indiziertes Array (das ist auch die
Voreinstellung); übergeben Sie den Wert 1, liefert die Funktion ein
assoziatives Array. Das Array, das die Funktion als Ergebnis zurückgibt,
enthält folgende Elemente:

. "tm_sec" - Sekunde
. "tm_min" - Minute
. "tm_hour" - Stunde
. "tm_mday" - Tag des Monats
. "tm_mon" - Monat des Jahres
. "tm_year" - Jahre seit 1900
. "tm_wday" - Tag der Woche
. "tm_yday" - Tag des Jahres
. "tm_isdst" - Sommerzeit 1 / Winterzeit 0

Siehe auch:

. microtime()

nach unten nach oben Beispiel

<?PHP
$br = "\n";
$zeit = localtime(time() , 1);
echo "Sekunden: " . $zeit[tm_sec] . $br;
echo "Minuten: " . $zeit[tm_min] . $br;
echo "Stunden: " . $zeit[tm_hour] . $br;
echo "Tag des Monats: " . $zeit[tm_mday] . $br;
echo "Monat des Jahres: " . $zeit[tm_mon] . $br;
echo "Jahr(nicht Y2K sicher): " . $zeit[tm_year] . $br;
echo "Tag der Woche: " . $zeit[tm_wday] . $br;
echo "Tag des Jahres: " . $zeit[tm_yday] . $br;
echo "Sommerzeit: " . $zeit[tm_isdst] . $br;
echo $br;
print_r(localtime());
?>

nach unten nach oben Ausgabe

Sekunden: 8
Minuten: 20
Stunden: 23
Tag des Monats: 6
Monat des Jahres: 6
Jahr(nicht Y2K sicher): 104
Tag der Woche: 2
Tag des Jahres: 187
Sommerzeit: 1

Array
(
[0] => 8
[1] => 20
[2] => 23
[3] => 6
[4] => 6
[5] => 104
[6] => 2
[7] => 187
[8] => 1
)

Zurück: gmstrftime

Weiter: microtime


Funktionsreferenz / Datums- und Zeit-Funktionen / microtime

Letztes Update der Funktion microtime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

microtime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed microtime ( [bool get_as_float] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Der Befehl microtime() gibt die aktuelle Uhrzeit als Zeichenkette in der Form
"Mikrosekunden Sekunden" zurück. Dabei ist "Sekunden" die Anzahl der vollen
Sekunden seit Beginn der UNIX-Epoche (0:00:00, 1. Januar 1970 GMT) und
"Mikrosekunden" der Bruchteil der laufenden Sekunde, den Sie zu den vollen
Sekunden addieren müssen, um die aktuelle Zeit zu erhalten. Die beiden Werte im
Ergebnisstring sind durch ein Leerzeichen getrennt. Die Funktion microtime() ist
nur auf Systemen möglich, welche auch den Aufruf gettimeofday() unterstützen.
Der optionale Parameter get_as_float bewirkt, das die Ausgabe der verstrichenen
Zeit bereits als Float vorvormatiert wird. Bitte beachten Sie, das dieser
optionale Parameter erst ab PHP 5.0.0 implementiert ist

Siehe auch:

. time()

nach unten nach oben Beispiel

<?PHP
echo microtime() . "\n";
echo microtime(1) . "\n";
?>

nach unten nach oben Ausgabe

0.31853500 1089149107
1089149107.34

Zurück: localtime

Weiter: mktime


Funktionsreferenz / Datums- und Zeit-Funktionen / mktime

Letztes Update der Funktion mktime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mktime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mktime ( [int Stunde [, int Minute [, int Sekunde [, int Monat [, int Tag [, int Jahr [, int is_dst]]]]]]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mktime() kann man sich den UNIX-Timestamp für eine bestimmte Uhrzeit und
ein bestimmtes Datum zurückgeben lassen. Die übergebenen Datums- (Monat, Tag,
Jahr) und Zeitangaben (Stunde, Minute, Sekunde) werden als Ortszeit
interpretiert.
Sie können alle Parameter von rechts nach links weglassen, die Funktion ersetzt
die fehlenden Werte durch die entsprechenden Werte der aktuellen Ortszeit.
Mit dem optionalen Parameter is_dst können Sie festlegen, ob die übergebenen
Datums- und Zeitwerte in der Sommerzeit angegeben sind.

Folgende Werte sind möglich:

. 1 - Angaben erfolgten als Sommerzeit
. 0 - Angaben erfolgten als Winter-/Normalzeit
. -1 - unbekannt (Voreinstellung verwenden)

Siehe auch:

. date()
. time()

nach unten nach oben Beispiel

<?PHP
echo date("M-d-Y", mktime(0,0,0,12,32,2003)) . "\n";
echo date("M-d-Y", mktime(0,0,0,13,1,2003)) . "\n";
echo date("M-d-Y", mktime(0,0,0,1,1,2004)) . "\n";
echo date("M-d-Y", mktime(0,0,0,1,1,04)) . "\n";
echo mktime(8,30,0,5,29,2004)." - ";
echo date("d. F Y", mktime(0,0,0,5,29,2004));
?>

nach unten nach oben Ausgabe

Jan-01-2004
Jan-01-2004
Jan-01-2004
Jan-01-2004
1085812200 - 29. May 2004

Zurück: microtime

Weiter: strftime


Funktionsreferenz / Datums- und Zeit-Funktionen / strftime

Letztes Update der Funktion strftime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strftime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strftime ( string format [, int Timestamp] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strftime() formatiert man eine Zeitangabe (timestamp) entsprechend den
lokalen Spracheinstellungen. Die Zeitangabe übergeben Sie als UNIX-Zeitstempel
im Parameter timestamp. Lassen Sie diesen Parameter leer, nimmt die Funktion
die aktuelle Ortszeit.
Im Parameter format übergeben Sie einen Formatstring, der festlegt, welche
Werte der Ergebnisstring enthalten soll.

Die folgenden Platzhalter in diesem Formatstring ersetzt die Funktion durch die
entsprechenden Datums- und Zeitangaben:

. %a - abgekürzter Wochentag (z.B. Sun)
. %A - ungekürzter Wochentag (z.B. Sunday)
. %b - abgekürzter Monatsname(z.B. Jul)
. %B - ungekürzter Monatsname (z.B. July)
. %c - Datums- und Zeitangabe (z.B. Sun Jul 1 12:13:46 2001)
. %C - Ausgabe des Jahrhunderts (z. B. 20), mögliche Werte sind 00 bis 99.
. %d - aktueller Tag des Monats, mögliche Werte sind 01 bis 31.
. %D - Ausgabe des aktuellen Datums (z.B. 07/01/01) in der Reihenfolge
Monat/Tag/Jahr
. %e - aktueller Tag des Monats als Dezimalwert, bei einstelligen Werten
wird ein Leerzeichen vorangestellt
. %h - abgekürzter Monatsname(z.B. Jul)
. %H - aktuelle Stunde im 24-Stunden-Format (z.B. 13), mögliche Werte sind
00 bis 23
. %I - aktuelle Stunde im 12-Stunden-Format (z.B. 01), mögliche Werte sind
01 bis 12
. %j - aktueller Tag des Jahres als Zahlenwert (z.B. 182), mögliche Werte
sind 001 bis 366
. %m - aktueller Monat des Jahres als Zahlenwert (z.B. 07), mögliche Werte
sind 01 bis 12
. %M - aktuelle Minute der laufenden Stunde (z.B. 40), mögliche Werte sind
00 bis 59
. %n - neue Zeile
. %p - Ausgabe der Tageszeit (z.B. PM), mögliche Werte sind AM oder PM
. %r - aktuelle Zeit mit Tageszeitangabe ( z.B. 02:51:03 PM)
. %R - aktuelle Zeit im 24-Stunden-Format (z.B. 14:52)
. %S - aktuelle Sekunden der laufenden Minute (z.B. 42), mögliche Werte
sind 00 bis 59
. %t - Tabulator (z.B a a), erzwingt einen Leerraum zwischen zwei
Werten.
. %T - aktuelle Zeit im 24-Stunden-Format (z.B. 15:03:47)
. %u - aktueller Tag der laufenden Woche als Zahlenwert (z.B. 7), mögliche
Werte sind 1 bis 7 (1=Montag, 7=Sonntag)
. %U - aktuelle Woche des Jahres als Zahlenwert ( z.B. 26), beginnend mit
dem ersten Sonntag als ersten Tag der ersten Woche. Mögliche Werte
sind 00 - 53
. %V - aktuelle Woche des Jahres als Zahlenwert ( z.B. 26). Die erste Woche
muss dabei allerdings mindestens 4 Tage haben (die Woche beginnt bei
Montag) mögliche Werte sind 00 - 53
. %w - aktueller Wochentag als Zahlenwert (z.B. 0), mögliche Werte sind 0
bis 7 (Sonntag ist 0)
. %W - aktuelle Woche des Jahres als Zahlenwert (z.B. 26), mögliche Werte
sind 00 bis 53, beginnend mit dem ersten Montag der ersten Woche
. %x - aktuelles Datum (z.B. 07/01/01)
. %X - aktuelle Zeit (z.B. 15:00:10)
. %y - aktuelles Jahr als zweistelliger Zahlenwert (z.B. 01), mögliche Werte
sind 00 bis 99
. %Y - aktuelles Jahr als vierstelliger Zahlenwert (z.B. 2001)
. %Z - aktuelle Zeitzone (z.B. CEST)
. %% - Ausgabe des Zeichens %

Siehe auch:

. setlocale()
. mktime()
. microtime()

nach unten nach oben Beispiel

<?PHP
echo strftime("%A, %d-%m-%Y %R") . "\n";
echo strftime("%A, %d-%m-%Y %R", time());
?>

nach unten nach oben Ausgabe

Tuesday, 06-07-2004
Tuesday, 06-07-2004

Zurück: mktime

Weiter: strtotime


Funktionsreferenz / Datums- und Zeit-Funktionen / strtotime

Letztes Update der Funktion strtotime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strtotime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strtotime ( string time [, int now] )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strtotime() kann man sich eine Datums-/Zeitangabe (time) in einen UNIX-
Timestamp umwandeln lassen. Die Zeitangabe kann ein konkretes Datum enthalten,
das Wort "now" für die aktuelle Zeit oder Zeitoffsets (z.B. "+2 day", liefert
den Zeitstempel für dieselbe Uhrzeit übermorgen). Wichtig ist dabei, dass die
Angaben in englischer Sprache formuliert sein müsssen. Versucht man z.B mit der
deutschen Schreibweise den Befehl auszuführen, kommt es zu einem Fehler. Wenn
die Funktion auf ungültige Angaben stößt, liefert sie den Wert -1 zurück.

Der optionale Parameter now ist nur sinnvoll, wenn Sie in time einen Zeitoffset
angeben. In diesem Fall können Sie im Parameter now den Zeitstempel übergeben,
von dem aus die Funktion den Zeitoffset berechnen soll. Lassen Sie den Parameter
now weg, nimmt die Funktion die aktuelle Zeit als Basis.

nach unten nach oben Beispiel

<?PHP
echo strtotime("now") . "\n";
echo strtotime("nun") . "\n";
echo strtotime("22 December 2001") . "\n";
echo strtotime("22 Dezember 2001") . "\n";
echo strtotime("+2 day") . "\n";
echo strtotime("+2 tag") . "\n";
echo strtotime("+2 week") . "\n";
echo strtotime("+2 woche") . "\n";
echo strtotime("+2 week 3 days 4 hours 5 seconds") . "\n";
echo strtotime("+2 woche 3 tage 4 stunden 5 sekunden") . "\n";
?>

nach unten nach oben Ausgabe

1089149853
-1
1008975600
-1
1089322653
-1
1090359453
-1
1090633058
-1

Zurück: strftime

Weiter: time


Funktionsreferenz / Datums- und Zeit-Funktionen / time

Letztes Update der Funktion time: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

time

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int time ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit time() kann man sich den aktuellen UNIX-Zeitstempel zurückgeben lassen.
Dieser Zeitstempel enthält die Anzahl der Sekunden seit Beginn der Unix-Epoche
(01.01.1970 um 00:00:00 Uhr).

Siehe auch:

. date()

nach unten nach oben Beispiel

<?PHP
echo time();
?>

nach unten nach oben Ausgabe

1089149984

Zurück: strtotime

Weiter: Functions-Funktionen


Funktionsreferenz / Functions-Funktionen / call_user_func

Letztes Update der Funktion call_user_func: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

call_user_func

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed call_user_func ( string function_name [, mixed parameter [, mixed ...]] )

nach unten nach oben Version

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit call_user_func() kann man eine benutzerdefinierte Funktion aufrufen. Als
erster Parameter für diese Funktion ist der Name der aufzurufenden Funktion
anzugeben (function_name).
Mit den optionalen Parametern (parameter usw.) kann man Werte an die Funktion
übergeben. Sollten Sie mehr als einen Wert an die Funktion übergeben wollen, so
trennen Sie diese durch jeweils ein Komma: call_user_func(»zahlen«,1,2,3,4,5,6).
Als Ergebnis liefert call_user_func() den Rückgabewert der aufgerufenen
Funktion.

nach unten nach oben Beispiel

<?PHP
function zahlen($zahl){
    if(($zahl % 2) == 1)
        echo $zahl . " ist eine ungerade Zahl\n";
    if(($zahl % 2) == 0)
        echo $zahl . " ist eine gerade Zahl\n";
}

for($x=1;$x<=6;$x++){
    call_user_func("zahlen",$x);
}
?>

nach unten nach oben Ausgabe

1 ist eine ungerade Zahl
2 ist eine gerade Zahl
3 ist eine ungerade Zahl
4 ist eine gerade Zahl
5 ist eine ungerade Zahl
6 ist eine gerade Zahl

Zurück: Datums- und Zeit-Funktionen

Weiter: call_user_func_array


Funktionsreferenz / Functions-Funktionen / call_user_func_array

Letztes Update der Funktion call_user_func_array: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

call_user_func_array

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed call_user_func_array ( callback function, array param_arr )

nach unten nach oben Version

(PHP 4 >= 4.0.4, PHP 5)

nach unten nach oben Beschreibung

Mit call_user_func_array() kann man eine benutzerdefinierte Funktion
(function_name) aufrufen. Dieser benutzerdefinierten Funktion wird das Array
paramarr als Argument übergeben.
Als Ergebnis liefert call_user_func_array() den Rückgabewert der aufgerufenen
Funktion.

Siehe auch:

. call_user_func()

nach unten nach oben Beispiel

<?PHP
$_POST['name'] = 'Enseleit';
$_POST['vorname'] = 'Damir';
$_POST['homepage'] = 'SELFPHP';

function debug($var, $val)
{
    echo "*** " . $var . " ***\n";
    echo "Datum: " . date("m.d.Y") . "\n";
    echo "Uhrzeit: " .  date("H:i:s") . "\n";
    if (is_array($val) || is_object($val) || is_resource($val)) {
        print_r($val);
    } else {
        echo "\n" . $val . "\n";
    }
    echo "***\n\n";
}

call_user_func_array('debug', array("Formulardaten", $_POST));
?>

nach unten nach oben Ausgabe

*** Formulardaten ***
Datum: 07.06.2004
Uhrzeit: 21:51:56
Array
(
    [name] => Enseleit
    [vorname] => Damir
    [homepage] => SELFPHP
)
***

Zurück: call_user_func

Weiter: create_function


Funktionsreferenz / Functions-Funktionen / create_function

Letztes Update der Funktion create_function: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

create_function

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string create_function ( string args, string code )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit create_function() können Sie eine temporäre Funktion erstellen, in der Sie
normalen PHP-Code ausführen lassen können. Der Parameter args enthält die
Parameterliste der temporären Funktion, der Parameter code den Programmcode
(beide als String in einfachen Anführungszeichen). Aus diesen Daten wird eine
temporäre Funktion erstellt, welcher ein eindeutiger Name zugewiesen wird.
Diesen Funktionsnamen gibt create_function() als Ergebnis zurück.
Die Funktion ist sehr empfehlenswert, wenn man dynamisch zur Laufzeit eine
Funktion generieren möchte, etwa weil bestimmte Teile des Codes aus
Benutzereingaben generiert werden müssen.
Im unteren Beispiel wurde mit array_walk() jedes Element des Arrays an die
temporäre (anonyme) Funktion übergeben. Innerhalb der Funktion wurde der Wert
mit der bisherigen Gesamtsumme addiert und mittels der Funktion number_format()
formatiert.

nach unten nach oben Beispiel

<?PHP
$array = array(2120.789,
               4300,
               5980.23,
               6359.00,
               123.89,
               1380.3213,
               2345);
$name = array_walk($array, create_function
    ('&$c','global $d;$c = "$d + $c  = " . number_format(($d +=  $c),2,",",".");'));

for($x=0;$x<count($array);$x++){
    echo "Addiere: $array[$x]";
    echo "\n";
}
?>

nach unten nach oben Ausgabe

Berechnung: + 2120.789 = 2.120,79
Berechnung: 2120.789 + 4300 = 6.420,79
Berechnung: 6420.789 + 5980.23 = 12.401,02
Berechnung: 12401.019 + 6359 = 18.760,02
Berechnung: 18760.019 + 123.89 = 18.883,91
Berechnung: 18883.909 + 1380.3213 = 20.264,23
Berechnung: 20264.2303 + 2345 = 22.609,23

Zurück: call_user_func_array

Weiter: function_exists


Funktionsreferenz / Functions-Funktionen / function_exists

Letztes Update der Funktion function_exists: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

function_exists

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool function_exists ( string function_name )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit function_exists() kann man überprüfen, ob eine Funktion (function_name)
vorhanden ist.
Wenn die Funktion existiert, gibt function_exists() true, sonst false zurück.

nach unten nach oben Beispiel

<?PHP
$array = array("einkauf","warenkorb","verkauf");
function warenkorb(){
//
// Programmcode
//
}
for($x=0;$x<count($array);$x++){
if(function_exists($array[$x]))
echo "function " . $array[$x] . "() ist existent\n";
else
echo "function " . $array[$x] ."() ist nicht existent\n";
}
?>

nach unten nach oben Ausgabe

function einkauf() ist nicht existent
function warenkorb() ist existent
function verkauf() ist nicht existent

Zurück: create_function

Weiter: func_get_arg


Funktionsreferenz / Functions-Funktionen / func_get_arg

Letztes Update der Funktion func_get_arg: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

func_get_arg

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int func_get_arg ( int arg_num )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit func_get_arc() kann man sich den Wert eines Arguments zurückgeben lassen,
der an die aktuelle Funktion übergeben wurde. Der Parameter arg_num gibt den
Index des gewünschten Arguments an (das erste Argument hat den Index 0). Sie
sollten darauf achten, dass arg_num kleiner sein muss als die Anzahl der
Argumente.
Dabei ist darauf zu achten, dass diese Funktion nur innerhalb einer Funktion
verwendet wird, da es sonst zu einer Fehlermeldung kommt.

Siehe auch:

. func_num_args()
. func_get_args()

nach unten nach oben Beispiel

<?PHP
function mache_was() {
$menge = func_num_args();
for($x=0;$x<$menge;$x++){
echo $wert . " + " . func_get_arg($x) .
" = " . $wert += func_get_arg($x);
echo "\n";
}
}
mache_was(12,23,44,26,56,99,45,34,78);
?>

nach unten nach oben Ausgabe

+ 12 = 12
12 + 23 = 35
35 + 44 = 79
79 + 26 = 105
105 + 56 = 161
161 + 99 = 260
260 + 45 = 305
305 + 34 = 339
339 + 78 = 417

Zurück: function_exists

Weiter: func_get_args


Funktionsreferenz / Functions-Funktionen / func_get_args

Letztes Update der Funktion func_get_args: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

func_get_args

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array func_get_args ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit func_get_args() kann man sich ein Array zurückgeben lassen, das als
Elemente sämtliche Argumente enthält, mit denen die aktuelle Funktion
aufgerufen wurde.
Dabei ist darauf zu achten, dass diese Funktion nur innerhalb
einer Funktion verwendet wird, da es sonst zu einer Fehlermeldung kommt.

Siehe auch:

. func_num_args()
. func_get_arg()

nach unten nach oben Beispiel

<?PHP
function mache_was() {
    if(empty($wert))
        $wert = 1;
    $array = func_get_args();
    for($x=0;$x<count($array);$x++){
        echo $wert  . " * " . $array[$x] . " = "
            . $wert *= $array[$x];
        echo "\n";
    }
}
mache_was(2,4,6,8,10,12);
?>

nach unten nach oben Ausgabe

1 * 2 = 2
2 * 4 = 8
8 * 6 = 48
48 * 8 = 384
384 * 10 = 3840
3840 * 12 = 46080

Zurück: func_get_arg

Weiter: func_num_args


Funktionsreferenz / Functions-Funktionen / func_num_args

Letztes Update der Funktion func_num_args: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

func_num_args

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int func_num_args ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit func_num_args() kann man sich die Anzahl der Argumente zurückgeben lassen,
mit denen die aktuelle Funktion aufgerufen wurde.
Dabei ist darauf zu achten, dass diese Funktion nur innerhalb einer Funktion
verwendet wird, da es sonst zu einer Fehlermeldung kommt.

Siehe auch:

. func_get_arg()
. func_get_args()

nach unten nach oben Beispiel

<?PHP
function mache_was() {
    echo "Es wurden " . func_num_args() . " Werte
    an die Funktion übergeben:\n";
    for($x=0;$x< func_num_args(); $x++){
        echo "Platzierung $x: " . func_get_arg($x);
        echo "\n";
    }
}
mache_was(12,23,44,26,56,99,45,34,78);
?>

nach unten nach oben Ausgabe

Es wurden 9 Werte an die Funktion übergeben:
Platzierung 0: 12
Platzierung 1: 23
Platzierung 2: 44
Platzierung 3: 26
Platzierung 4: 56
Platzierung 5: 99
Platzierung 6: 45
Platzierung 7: 34
Platzierung 8: 78

Zurück: func_get_args

Weiter: get_defined_functions


Funktionsreferenz / Functions-Funktionen / get_defined_functions

Letztes Update der Funktion get_defined_functions: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_defined_functions

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_defined_functions ( void )

nach unten nach oben Version

(PHP 4 >= 4.0.4, PHP 5)

nach unten nach oben Beschreibung

Mit get_defined_functions() kann man sich eine Liste aller definierten
Funktionen zurückgeben lassen. Als Rückgabewert der Funktion erhalten Sie ein
mehrdimensionales Array, welches die internen und benutzerdefinierten
Funktionen enthält.

Auf das Array können Sie zugreifen mit:

. $array["internal"] - Enthält die internen Funktionen
. $array["user"] - Enthält die benutzerdefinierten Funktionen

Siehe auch:

. get_defined_vars()

nach unten nach oben Beispiel

<?PHP
function meine_erste_funktion(){
}
function meine_zweite_funktion(){
}
$arr = get_defined_functions();
print_r($arr);
?>

nach unten nach oben Ausgabe

Achtung: Auf Grund der Übersichtlichkeit werden hier nicht alle Funktionen von [internal] aufgelistet.

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            .
            .
            .
            [740] => gzinflate
            [741] => gzencode
            [742] => ob_gzhandler
            .
            .
            .
        )
[user] => Array
    (
        [0] => meine_erste_funktion
        [1] => meine_zweite_funktion
    )

Zurück: func_num_args

Weiter: register_shutdown_function


Funktionsreferenz / Functions-Funktionen / Übersicht Functions-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Functions-Funktionen

Auf den folgenden Seiten werden die Functions-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Funktionen und Prozeduren": Praxisbuch öffnen

Die hier gelisteten Functions-Funktionen bestehen aus folgenden Seiten:

call_user_func
call_user_func_array
create_function
function_exists
func_get_arg
func_get_args
func_num_args
get_defined_functions
register_shutdown_function


Funktionsreferenz / Functions-Funktionen / register_shutdown_function

Letztes Update der Funktion register_shutdown_function: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

register_shutdown_function

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Inhalt der Datei zert.txt (zu Bsp. 1) Inhalt der Datei zert.txt (zu Bsp. 1) | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 | Springe zu Inhalt der Datei zert.txt (zu Bsp. 2) Inhalt der Datei zert.txt (zu Bsp. 2) |

nach unten nach oben Befehl

int register_shutdown_function ( string func )

nach unten nach oben Version

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit register_shutdown_function() registriert man eine Funktion (func), welche
bei Beendigung des Skripts (normal oder durch Abbruch) noch ausgeführt wird. Es
ist darauf zu achten, dass innerhalb der Funktion nicht mit "echo" oder "print"
gearbeitet wird, da bei einem Abbruch keine Daten mehr an den Browser gesendet
werden.
Diese Funktion ist oftmals sehr nützlich, um Datenverluste zu vermeiden und
wichtige Informationen noch abspeichern zu können.

Siehe auch:

. connection_aborted()
. connection_status()
. connection_timeout()
. ignore_user_abort()

Zu Beispiel 1:
Bei dem Beispiel wurde ein kleiner Countdown realisiert, welcher im
Sekundenabstand von 1-5 zählt. Nach der Ausgabe der Zahl 3 wurde mit Hilfe des
STOP-Buttons des Browser das aktuelle Skript abgebrochen (siehe Ausgabe). Der
Inhalt der Datei zert.txt enthält deshalb nur die Zahlen 1-4, die Zahl 5 fehlt.

Zu Beispiel 2:
Bei dem Beispiel wurde derselbe Countdown realisiert, welcher im
Sekundenabstand von 1-5 zählt. Nach der Ausgabe der Zahl 2 wurde mit Hilfe des
STOP-Buttons des Browser das aktuelle Skript abgebrochen (siehe Ausgabe).
Dennoch lief im Hintergrund (für den User nicht sichtbar) das Skript weiter und
schrieb alle Zahlen (1-5) in die Datei (siehe Inhalt der Datei zert.txt).

nach unten nach oben Beispiel 1

<?PHP
echo "Ein simpler Countdown<br>";
function countdown(){
    for($x=1;$x<=5;$x++){
        $fp = fopen('zert.txt','a');
        flush();
        usleep(1000000);
        echo $x . "<br>";
        $zahlen = $x;
        fwrite($fp,$zahlen);
        fclose($fp);
    }
}
countdown();
?>

nach unten nach oben Ausgabe 1

Ein simpler Countdown
1
2
3

nach unten nach oben Inhalt der Datei zert.txt (zu Bsp. 1)

1234

nach unten nach oben Beispiel 2

<?PHP
register_shutdown_function('countdown');
ignore_user_abort();
echo "Ein simpler Countdown<br>";
function countdown(){
    for($x=1;$x<=5;$x++){
        $fp = fopen('zert.txt','a');
        flush();
        usleep(1000000);
        echo $x . "<br>";
        $zahlen = $x;
        fwrite($fp,$zahlen);
        fclose($fp);
    }
}
countdown();
?>

nach unten nach oben Ausgabe 2

Ein simpler Countdown
1
2

nach unten nach oben Inhalt der Datei zert.txt (zu Bsp. 2)

12345

Zurück: get_defined_functions

Weiter: Image-Funktionen


Funktionsreferenz / Image-Funktionen / getimagesize

Letztes Update der Funktion getimagesize: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getimagesize

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array getimagesize ( string filename [, array imageinfo] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getimagesize() kann man verschiedene Informationen über ein Bild
(filename) ermitteln. Dieser Befehl benötigt nicht die GD-Bibliothek.
Das Ergebnis wird in einem Array zurückgegeben, das folgende Informationen
enthält:
. Breite des Bildes
. Höhe des Bildes
. Grafik-Typ - 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF
. HTML-Zeichenkette - "height=xx width=xx"

Wenn Sie im optionalen Parameter imageinfo ein Array übergeben, trägt die
Funktion bei einigen Grafiktypen zusätzliche Daten in dieses Array ein, z.B.
Dateiinformationen bei JPEG-Bildern.

nach unten nach oben Beispiel

<?PHP
$bild = "php3_4.gif";
$info = getimagesize($bild);
echo "Bildbreite: " . $info[0];
echo "<br>";
echo "Bildhöhe: " . $info[1];
echo "<br>";
echo "Grafik-Typ: " . $info[2];
echo "<br>";
echo "HTML-Zeichenkette: " . $info[3];
?>

nach unten nach oben Ausgabe

Bildbreite: 150
Bildhöhe: 50
Grafik-Typ: 1
HTML-Zeichenkette: width="150" height="50"

Zurück: Functions-Funktionen

Weiter: imagearc


Funktionsreferenz / Image-Funktionen / imagearc

Letztes Update der Funktion imagearc: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagearc

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagearc ( resource im, int cx, int cy, int w, int h, int s, int e, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagearc() kann man eine Teil-Ellipse zeichnen. Dabei wird auf einer
vorgegebenen Fläche (im), welche mit imagecreate() erzeugt wurde, eine Ellipse
mit dem Mittelpunkt cx und cy erstellt. Die Ellipse hat dabei die Breite w und
Höhe h und beginnt mit dem Startwinkel s im Uhrzeigersinn bis zum Endwinkel e.
Die Farbe der Ellipse wird mit col bestimmt.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body = imagecolorallocate($image,243,243,243);
$farbe_ellipse= imagecolorallocate($image,10,36,106);
imagearc($image,150,60,200,100,0,180,$farbe_ellipse);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: getimagesize

Weiter: imagechar


Funktionsreferenz / Image-Funktionen / imagechar

Letztes Update der Funktion imagechar: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagechar

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagechar ( resource im, int font, int x, int y, string c, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagechar() kann man ein Zeichen (c) in die Grafik ausgeben. Dabei wird auf
einer vorgegebenen Fläche (im), welche mit imagecreate() erzeugt wurde, ein
Zeichen (c) gezeichnet. Mit den Werten x und y bestimmt man die Koordinaten
(linke obere Ecke des Buchstabens) des Zeichens.
Die Font-Größe (1-5) wird mit font und die Farbe mit col angegeben.
Übergibt man in c einen String mit mehreren Zeichen, so wird nur das erste
Zeichen ausgegeben.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
imagechar($image,5,100,50,"P",$farbe_b);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagearc

Weiter: imagecharup


Funktionsreferenz / Image-Funktionen / imagecharup

Letztes Update der Funktion imagecharup: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecharup

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecharup ( resource im, int font, int x, int y, string c, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecharup() kann man ein Zeichen (c) vertikal in die Grafik ausgeben.
Dabei wird auf einer vorgegebenen Fläche (im), welche mit imagecreate() erzeugt
wurde, das Zeichen c um 90° gegen den Uhrzeigersinn verdreht gezeichnet. Mit
den Werten x und y bestimmt man die Koordinaten (linke obere Ecke des
Buchstabens) des Zeichens.
Die Font-Größe (1-5) wird mit font und die Farbe mit col angegeben.
Übergibt man in c einen String mit mehreren Zeichen, so wird nur das erste
Zeichen ausgegeben.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
imagecharup($image,5,100,50,"P",$farbe_b);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagechar

Weiter: imagecolorallocate


Funktionsreferenz / Image-Funktionen / imagecolorallocate

Letztes Update der Funktion imagecolorallocate: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolorallocate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecolorallocate ( resource im, int red, int green, int blue )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolorallocate() kann man eine Farbe anlegen, die für
Zeichenoperationen auf einer Fläche (im) benutzt werden soll. Die gewünschte
Farbe wird als RGB-Wert (red, green, blue) angegeben. Die Funktion
imagecolorallocate() muss für jede Farbe aufgerufen werden, welche in der
Grafik vorkommen sollen. Jede neue Farbe einer Arbeitsfläche bekommt eine ID
(beginnend bei 0) zugewiesen; imagecolorallocate() gibt Ihnen diese ID als
Funktionsergebnis zurück.
In den bisherigen Versionen der GD-Bibliothek legen Sie mit dem ersten Aufruf
dieser Funktion automatisch die Hintergrundfarbe fest (siehe Beispiel). Sie sollten
sich allerdings nicht darauf verlassen, dass sich zukünftige Versionen genauso
verhalten. Rufen Sie zum Färben des Hintergrunds also besser die Funktion
imagefill() auf.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagecharup

Weiter: imagecolorat


Funktionsreferenz / Image-Funktionen / imagecolorat

Letztes Update der Funktion imagecolorat: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolorat

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecolorat ( resource im, int x, int y )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolorat() kann man auf einer Arbeitsfläche (im) den Farbwert des Pixels
an einer bestimmten Koordinate (x und y) ermitteln. Jede Farbe der Arbeitsfläche
hat eine ID (beginnend bei 0). Als Rückgabewert von imagecolorat() erhält man
diese ID. Die Farb-ID können Sie nutzen, um z.B. eine zugewiesene Farbe wieder
freizugeben ( siehe imagecolordeallocate() ).

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagesetpixel()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
$farbe_c = imagecolorallocate($image,100,136,106);
imagesetpixel($image, 30, 30, $farbe_b);
imagesetpixel($image, 40, 40, $farbe_c);
echo imagecolorat($image,30,30);
echo "<br>";
echo imagecolorat($image,40,40);
?>

nach unten nach oben Ausgabe

1
2

Zurück: imagecolorallocate

Weiter: imagecolorclosest


Funktionsreferenz / Image-Funktionen / imagecolorclosest

Letztes Update der Funktion imagecolorclosest: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolorclosest

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecolorclosest ( resource im, int red, int green, int blue )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolorclosest() kann man sich den Index-Wert der Farbe zurückgeben
lassen, die den angegebenen RGB-Werten (red, green, blue) am nächsten kommt.
Die Funktion durchsucht die Palette aller in einem Bild (im) mit
imagecolorallocate() erzeugten Farben und liefert die Farbe, die den angegebenen
RGB-Werten am ehesten entspricht.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagecolorexact()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$rot = imagecolorallocate($image,220,14,14);
$gruen = imagecolorallocate($image,28,246,5);
$blau = imagecolorallocate($image,16,5,246);
echo imagecolorclosest($image,28,246,4);
?>

nach unten nach oben Ausgabe

1

Zurück: imagecolorat

Weiter: imagecolordeallocate


Funktionsreferenz / Image-Funktionen / imagecolordeallocate

Letztes Update der Funktion imagecolordeallocate: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolordeallocate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecolordeallocate ( resource im, int index )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolordeallocate() kann man einen Farbwert (index) wieder aus der
Farbpalette eines Bildes (im) löschen. Den Farbwert müssen Sie zuvor mit
imagecolorallocate() angelegt haben.
Im unteren Beispiel wurde ein hellgrauer Hintergund in einen dunkelgrauen
Hintergrund verwandelt. Das Beispiel nutzt die Tatsache, dass der erste Eintrag
der Farbpalette als Hintergrundfarbe verwendet wird.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
imagecolordeallocate($image,$farbe_body);
$farbe_body=imagecolorallocate($image,224,223,223);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagecolorclosest

Weiter: imagecolorexact


Funktionsreferenz / Image-Funktionen / imagecolorexact

Letztes Update der Funktion imagecolorexact: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolorexact

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecolorexact ( resource im, int red, int green, int blue )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolorexact() kann man sich den Index-Wert der Farbe aus der
Farbpalette des Bildes (im) zurückgeben lassen, die genau die angegebenen RGB-
Werte (red, green, blue) hat. Existiert keine Farbe mit den angegebenen RGB-
Werten, so wird -1 zurückgegeben, andernfalls der Index des Farbeintrags.
Sämtliche mit imagecolorallocate() erzeugten Farben werden in die Farbpalette
aufgenommen. Der erste Eintrag der Palette hat den Index 0.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagecolorclosest()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$rot = imagecolorallocate($image,220,14,14);
$gruen = imagecolorallocate($image,28,246,5);
$blau = imagecolorallocate($image,16,5,246);
echo imagecolorexact($image,111,111,111);
echo "<br>";
echo imagecolorexact($image,16,5,246);
?>

nach unten nach oben Ausgabe

-1
2

Zurück: imagecolordeallocate

Weiter: imagecolorresolve


Funktionsreferenz / Image-Funktionen / imagecolorresolve

Letztes Update der Funktion imagecolorresolve: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolorresolve

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecolorresolve ( resource im, int red, int green, int blue )

nach unten nach oben Version

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolorresolve() kann man sich den Index-Wert der Farbe zurückgeben
lassen, die den angegeben RGB-Werten (red, green, blue) am nächsten kommt.
Die Funktion durchsucht die Palette aller in einem Bild (im) mit
imagecolorallocate() erzeugten Farben und liefert die Farbe, die den angegebenen
RGB-Werten am ehesten entspricht.

Diese Funktion wird auf jeden Fall einen Farbindex zu den angegebenen RGB-
Werten ermitteln.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagecolorclosest()
. imagecolorexact()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
$farbe_c = imagecolorallocate($image,100,136,106);
echo imagecolorresolve ($image,10 , 36, 106);
?>

nach unten nach oben Ausgabe

1

Zurück: imagecolorexact

Weiter: imagecolorset


Funktionsreferenz / Image-Funktionen / imagecolorset

Letztes Update der Funktion imagecolorset: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolorset

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool imagecolorset ( resource im, int index, int red, int green, int blue )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolorset() kann man die Farbwerte (red, green, blue) eines Eintrags
(index) in der Farbpalette eines Bildes (im) ändern. Der Paletteneintrag muss
zuvor mit imagecolorallocate() erzeugt worden sein.
Im unteren Beispiel wurde ein blaues "P" in ein grünes "P" verwandelt.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagechar()
. imagegif()
. imagecolorat()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
imagecolorset($image,$farbe_b,6,242,11);
imagechar($image,5,100,50,"P",$farbe_b);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagecolorresolve

Weiter: imagecolorsforindex


Funktionsreferenz / Image-Funktionen / imagecolorsforindex

Letztes Update der Funktion imagecolorsforindex: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolorsforindex

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array imagecolorsforindex ( resource im, int index )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion imagecolorsforindex() gibt die RGB-Farbwerte für einen Eintrag
(index) der Farbpalette eines Bildes (im) in Form eines Arrays zurück.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagecolorat()
. imagecolorexact()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
$rgb = imagecolorsforindex($image,$farbe_b);
echo "RGB-Wert für rot: " . $rgb[red];
echo "<br>";
echo "RGB-Wert für grün: " . $rgb[green];
echo "<br>";
echo "RGB-Wert für blau: " . $rgb[blue];
?>

nach unten nach oben Ausgabe

RGB-Wert für rot: 10
RGB-Wert für grün: 36
RGB-Wert für blau: 106

Zurück: imagecolorset

Weiter: imagecolorstotal


Funktionsreferenz / Image-Funktionen / imagecolorstotal

Letztes Update der Funktion imagecolorstotal: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolorstotal

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecolorstotal ( resource im )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolorstotal() kann man sich die Anzahl der Farben innerhalb der
Farbpalette eines Bildes (im) zurückgeben lassen.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagecolorat()
. imagecolorsforindex()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
$headline = imagecolorallocate($image,60,76,144);
echo imagecolorstotal($image);
?>

nach unten nach oben Ausgabe

3

Zurück: imagecolorsforindex

Weiter: imagecolortransparent


Funktionsreferenz / Image-Funktionen / imagecolortransparent

Letztes Update der Funktion imagecolortransparent: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecolortransparent

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecolortransparent ( resource im [, int col] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecolortransparent() kann man eine Farbe (col) innerhalb eines Bildes
(im) als transparent definieren. Alle Bildteile, die die angegebene Farbe haben,
erscheinen transparent.
Im unteren Beispiel wird der Buchstaben in der Farbe blau gezeichnet.
Anschließend wird diese Farbe als transparent definiert. Somit scheint der
Hintergrund durch den Buchstaben.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagechar()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,222,222,222);
$farbe_b = imagecolorallocate($image,10,36,106);
imagecolortransparent($image,$farbe_b);
imagechar($image,5,100,50,"P",$farbe_b);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagecolorstotal

Weiter: imagecopy


Funktionsreferenz / Image-Funktionen / imagecopy

Letztes Update der Funktion imagecopy: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecopy

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int ImageCopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecopy() kopiert man einen Teil eines Bildes (src_im) in ein anderes Bild
(dst_im). Mit src_x und src_y werden die X- und Y-Koordinaten des zu kopierenden
Teils angegeben. Die Breite wird dabei mit src_w und src_h bestimmt. Der
Ausschnitt wird in dem Bild dst_im an die X- und Y-Koordinaten dst_x bzw.
dst_y kopiert.

Sie auch:

. imagecreatefromgif()
. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreatefromgif("imagearc.gif");
$image1 = imagecreate(300,150);
$farbe_body=imagecolorallocate($image1,222,222,222);
ImageCopy($image1,$image,30,25,50,60,91,26);
imagegif($image1);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit. Hierbei handelt es sich um die ursprüngliche
Stelle des Rechtecks im ersten Bild($image).

Zurück: imagecolortransparent

Weiter: imagecopyresized


Funktionsreferenz / Image-Funktionen / imagecopyresized

Letztes Update der Funktion imagecopyresized: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecopyresized

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagecopyresized ( resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecopyresized() kopiert man einen Teil eines Bildes (src_im) in ein
anderes Bild (dst_im). Mit src_X und src_Y werden die X- und Y-Koordinaten
des zu kopierenden Teils angegeben. Die Breite wird dabei mit src_W und src_H
bestimmt.
Der Ausschnitt wird im Bild dst_im an die X- und Y-Koordinaten dst_X bzw.
dst_Y kopiert und dabei auf die Breite dst_W und die Höhe dst_H gebracht.
Unterscheiden sich die Breite dst_W oder die Höhe dst_H von den Abmessungen
des ursprünglichen Ausschnitts, so wird der Ausschnitt gedehnt oder
geschrumpft.

Sie auch:

. imagecreatefromgif()
. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreatefromgif("imagearc.gif");
$image1 = imagecreate(300,150);
$farbe_body=imagecolorallocate($image1,222,222,222);
imagecopyresized($image1, $image, 30,25, 50,60,150,30, 91,26);
imagegif($image1);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit. Hierbei handelt es sich um die ursprüngliche
Stelle des Rechtecks im ersten Bild($image).

Zurück: imagecopy

Weiter: imagecreate


Funktionsreferenz / Image-Funktionen / imagecreate

Letztes Update der Funktion imagecreate: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecreate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource imagecreate ( int x_size, int y_size )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecreate() wird eine Arbeitsfläche für ein neues Bild mit der Breite x_size
und der Höhe y_size erstellt. Der von dieser Funktion zurückgegebene Zeiger
muss bei allen folgenden Grafikbefehlen genutzt werden, damit man etwas in das
Bild hineinzeichnen kann. Beim unten stehenden Beispiel wurde der Zeiger
genutzt, um die Arbeitsfläche mit einer grauen Farbe zu hinterlegen.

Sie auch:

. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,222,222,222);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagecopyresized

Weiter: imagecreatefromgif


Funktionsreferenz / Image-Funktionen / imagecreatefromgif

Letztes Update der Funktion imagecreatefromgif: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecreatefromgif

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel |

nach unten nach oben Befehl

resource imagecreatefromgif ( string filename )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecreatefromgif() erstellt man ein neues Bild, das aus einer Datei oder
URL im GIF-Format gelesen wird. Der Inhalt der gelesenen Datei wird in das
neue Bild geschrieben. Der von dieser Funktion zurückgegebene Zeiger muss bei
allen folgenden Grafikbefehlen genutzt werden, damit man etwas in das Bild
hineinzeichnen kann.

Aus rechtlichen Gründen wurde die GIF-Unterstützung ab der Version 1.6 in die
GD-Bibliothek nicht mehr implementiert. Sie können also diesen Befehl nur
nutzen, wenn eine Version vor 1.6 existiert.

Sie auch:

. imagegif()
. imagecreatefromjpeg()
. imagecreatefrompng()

nach unten nach oben Beispiel

<?PHP
$image = imagecreatefromgif("image.gif");
imagegif($image);
?>

Ausgabe

Zurück: imagecreate

Weiter: imagecreatefromjpeg


Funktionsreferenz / Image-Funktionen / imagecreatefromjpeg

Letztes Update der Funktion imagecreatefromjpeg: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecreatefromjpeg

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource imagecreatefromjpeg ( string filename )

nach unten nach oben Version

(PHP 3 >= 3.0.16, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecreatefromjpeg() erstellt man ein neues Bild, das aus einer Datei oder
URL im JPEG-Format gelesen wird. Der Inhalt der gelesenen Datei wird in das
neue Bild geschrieben. Der von dieser Funktion zurückgegebene Zeiger muss bei
allen folgenden Grafikbefehlen genutzt werden, damit man etwas in das Bild
hineinzeichnen kann.

Sie auch:

. imagegif()
. imagecreatefromgif()
. imagecreatefrompng()

nach unten nach oben Beispiel

<?PHP
$image = imagecreatefromjpeg("image.jpg");
imagegif($image);
?>

nach unten nach oben Ausgabe

Zurück: imagecreatefromgif

Weiter: imagecreatefrompng


Funktionsreferenz / Image-Funktionen / imagecreatefrompng

Letztes Update der Funktion imagecreatefrompng: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecreatefrompng

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource imagecreatefrompng ( string filename )

nach unten nach oben Version

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagecreatefrompng() erstellt man ein neues Bild, das aus einer Datei oder
URL im PNG-Format gelesen wird. Der Inhalt der gelesenen Datei wird in das
neue Bild geschrieben. Der von dieser Funktion zurückgegebene Zeiger muss bei
allen folgenden Grafikbefehlen genutzt werden, damit man etwas in das Bild
hineinzeichnen kann.

Sie auch:

. imagegif()
. imagecreatefromgif()
. imagecreatefromjpeg()

nach unten nach oben Beispiel

<?PHP
$image = imagecreatefrompng("image.png");
imagegif($image);
?>

nach unten nach oben Ausgabe

Zurück: imagecreatefromjpeg

Weiter: imagecreatefromwbmp


Funktionsreferenz / Image-Funktionen / imagecreatefromwbmp

Letztes Update der Funktion imagecreatefromwbmp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagecreatefromwbmp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource imagecreatefromwbmp ( string filename )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit imagecreatefromwbmp() erstellt man ein neues Bild, das aus einer Datei oder
URL im WBMP-Format (Wireless BMP, hauptsächlich verwendet für WAP)
gelesen wird. Der Inhalt der gelesenen Datei wird in das neue Bild geschrieben.
Der von dieser Funktion zurückgegebene Zeiger muss bei allen folgenden
Grafikbefehlen genutzt werden, damit man etwas in das Bild hineinzeichnen
kann.

Sie auch:

. imagewbmp()
. imagecreatefromgif()
. imagecreatefromjpeg()
. imagecreatefrompng()

nach unten nach oben Beispiel

<?PHP
$image = imagecreatefromwbmp("image.wbmp");
header("Content-Type: image/vnd.wap.wbmp");
imagewbmp($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagecreatefrompng

Weiter: imagedashedline


Funktionsreferenz / Image-Funktionen / imagedashedline

Letztes Update der Funktion imagedashedline: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagedashedline

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagedashedline ( resource im, int x1, int y1, int x2, int y2, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagedashhedline() erstellt man auf einer Arbeitsfläche (im) eine gestrichelte
Linie, welche ihren Ursprung in x1/y1 und den Endpunkt in x2/y2 hat. Der
Farbwert der gestrichelten Linie wird mit col bestimmt.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_linie = imagecolorallocate($image,12,2,146);
imagedashedline($image,150,20,60,130,$farbe_linie);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagecreatefromwbmp

Weiter: imagedestroy


Funktionsreferenz / Image-Funktionen / imagedestroy

Letztes Update der Funktion imagedestroy: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagedestroy

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagedestroy ( resource im )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagedestroy() löscht man den Speicher, welcher durch das Bild im belegt
wurde.
Wenn Sie im unteren Beispiel die Anweisung imagepng($image)
auskommentieren, so wird ein leerer Kasten mit der Größe von 300x150 px
ausgegeben.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
Header("Content-type: image/gif");
imagedestroy($image);
imagegif($image);
?>

nach unten nach oben Ausgabe

Warning: 1 is not a valid Image resource

Zurück: imagedashedline

Weiter: imagefill


Funktionsreferenz / Image-Funktionen / imagefill

Letztes Update der Funktion imagefill: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagefill

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagefill ( resource im, int x, int y, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagefill() füllt man eine Arbeitsfläche (im) mit einer Farbe (col). Dabei
beginnt das Füllen ab der Koordinate x/y. Die Funktion ändert ausgehend vom
Startpunkt alle Bildpunkte, die dieselbe Farbe wie der Startpunkt haben. Stößt
imagefill() auf einen Bildpunkt, der eine andere Farbe als der Startpunkt hat, füllt
die Funktion in dieser Richtung nicht weiter. Sie können mit imagefill() also das
Innere oder das Äußere von geschlossenen Figuren ausfüllen, indem Sie den
Startpunkt passend wählen.
Bei dem unteren Beispiel wurde die komplette Arbeitsfläche, welche zuvor einen
dunkelblauen Hintergrund hatte, mit einer hellgrauen Farbe übermalt.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_b = imagecolorallocate($image,10,36,106);
$farbe_body=imagecolorallocate($image,243,243,243);
imagefill($image,0,0,$farbe_body);
header("Content-Type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Zurück: imagedestroy

Weiter: imagefilledpolygon


Funktionsreferenz / Image-Funktionen / imagefilledpolygon

Letztes Update der Funktion imagefilledpolygon: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagefilledpolygon

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagefilledpolygon ( resource im, array points, int num_points, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagefilledpolygon() kann man auf einer Arbeitsfläche (im) ein Vieleck
(Polygon) zeichnen. Die Eckpunkte des Vielecks werden in einem Array (points)
angegeben, das für jeden Punkt erst die X- und danach die Y-Koordinate enthält.
Der Parameter num_points legt die Anzahl der Eckpunkte fest. Mit col gibt man
die Füllfarbe des Vielecks an.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
$mess_p = array(70,45,200,45,85,120,134,5,185,120);
imagefilledpolygon($image, $mess_p, 5 , $farbe_b);
header("Content-Type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagefill

Weiter: imagefilledrectangle


Funktionsreferenz / Image-Funktionen / imagefilledrectangle

Letztes Update der Funktion imagefilledrectangle: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagefilledrectangle

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagefilledrectangle ( resource im, int x1, int y1, int x2, int y2, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagefilledretangle() erstellt man auf einer Arbeitsfläche (im) ein Rechteck
mit den Eckpunkten x1/y1 und x2/y2. Dabei ist der Punkt (x1,y1) die linke obere
Ecke und (x2,y2) die rechte untere Ecke des Rechtecks. Mit col legt man die
Füllfarbe des Rechtecks fest.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
imagefilledrectangle($image,50,60,230,90,$farbe_b);
header("Content-Type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagefilledpolygon

Weiter: imagefilltoborder


Funktionsreferenz / Image-Funktionen / imagefilltoborder

Letztes Update der Funktion imagefilltoborder: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagefilltoborder

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagefilltoborder ( resource im, int x, int y, int border, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagefilltoborder() kann man eine Farbfüllung (col) auf einer Arbeitsfläche
(im) vornehmen. Die Funktion ändert ausgehend vom Startpunkt mit den
Koordinaten x und y alle Bildpunkte, bis sie auf einen Bildpunkt stößt, der die
Farbe border hat; in diesem Fall füllt die Funktion in dieser Richtung nicht
weiter. Sie können mit imagefilltoborder() also das Innere oder das Äußere von
geschlossenen Figuren ausfüllen, indem Sie den Startpunkt und die
Begrenzungsfarbe passend wählen.
Bei dem unteren Beispiel wurde eine hellgraue Hintergrundfarbe mit einem
dunkelblauen Polygon gezeichnet. Die dunkelgraue Farbe (col) beginnt ab der
Position 0/0 (linke obere Ecke der Arbeitsfläche) das Bild bis zur Grenze des
Polygons auszufüllen. Innerhalb des Polygons bleibt die hellgraue
Hintergrundfarbe weiterhin sichtbar.

Sie auch:

. imagecreate()
. imagecolorallocate()
. imagepolygon()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_b =imagecolorallocate($image,235,235,235);
$farbe_p =imagecolorallocate($image,10,36,106);
$farbe_f =imagecolorallocate($image,212,212,212);
$mess_p=array(70,45,200,45,85,120,134,5,185,120);
imagepolygon($image, $mess_p, 5 , $farbe_p);
imagefilltoborder($image,0,0,$farbe_p,$farbe_f);
header("Content-type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Zurück: imagefilledrectangle

Weiter: imagefontheight


Funktionsreferenz / Image-Funktionen / imagefontheight

Letztes Update der Funktion imagefontheight: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagefontheight

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagefontheight ( int font )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagefontheight() kann man ermitteln, wie viel Höhe der Text in der
angegebenen Schriftgröße (font) benötigt. Die Funktion liefert die Höhe in der
Einheit Pixel.
In Verbindung mit imagefontwidth() lassen sich so einige gute Effekte erzielen.
So kann z.B. exakt um die Schrift eine Hintergrundfarbe definiert werden, um den
Effekt eines Buttons zu erzeugen.

Siehe auch:

. imagefontwidth()
. imageloadfont()

nach unten nach oben Beispiel

<?PHP
$text = "PHP3/4 - Die Befehlsreferenz";
echo imagefontheight(5);
?>

nach unten nach oben Ausgabe

15

Zurück: imagefilltoborder

Weiter: imagefontwidth


Funktionsreferenz / Image-Funktionen / imagefontwidth

Letztes Update der Funktion imagefontwidth: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagefontwidth

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagefontwidth ( int font )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagefontwidth() kann man ermitteln, wie viel Breite der Text in der
angegebenen Schriftgröße (font) benötigt. Die Funktion liefert die Breite eines
Zeichens in der Einheit Pixel.
In Verbindung mit imagefontheight () lassen sich so einige gute Effekte erzielen.
So kann z.B. exakt um die Schrift eine Hintergrundfarbe definiert werden, um den
Effekt eines Buttons zu erzeugen.

Siehe auch:

. imagefontheight()
. imageloadfont()

nach unten nach oben Beispiel

<?PHP
$text = "PHP3/4 - Die Befehlsreferenz";
echo imagefontwidth(5)*strlen($text);
?>

nach unten nach oben Ausgabe

252

Zurück: imagefontheight

Weiter: imagegammacorrect


Funktionsreferenz / Image-Funktionen / imagegammacorrect

Letztes Update der Funktion imagegammacorrect: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagegammacorrect

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagegammacorrect ( resource im, double inputgamma, double outputgamma )

nach unten nach oben Version

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagegammacorrect() ändert man die Helligkeit der Mitteltonwerte in einem
Bild (im). Es ist der Eingabe-Gammawert (inputgamma) und der Ausgabe-
Gammawert (outputgamma) anzugeben. Je höher der Ausgabe-Gammawert
gegenüber dem Eingabe-Gammawert ist, umso heller wird das Bild. Ist der
Eingabe-Gammawert höher als der Ausgabe-Gammawert, so verdunkelt sich das
Bild. Sind beide Werte gleich, so verändert sich das Bild nicht.
Um das unten stehende Beispiel auszuprobieren, sollten Sie jeweils einen der
auskommentierten imagegammacorrect-Befehle aktivieren.

Siehe auch:

. imagecreatefromgif()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreatefromgif("bild.gif");
//imagegammacorrect($image,1 ,1);
//imagegammacorrect($image,1 ,2);
//imagegammacorrect($image,2 ,1);
header("Content-type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagefontwidth

Weiter: imagegif


Funktionsreferenz / Image-Funktionen / imagegif

Letztes Update der Funktion imagegif: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagegif

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagegif ( resource im [, string filename] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagegif() wird ein zuvor mit imagecreate() erzeugtes Bild (im) im GIF-
Format an den Browser gesendet. Der zweite Parameter (filename) ist optional;
wenn Sie ihn angeben, wird das zuvor erstellte Bild in eine Datei geschrieben:
imagegif($image,"image.gif").
Bei dem zu übertragenden Bild handelt es sich um ein GIF87a-Format, es sei
denn, dass Sie mit imagecolortransparent() eine Transparenzfarbe definiert haben.
Die Grafik wird dann im GIF89a-Format übertragen.
Aus rechtlichen Gründen wurde die GIF-Unterstützung ab der Version 1.6 in die
GD-Bibliothek nicht mehr implementiert. Sie können also diesen Befehl nur
nutzen, wenn eine Version vor 1.6 existiert.

Siehe auch:

. imagepng()
. imagejpeg()
. imagetypes()
. imagecreate()
. imagecolorallocate()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
header("Content-Type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagegammacorrect

Weiter: imageinterlace


Funktionsreferenz / Image-Funktionen / imageinterlace

Letztes Update der Funktion imageinterlace: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imageinterlace

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imageinterlace ( resource im [, int interlace] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imageinterlace() kann man ein zuvor erstelltes Bild (im) mit dem Bildattribut
"interlaced" versehen (interlace = 1). Somit erreichen Sie, dass das Bild beim
Herunterladen vom Browser zuerst in niedriger Qualität angezeigt wird, schon
bevor es vollständig geladen wurde.
Übergeben Sie in interlace den Wert 0, so wird das Bild erst nach dem
kompletten Laden angezeigt. Als Rückgabewert liefert die Funktion
imageinterlace() die aktuelle Interlace-Einstellung (0 oder 1).

Sie auch:

. imagecreate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
imageinterlace($image,0);
header("Content-Type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

// Ein Bild, welches schon beim Laden in niedriger Qualität
// angezeigt wird.

Zurück: imagegif

Weiter: imagejpeg


Funktionsreferenz / Image-Funktionen / imagejpeg

Letztes Update der Funktion imagejpeg: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagejpeg

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagejpeg ( resource im [, string filename [, int quality]] )

nach unten nach oben Version

(PHP 3 >= 3.0.16, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagejpeg() wird ein zuvor mit imagecreate() erzeugtes Bild (im) im JPEG-
Format an den Browser gesendet. Der zweite Parameter (filename) ist optional;
wenn Sie ihn angeben, wird das zuvor erstellte Bild in eine Datei geschrieben:
imagejpeg($image,"image.jpg").
Möchten Sie einen Wert für den dritten Parameter (quality) übergeben, obwohl
Sie das Bild nicht in eine Datei schreiben wollen, so können Sie als zweites
Argument einen Leerstring übergeben.
Der Parameter quality legt den Komprimierungsgrad und damit die Qualität des
Bildes fest. Je höher dieser Wert, desto besser wird das Bild (10 = starke
Komprimierung, 100 = geringe Komprimierung).
Die JPEG-Unterstützung können Sie nur nutzen, wenn Sie zuvor PHP mit einer
GD-Bibliothek ab der Version 1.8 kompiliert haben.

Siehe auch:

. imagepng()
. imagegif()
. imagetypes()
. imagecreate()
. imagecolorallocate()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
header("Content-Type: image/jpeg");
imagejpeg($image,"",100);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imageinterlace

Weiter: imageline


Funktionsreferenz / Image-Funktionen / imageline

Letztes Update der Funktion imageline: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imageline

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imageline ( resource im, int x1, int y1, int x2, int y2, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imageline() zeichnet man auf einer Arbeitsfläche (im) eine Linie zwischen
den Koordinaten (x1, y1) und (x2, y2). Die Farbe der Linie wird mit col bestimmt.

Siehe auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
imageline($image,30,80,270,80,$farbe_b);
imageline($image,60,20,200,50,$farbe_b);
header("Content-Type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagejpeg

Weiter: imagepng


Funktionsreferenz / Image-Funktionen / imagepng

Letztes Update der Funktion imagepng: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagepng

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagepng ( resource im [, string filename] )

nach unten nach oben Version

(PHP 3 >= 3.0.13, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagepng() wird ein zuvor mit imagecreate() erzeugtes Bild (im) im PNG-
Format an den Browser gesendet. Der zweite Parameter (filename) ist optional;
wenn Sie ihn angeben, wird das zuvor erstellte Bild in eine Datei geschrieben:
imagepng($image,"image.png") .
Die PNG-Unterstützung ersetzt die GIF-Funktionen und kann nur genutzt
werden, wenn Sie eine GD-Bibliothek ab der Version 1.6 haben.

Siehe auch:

. imagegif()
. imagejpeg()
. imagetypes()
. imagecreate()
. imagecolorallocate()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
header("Content-Type: image/png");
imagepng($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imageline

Weiter: imagepolygon


Funktionsreferenz / Image-Funktionen / imagepolygon

Letztes Update der Funktion imagepolygon: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagepolygon

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagepolygon ( resource im, array points, int num_points, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagepolygon() kann man auf einer Arbeitsfläche (im) ein Vieleck (Polygon)
zeichnen. Die Eckpunkte des Vielecks werden in einem Array (points)
angegeben, das für jeden Punkt erst die X- und danach die Y-Koordinate enthält.
Der Parameter num_points legt die Anzahl der Eckpunkte fest. Mit col gibt man
die Linienfarbe des Vielecks an.

Siehe auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
$mess_p = array(70,45,200,45,85,120,134,5,185,120);
imagepolygon($image, $mess_p, 5 , $farbe_b);
header("Content-Type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagepng

Weiter: imagerectangle


Funktionsreferenz / Image-Funktionen / imagerectangle

Letztes Update der Funktion imagerectangle: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagerectangle

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagerectangle ( resource im, int x1, int y1, int x2, int y2, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imageretangle() erstellt man auf einer Arbeitsfläche (im) ein Rechteck mit
den Eckpunkten x1/y1 und x2/y2. Dabei ist der Punkt (x1,y1) die linke obere Ecke
und (x2,y2) die rechte untere Ecke des Rechtecks. Mit col legt man die Farbe der
Linie fest.

Siehe auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
imagerectangle($image,50,60,230,90,$farbe_b);
header("Content-Type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagepolygon

Weiter: imagesetpixel


Funktionsreferenz / Image-Funktionen / imagesetpixel

Letztes Update der Funktion imagesetpixel: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagesetpixel

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagesetpixel ( resource im, int x, int y, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagesetpixel() zeichnet man auf einer Arbeitsfläche (im) ein einzelnes Pixel
mit der Farbe col. Die Koordinaten des Pixels stehen in den Parametern x und y.

Siehe auch:

. imagecreate()
. imagecolorallocate()
. imagegif()

nach unten nach oben Beispiel

<?php
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
$y = 50;
$z = 30;
for($x=0;$x <=20;$x++){
  imagesetpixel($image, $z, $y, $farbe_b);
  imagesetpixel($image, $y, $z, $farbe_b);
  $y += 5;
  $z += 5;
}
imagegif($image);
?>

nach unten nach oben Ausgabe

Zurück: imagerectangle

Weiter: imagestring


Funktionsreferenz / Image-Funktionen / imagestring

Letztes Update der Funktion imagestring: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagestring

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagestring ( resource im, int font, int x, int y, string s, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagestring() zeichnet man auf einer Arbeitsfläche (im) einen String (s) mit
der Farbe col und der Schriftgröße font. Als Werte für die Schriftgröße stehen
1,2,3,4 und 5 zur Verfügung. Mit den XY-Koordinaten (x und y) gibt man den
linken oberen Startpunkt des Strings an.

Siehe auch:

. imagecreate()
. imagecolorallocate()
. imagegif()
. imageloadfont()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
imagestring ($image, 5,30, 70, "PHP3/4 - Die Befehlsreferenz", $farbe_b);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagesetpixel

Weiter: imagestringup


Funktionsreferenz / Image-Funktionen / imagestringup

Letztes Update der Funktion imagestringup: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagestringup

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagestringup ( resource im, int font, int x, int y, string s, int col )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagestringup() zeichnet man auf einer Arbeitsfläche (im) einen vertikalen
String (s) mit der Farbe col und der Schriftgröße font. Als Werte für die
Schriftgröße stehen 1,2,3,4 und 5 zur Verfügung. Mit den XY-Koordinaten (x und
y) gibt man den linken unteren Startpunkt des Strings an. Der String wird um 90°
gegen den Uhrzeigersinn verdreht gezeichnet, also von unten nach oben.

Siehe auch:

. imagecreate()
. imagecolorallocate()
. imagegif()
. imageloadfont()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$farbe_b = imagecolorallocate($image,10,36,106);
imagestringup($image, 5,130, 100, "PHP ¾",$farbe_b);
imagegif($image);
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagestring

Weiter: imagesx


Funktionsreferenz / Image-Funktionen / imagesx

Letztes Update der Funktion imagesx: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagesx

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagesx ( resource im )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagesx() kann man die Breite eines Bildes (im) ermitteln.

Siehe auch:

. imagecreate()
. imagecreatefromgif()
. imagesy()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(200,150);
echo imagesx($image);
echo "<br>";
$image1 = imagecreatefromgif("image.gif");
echo imagesx($image1);
?>

nach unten nach oben Ausgabe

200
300

Zurück: imagestringup

Weiter: imagesy


Funktionsreferenz / Image-Funktionen / imagesy

Letztes Update der Funktion imagesy: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagesy

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagesy ( resource im )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagesy() kann man die Höhe eines Bildes (im) ermitteln.

Siehe auch:

. imagecreate()
. imagecreatefromgif()
. imagesx()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(200,100);
echo imagesy($image);
echo "<br>";
$image1 = imagecreatefromgif("image.gif");
echo imagesy($image1);
?>

nach unten nach oben Ausgabe

100
150

Zurück: imagesx

Weiter: imagettfbbox


Funktionsreferenz / Image-Funktionen / imagettfbbox

Letztes Update der Funktion imagettfbbox: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagettfbbox

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array imagettfbbox ( int size, int angle, string fontfile, string text )

nach unten nach oben Version

(PHP 3 >= 3.0.1, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagettfbbox() kann man die Außenmaße für die Ausgabe eines Textes im
TrueType-Format ermitteln. Als Parameter wird die Schriftgröße (size), der
Schriftwinkel (angle), der Name der TTF-Datei als URL oder absoluter Pfad
(fontfile) und der auszugebende Text (text) benötigt. Als Rückgabewert erhalten
Sie ein Array mit den genauen XY-Koordinaten aller vier Ecken der Schrift. Im
unteren Beispiel gab der Funktionsaufruf folgende Werte zurück:
1 , -1 , 320 , -1 , 320 , -18 , 1 , -18
Mit diesen Daten könnte man wie im unteren Beispiel gezeigt einen Kasten um
den Text platzieren.

Siehe auch:

. imagecreate()
. imagecolorallocate()
. imagettftext()
. imagegif()
. imagedestroy()

nach unten nach oben Beispiel

<?PHP
$size = 24;
$textwerte = imagettfbbox($size, 0, "arial.ttf", "PHP ¾ - Die Befehlsreferenz");
$textwerte[2] += 8;
$textwerte[5] = abs($textwerte[5]);
$textwerte[5] += 4;
$image=imagecreate($textwerte[2], $textwerte[5]);
$farbe_body=imagecolorallocate($image,222,222,222);
$farbe_b = imagecolorallocate($image,10,36,106);
$textwerte[5] -= 2;
imagettftext ($image, $size, 0, 4,$textwerte[5],$farbe_b, "arial.ttf", "PHP ¾ - Die Befehlsreferenz");
imagegif($image, "image.gif");
imagedestroy($image);
?>
<img src="image.gif" border=?>

nach unten nach oben Ausgabe

Zurück: imagesy

Weiter: imagettftext


Funktionsreferenz / Image-Funktionen / imagettftext

Letztes Update der Funktion imagettftext: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagettftext

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array imagettftext ( resource im, int size, int angle, int x, int y, int col, string fontfile, string text )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit imagettftext() können Sie einen beliebigen Text (text) auf einer Arbeitsfläche
(im) zeichnen. Dabei geben Sie mit x und y die Startkoordinaten des Textes und
mit angle den Grad der Ausrichtung an. Achten Sie bitte darauf, dass die
Gradzahlen im Bereich von 0°-360° angegeben und gegen den Uhrzeigersinn
dargestellt werden. Der Parameter col legt den Index der verwendeten
Schriftfarbe fest; wenn Sie hier einen negativen Wert angeben, wird das
Antialiasing deaktiviert. Durch den Parameter size bestimmen Sie die Größe der
Schrift, welche aus einer TTF-Datei (fontfile) gelesen wird. Sie können innerhalb
des Textes auch UTF-8-Zeichenfolgen nutzen - so wäre z.B. das Copyright-
Zeichen "©" die Zeichenfolge "©".
Als Rückgabewert der Funktion erhalten Sie ein Array, welches 8 Elemente
besitzt; diese Elemente enthalten die X- und Y-Koordinaten der vier Eckpunkte
des Textes. Bei der Ausgabe des unteren Bildbeispiels kamen folgende Werte
heraus: 31,140,269,13,262,0,25,127 (dieses spiegelt die Eckkoordinaten vom
linken unteren Punkt gegen den Uhrzeigersinn zum oberen linken Punkt des
Textes).
Sie können diese Funktion nur in Zusammenhang mit der GD- und FreeType-
Bibliothek nutzen.

Siehe auch:

. imagecreate()
. imagecolorallocate()
. imagegif()
. imagettfbbox()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(300,150);
$farbe_body=imagecolorallocate($image,243,243,243);
$font_c = imagecolorallocate($image,10,36,106);
imagettftext($image, 20, 28, 30, 140, $font_c, "Schlbk.ttf", "PHP3/4 - Die Befehlsreferenz");
header("Content-type: image/gif");
imagegif($image);
?>

nach unten nach oben Ausgabe

Zurück: imagettfbbox

Weiter: imagetypes


Funktionsreferenz / Image-Funktionen / imagetypes

Letztes Update der Funktion imagetypes: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagetypes

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int imagetypes ( void )

nach unten nach oben Version

(PHP 3 CVS only, PHP 4 >= 4.0.2, PHP 5)

nach unten nach oben Beschreibung

Mit imagestypes() werden alle momentan unterstützten Grafikformate innerhalb
von PHP ermittelt. Rückgabewert der Funktion ist ein Integer-Wert, in dem Bit-
Flags gesetzt sind; um die Bit-Flags den Grafikformaten zuzuordnen, können Sie
die IMG_xxx-Konstanten verwenden (siehe Beispiel).

Folgende Formate sind möglich:
. GIF
. JPG
. PNG
. WBMP

nach unten nach oben Beispiel

<?PHP
if(imagetypes() & IMG_GIF)$type[0] = "GIF";
if(imagetypes() & IMG_JPG)$type[1] = "JPG";
if(imagetypes() & IMG_PNG)$type[2] = "PNG";
if(imagetypes() & IMG_WBMP)$type[3] = "WBMP";
for($x=0;$x<4;$x++){
  echo $type[$x] ."-Unterstützung ist aktiviert";
  echo "<br>";
}
?>

nach unten nach oben Ausgabe

GIF-Unterstützung ist aktiviert
JPG-Unterstützung ist aktiviert
PNG-Unterstützung ist aktiviert
WBMP-Unterstützung ist aktiviert

Zurück: imagettftext

Weiter: imagewbmp


Funktionsreferenz / Image-Funktionen / imagewbmp

Letztes Update der Funktion imagewbmp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

imagewbmp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool imagewbmp ( resource image [, string filename [, int foreground]] )

nach unten nach oben Version

(PHP 3 >= 3.0.15, PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit imagewbmp() wird ein zuvor mit imagecreate() erzeugtes Bild (im) im
WBMP-Format (Wireless BMP, hauptsächlich verwendet für WAP) an den
Browser gesendet. Der zweite Parameter (filename) ist optional; wenn Sie ihn
angeben, wird das zuvor erstellte Bild in eine Datei geschrieben:
imagewbmp($image,"image.wbmp") .
Die WBMP-Unterstützung kann nur genutzt werden, wenn Sie eine GD-
Bibliothek ab der Version 1.8 haben.

Siehe auch:

. imagegif()
. imagejpeg()
. imagepng()
. imagetypes()
. imagecreate()
. imagecolorallocate()

nach unten nach oben Beispiel

<?PHP
$image = imagecreate(100,100);
$farbe_body=imagecolorallocate($image,255,255,255);
header("Content-Type: image/vnd.wap.wbmp");
imagewbmp($image,"test.wbmp");
?>

nach unten nach oben Ausgabe

Achtung: Alle rotgekennzeichneten Elemente gehören nicht zur
Ausgabe des gezeigten Beispiels, sondern dienen nur der
Verständlichkeit.

Zurück: imagetypes

Weiter: Klassen und Objekt-Funktionen


Funktionsreferenz / Image-Funktionen / Übersicht Image-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Image-Funktionen

Auf den folgenden Seiten werden die Image-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
auf folgenden Seiten:
1.) [image] vorkenntnisse_imagefunktionen.html
2.) PHP 5 Praxisbuch unter dem Abschnitt "Dynamische Grafiken mit der GD-Bibliothek": Praxisbuch öffnen

Die hier gelisteten Image-Funktionen bestehen aus folgenden Seiten:

getimagesize
imagearc
imagechar
imagecharup
imagecolorallocate
imagecolorat
imagecolorclosest
imagecolordeallocate
imagecolorexact
imagecolorresolve
imagecolorset
imagecolorsforindex
imagecolorstotal
imagecolortransparent
imagecopy
imagecopyresized
imagecreate
imagecreatefromgif
imagecreatefromjpeg
imagecreatefrompng
imagecreatefromwbmp
imagedashedline
imagedestroy
imagefill
imagefilledpolygon
imagefilledrectangle
imagefilltoborder
imagefontheight
imagefontwidth
imagegammacorrect
imagegif
imageinterlace
imagejpeg
imageline
imagepng
imagepolygon
imagerectangle
imagesetpixel
imagestring
imagestringup
imagesx
imagesy
imagettfbbox
imagettftext
imagetypes
imagewbmp


Funktionsreferenz / Image-Funktionen / vorkenntnisse_imagefunktionen

Letztes Update der Funktion vorkenntnisse_imagefunktionen: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

vorkenntnisse_imagefunktionen

Mit den Grafikfunktionen können Sie nicht nur Informationen über die Größe eines Bildes erhalten, sondern zur Laufzeit des Skripts auch Grafiken erzeugen. Für die Erzeugung von Grafiken müssen Sie die GD-Bibliothek in Ihrer PHP-Version eingebunden haben, welche Sie im Internet unter > www.boutell.com < erhalten. Dort finden Sie auch genaue Anleitungen zum Einbinden dieser Bibliothek. Sie sollten sich im Vorfeld genau überlegen, welche Grafikformate Sie benötigen, da die angebotenen Versionen auch unterschiedliche Grafikformate unterstützen. Aus rechtlichen Gründen musste die GIF-Unterstützung ab der Version 1.6 aus der GD-Bibliothek entfernt werden, da die Rechte des Algorithmus für die LZW-Komprimierung bei der Firma Unisys liegen. Falls Sie dennoch eine GIF-Unterstützung benötigen, so werden Sie diese auch sicherlich im Internet finden. Ab der Version 1.6 der GD-Bibliothek wird das PNG-Grafikformat unterstützt. Folgende Grafikformate werden je nach Version unterstützt:

. JPEG
. GIF
. PNG
. WBMP

Falls Sie ein Windows-System nutzen, müssen Sie zum Einbinden der GD-Bibliothek in der php.ini die Unterstützung aktivieren (extension=php_gd.dll).

Zusätzlich haben Sie die Möglichkeit, falls Sie "jpeg-6b" auf Ihrem System haben, JPEG-Grafiken zu lesen und zu schreiben. Eine aktuelle Version von jpeg-6b finden Sie im Internet unter < ftp://ftp.uu.net/graphics/jpeg/ >.

Weiterhin haben Sie die Möglichkeit, eine Unterstützung von Type1-Fonts einzubauen. Dafür benötigen Sie eine Version von t1lib, welche Sie im Internet unter < ftp://sunsite.unc.edu/pub/Linux/libs/graphics/ > erhalten. Bei der Erzeugung von Grafiken mit der GD-Bibliothek können Sie beliebige Formen auf einer rechtwinkligen Arbeitsfläche erzeugen, welche Sie von den Abmessungen frei bestimmen können. Jede Grafik wird erst im Speicher des Servers erzeugt, bevor sie ausgegeben wird. Bei der Ausgabe der Grafiken stehen Ihnen mehrere Möglichkeiten zur Verfügung. Sie können das Bild virtuell erzeugen und an den Browser schicken, aber spätestens beim Skriptende ist die Grafik wieder gelöscht. Sie haben aber natürlich auch die Möglichkeit, ein Bild auf dem Server zu speichern.

Bei der Ausgabe der Grafiken müssen Sie darauf achten, dass diese mit der Header-Funktion eingeleitet wird und vorher keine andere Ausgabe stattgefunden hat, da sonst ein unleserlicher Code gesendet wird.

Die meisten Grafikfunktionen benötigen als Parameter Koordinatenangaben. Diese Koordinaten sind in der Einheit Pixel (px) angegeben. Der Ursprung des Koordinatensystems (0/0) ist die linke obere Ecke der Arbeitsfläche.

Die Abbildungen zu den Beispielen dieses Kapitels enthalten meist Legenden, die Eigenschaften der ausgegebenen Grafiken erläutern sollen. Oft finden Sie in den Bildern zum Beispiel Koordinatenangaben. Diese Legenden wurden nachträglich hinzugefügt und sind nicht Resultat des Beispielcodes.

Zurück: Functions-Funktionen

Weiter: Klassen und Objekt-Funktionen


Funktionsreferenz / Klassen und Objekt-Funktionen / call_user_method

Letztes Update der Funktion call_user_method: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

call_user_method

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed call_user_method ( string method_name, object obj [, mixed parameter [, mixed ...]] )

nach unten nach oben Version

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit call_user_method() kann man eine benutzerdefinierte Methode eines Objektes
aufrufen. Dabei ist diese Funktion als eine zusätzliche Möglichkeit zu sehen,
um eine Funktion innerhalb einer Klasse aufzurufen.
Die Funktion method_name innerhalb einer Klasse wird über das Objekt obj,
welches eine Klasse repräsentiert, angesprochen. Die optionalen Parameter ab
parameter übergeben Argumente an die Methode. Sollten Sie mehr als einen Wert
übergeben wollen, so trennen Sie die Werte durch ein Komma.
Im unteren Beispiel sehen Sie zuerst den Aufruf einer Methode mit
call_user_method() und danach den normalen und üblichen Aufruf ($korb -> weg()).

Siehe auch:

. call_user_func()

nach unten nach oben Beispiel

<?PHP
if(!isset($menge)) $menge = 0;
class warenkorb{
function hinzu($zahl, $menge){
$menge += $zahl;
return $menge;
}
function weg($zahl, $menge){
$menge -= $zahl;
return $menge;
}
}
$korb = new warenkorb();
$menge = call_user_method("hinzu",$korb,5,$menge);
echo "$menge\n";
echo $korb -> weg(2,$menge);
?>

nach unten nach oben Ausgabe

5
3

Zurück: Image-Funktionen

Weiter: call_user_method_array


Funktionsreferenz / Klassen und Objekt-Funktionen / call_user_method_array

Letztes Update der Funktion call_user_method_array: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

call_user_method_array

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed call_user_method_array ( string method_name, object obj, array paramarr )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PHP 5)

nach unten nach oben Beschreibung

Mit call_user_method_array() kann man ein Array (paramarr) mit Werten an eine
Methode (method_name) eines Objekts (obj) übergeben.
Im unteren Beispiel wurde die Methode zuerst mit einem Array aufgerufen, dann
mit einer Variablen, danach auf die normale (übliche) Art und zum Schluss ohne
Werte.
Sie sollten allerdings diese Funktion nicht mit den unten stehenden Beispielen
(außer Arrays) benutzen, da sie eigentlich für Arrays bestimmt ist.

Siehe auch:

. call_user_func_array()
. call_user_func()
. call_user_method()

nach unten nach oben Beispiel

<?PHP
class database{
    function first($a,$b,$c){
        $d = $a . $b . $c;
        return $d;
    }

    function second($x){
        return $x;
    }

    function third(){
        echo "HALLO";
    }
}

$klasse = new database;
$array = array("SELF","PHP"," 3");
$var = "SELFPHP 4";
echo call_user_method_array("first", $klasse, $array);
echo "\n";
echo call_user_method_array ("second", $klasse, $var);
echo "\n";
echo $klasse -> second("SELFPHP");
echo "\n";
call_user_method_array ("third", $klasse,"");
?>

nach unten nach oben Ausgabe

SELFPHP 3
SELFPHP 4
SELFPHP
HALLO

Zurück: call_user_method

Weiter: class_exists


Funktionsreferenz / Klassen und Objekt-Funktionen / class_exists

Letztes Update der Funktion class_exists: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

class_exists

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool class_exists ( string class_name )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit class_exists() kann man überprüfen, ob eine Klasse deklariert wurde. Im
Erfolgsfall gibt diese Funktion true, sonst false zurück.

nach unten nach oben Beispiel

<?PHP
$array = array("einkauf","warenkorb","verkauf");
class warenkorb{
    //
    // Programmcode
    //
}

for($x=0;$x<count($array);$x++){
    if(class_exists($array[$x]))
        echo "Klasse " . $array[$x] ." wurde deklariert\n";
    else
        echo "Klasse " . $array[$x] ." wurde nicht deklariert\n";
}
?>

nach unten nach oben Ausgabe

Klasse einkauf wurde nicht deklariert
Klasse warenkorb wurde deklariert
Klasse verkauf wurde nicht deklariert

Zurück: call_user_method_array

Weiter: get_class


Funktionsreferenz / Klassen und Objekt-Funktionen / get_class

Letztes Update der Funktion get_class: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_class

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string get_class ( object obj )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_class() kann man sich den Namen der Klasse eines Objektes zurückgeben
lassen.

Siehe auch:

. get_parent_class()
. is_subclass_of()

nach unten nach oben Beispiel

<?PHP
class database{
    function first(){
    }
    function second(){
    }
}
$connect_to_base = new database;
echo get_class($connect_to_base);
?>

nach unten nach oben Ausgabe

database

Zurück: class_exists

Weiter: get_class_methods


Funktionsreferenz / Klassen und Objekt-Funktionen / get_class_methods

Letztes Update der Funktion get_class_methods: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_class_methods

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_class_methods ( string class_name )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_class_methods() kann man sich alle Methoden in einer Klasse (class_name)
zurückgeben lassen. Als Rückgabewert erhält man ein Array mit den Namen der
Methoden.

Siehe auch:

. get_class_vars()
. get_object_vars()

nach unten nach oben Beispiel

<?PHP
class database{
    function first(){
    }
    function second(){
    }
}
$connect_to_base = new database;
$name =  get_class($connect_to_base);
$array = get_class_methods($name);
for($x=0;$x< count($array);$x++){
    echo $array[$x] . "\n";
}
?>

nach unten nach oben Ausgabe

first
second

Zurück: get_class

Weiter: get_class_vars


Funktionsreferenz / Klassen und Objekt-Funktionen / get_class_vars

Letztes Update der Funktion get_class_vars: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_class_vars

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_class_vars ( string class_name )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_class_vars() kann man sich alle Standardelemente einer Klasse
(class_name) zurückgeben lassen. Als Standardelemente ist alles zu sehen, was
mit "var" in der Klassendefinition deklariert wurde.
Als Rückgabewert erhalten Sie ein Array mit dem Namen der Variablen und deren
Inhalt.

Siehe auch:

. get_class_methods()
. get_object_vars()

nach unten nach oben Beispiel

<?PHP
class database{
    var $db_server = "localhost";
    var $db_name = "container";
    var $db_user = "root";
    var $db_passwort = "xkLjsdes";
    var $vari = 20;
    function first(){

    }
    function second(){

    }
}
$connect_to_base = new database;
$name =  get_class($connect_to_base);
$array = get_class_vars($name);

while (list($key, $val) = each($array)) {
    echo "$key => $val";
    echo "\n";
}
?>

nach unten nach oben Ausgabe

db_server => localhost
db_name => container
db_user => root
db_passwort => xkLjsdes
vari => 20

Zurück: get_class_methods

Weiter: get_declared_classes


Funktionsreferenz / Klassen und Objekt-Funktionen / get_declared_classes

Letztes Update der Funktion get_declared_classes: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_declared_classes

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_declared_classes ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_declared_classes() kann man sich innerhalb eines Skripts alle
deklarierten Klassen zurückgeben lassen. Als Rückgabewert erhalten Sie ein
Array mit den Namen der Klassen.

Folgende Klassen werden am Anfang des Arrays zurückgegeben (kann abweichen
durch Versionsnummer von PHP:

. stdClass (deklariert in Zend/zend.c)
. Directory (deklariert in ext/standard/dir.c)

nach unten nach oben Beispiel

<?PHP
class database{
    function first(){
    }
    function second(){
    }
}
class base_data{
    function first(){
    }
    function second(){
    }
}
$connect_to_base = new database;
$connect_to_base = new base_data;
$name =  get_declared_classes ();

while (list($key, $val) = each($name)) {
    echo "$key => $val";
    echo "\n";
}
?>

nach unten nach oben Ausgabe

0 => stdClass
1 => __PHP_Incomplete_Class
2 => Directory
3 => COM
4 => VARIANT
5 => database
6 => base_data

Zurück: get_class_vars

Weiter: get_declared_interfaces


Funktionsreferenz / Klassen und Objekt-Funktionen / get_declared_interfaces

Letztes Update der Funktion get_declared_interfaces: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_declared_interfaces

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_declared_interfaces ( void )

nach unten nach oben Version

(PHP 5)

nach unten nach oben Beschreibung

Mit get_declared_interfaces() kann man sich innerhalb eines Skripts alle
deklarierten Interfaces (Schnittstellen) zurückgeben lassen. Als Rückgabewert
erhalten Sie ein Array mit den Namen.

nach unten nach oben Beispiel

<?PHP
print_r(get_declared_interfaces());
?>

nach unten nach oben Ausgabe

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => Reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

Zurück: get_declared_classes

Weiter: get_object_vars


Funktionsreferenz / Klassen und Objekt-Funktionen / get_object_vars

Letztes Update der Funktion get_object_vars: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_object_vars

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_object_vars ( object obj )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_object_vars() kann man sich alle Mitgliedsvariablen (Eigenschaften)
eines Objekts (obj) zurückgeben lassen.
Als Rückgabewert erhalten Sie ein Array mit dem Namen der Variablen und deren
Inhalt. Die Instanz der Klasse muss vorhanden sein, da es sonst zu einer
Fehlermeldung kommt.

Siehe auch:

. get_class_methods()
. get_class_vars()

nach unten nach oben Beispiel

<?PHP
class database{
    var $db_server = "localhost";
    var $db_name = "container";
    var $db_user, $db_passwort;
    var $vari = 20;

    function first(){
    }
}
$connect_to_base = new database;
$connect_to_base->vari = 50;
$connect_to_base->db_user = "damir";
$connect_to_base->db_passwort = "geheim";
$array = get_object_vars($connect_to_base);
while (list($key, $val) = each($array)) {
    echo "$key => $val";
    echo "\n";
}
?>

nach unten nach oben Ausgabe

db_server => localhost
db_name => container
vari => 50
db_user => damir
db_passwort => geheim

Zurück: get_declared_interfaces

Weiter: get_parent_class


Funktionsreferenz / Klassen und Objekt-Funktionen / get_parent_class

Letztes Update der Funktion get_parent_class: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_parent_class

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string get_parent_class ( mixed obj )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_parent_class() kann man anhand eines Objekts (obj), das Instanz einer
Subklasse ist, den Namen der Basisklasse ermitteln.

Siehe auch:

. get_class()
. is_subclass_of()

nach unten nach oben Beispiel

<?PHP
class database{
      function first(){
    }
}
class secure extends database{
    function second(){
    }
}
$connect = new secure;
echo get_parent_class($connect);
?>

nach unten nach oben Ausgabe

database

Zurück: get_object_vars

Weiter: is_a


Funktionsreferenz / Klassen und Objekt-Funktionen / Übersicht Klassen und Objekt-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Klassen und Objekt-Funktionen

Auf den folgenden Seiten werden die Klassen und Objekt-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "PHP und OOP": Praxisbuch öffnen

Die hier gelisteten Klassen und Objekt-Funktionen bestehen aus folgenden Seiten:

call_user_method
call_user_method_array
class_exists
get_class
get_class_methods
get_class_vars
get_declared_classes
get_declared_interfaces
get_object_vars
get_parent_class
is_a
is_subclass_of
method_exists


Funktionsreferenz / Klassen und Objekt-Funktionen / is_a

Letztes Update der Funktion is_a: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_a

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_a ( object object, string class_name )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Mit is_a() kann man überprüfen, ob eine Klasse innerhalb eines Objekts definiert ist.

Siehe auch:

. get_class()
. get_parent_class()
. is_subclass_of()

nach unten nach oben Beispiel

<?PHP
class database{
    var $oink = 'moo';
}
$klasse = new database();

if (is_a($klasse, 'database')) {
    echo "Klasse wurde im Objekt gefunden!";
}
?>

nach unten nach oben Ausgabe

Klasse wurde im Objekt gefunden!

Zurück: get_parent_class

Weiter: is_subclass_of


Funktionsreferenz / Klassen und Objekt-Funktionen / is_subclass_of

Letztes Update der Funktion is_subclass_of: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_subclass_of

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_subclass_of ( object obj, string superclass )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit is_subclass_of() kann man überprüfen, ob es sich bei dem zu untersuchenden Objekt (obj)
um die Instanz einer Subklasse der Basisklasse superclass handelt.

Siehe auch:

. get_class()
. get_parent_class()

nach unten nach oben Beispiel

<?PHP
class database{
    function first(){
    }
}
class secure extends database{
    function second(){
    }
}
$klasse = new secure;
if(is_subclass_of($klasse,"database"))
    echo "Das Objekt ist eine Subklasse";
else
    echo "Das Objekt ist keine Subklasse";
?>

nach unten nach oben Ausgabe

Das Objekt ist eine Subklasse

Zurück: is_a

Weiter: method_exists


Funktionsreferenz / Klassen und Objekt-Funktionen / method_exists

Letztes Update der Funktion method_exists: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

method_exists

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool method_exists ( object object, string method_name )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit method_exists() kann man überprüfen, ob eine Methode (method_name)
innerhalb eines Objekts (obj) definiert ist.

Siehe auch:

. function_exists()

nach unten nach oben Beispiel

<?PHP
class database{
      function first(){
    }
    function second(){
    }
}
$klasse = new database;
$array = array("first","database","second");
for($x=0;$x<count($array);$x++){
    if(method_exists($klasse,$array[$x]))
        echo "Das Objekt besitzt die Methode $array[$x] \n";
    else
        echo "Das Objekt besitzt nicht die Methode $array[$x] \n";
}
?>

nach unten nach oben Ausgabe

Das Objekt besitzt die Methode first
Das Objekt besitzt nicht die Methode database
Das Objekt besitzt die Methode second

Zurück: is_subclass_of

Weiter: Kontroll-Mechanismen


Funktionsreferenz / Kontroll-Mechanismen / break

Letztes Update der Funktion break: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

break

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

break [int Sequenz]

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Mit break wird die aktuelle for-, while- oder switch-Anweisung abgebrochen und somit die Schleife verlassen. Da alle drei Parameter bei einer for-Schleife optional sind, kann es zu dem Umstand kommen, dass ohne eine Iterationsvariable aus der for-Schleife eine Endlosschleife wird.

nach unten nach oben Beispiel

<?PHP
for(;;){
  echo $x++ . '<br>';
  if($x == 3)
      break;
}
?>

nach unten nach oben Ausgabe

1
2

Zurück: Klassen und Objekt-Funktionen

Weiter: continue


Funktionsreferenz / Kontroll-Mechanismen / continue

Letztes Update der Funktion continue: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

continue

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

continue

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Mit continue kann man einen Schleifendurchlauf abbrechen und zum nächsten Durchlauf übergehen.

nach unten nach oben Beispiel

<?PHP
for($x = 1; $x < 10; $x++){
  if($x % 2)
    continue;
  echo $x . '<br>';
}
?>

nach unten nach oben Ausgabe

2
4
6
8

Zurück: break

Weiter: do_while


Funktionsreferenz / Kontroll-Mechanismen / do_while

Letztes Update der Funktion do_while: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

do_while

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

do...while

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Die do...while-Schleife ist der while-Schleife sehr ähnlich, aber ein entscheidender Punkt sticht hervor. Die Bedingung wird erst am Ende der Schleife überprüft. So wird mindestens einmal die Schleife durchlaufen, während bei einer While-Schleife die Bedingung am Anfang schon false sein kann und somit nicht durchlaufen wird.

nach unten nach oben Beispiel

<?PHP
$var = 0;
do{
  echo $var;
}while($i > 0);
?>

nach unten nach oben Ausgabe

0

Zurück: continue

Weiter: dynamische_variablen


Funktionsreferenz / Kontroll-Mechanismen / dynamische_variablen

Letztes Update der Funktion dynamische_variablen: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

dynamische_variablen

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Oftmals ist es sinnvoll, dynamische Variablen-Bezeichner zu benutzen und im weiteren Skript zu gebrauchen. Daher kann man innerhalb von PHP einen Variablennamen dynamisch anlegen. Dabei nimmt eine dynamische Variable den Wert einer anderen Variablen und nutzt diesen als Bezeichner.

nach unten nach oben Beispiel

<?PHP
$var = 'Guten'; // Variable ein Wert zuweisen
$$var = 'Tag'; // Bezeichner zuweisen (Guten)

echo "$var ${$var} <br>";
echo "$var $Guten <br>";
?>

nach unten nach oben Ausgabe

Guten Tag
Guten Tag

Zurück: do_while

Weiter: for


Funktionsreferenz / Kontroll-Mechanismen / for

Letztes Update der Funktion for: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

for

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Mit for wird ein Schleifendurchlauf abgearbeitet. Dabei gibt man einen Start- und einen Endwert ein. Die Schleife endet erst bei Erreichen des Endwertes. Da alle drei Parameter bei einer for-Schleife optional sind, kann es zu dem Umstand kommen, dass ohne eine Iterationsvariable aus der for-Schleife eine Endlosschleife wird.

nach unten nach oben Beispiel

<?PHP
for($x = 1; $x < 15; $x++){
  echo 'Dieses ist der' . $x . '. Durchlauf <br>';
}
?>

nach unten nach oben Ausgabe

Dieses ist der 1. Durchlauf
.
.
Dieses ist der 14. Durchlauf

Zurück: dynamische_variablen

Weiter: foreach


Funktionsreferenz / Kontroll-Mechanismen / foreach

Letztes Update der Funktion foreach: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

foreach

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Seit der Version 4 ist es nun auch endlich möglich, auf einfache Weise ein Array auszulesen. Gegenüber einer for-Schleife vereinfacht sich die Syntax enorm. Dabei wird das Array vom Anfang bis zum Ende durchlaufen.

nach unten nach oben Beispiel

<?PHP
$var = array('Birnen', 'Bananen', 'Äpfel');
foreach ($var as $value){
  echo "Wert: $value<br>\n";
}
?>

nach unten nach oben Ausgabe

Wert: Birnen
Wert: Bananen
Wert: Äpfel

Zurück: for

Weiter: if


Funktionsreferenz / Kontroll-Mechanismen / if

Letztes Update der Funktion if: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

if

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe | Springe zu Tipp Tipp |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Mit if wird ein Kontrollmechanismus eingeleitet und abgearbeitet, wenn dieser wahr ist. Dabei müssen die Bedingungen innerhalb der Abfrage einen logischen Wert (True oder False) zurückliefern. Als False wird die Zahl 0, der String "0" oder "" (leer) gesehen, während alle anderen Rückgabewerte True darstellen. Im Folgenden sehen Sie Operatoren für die Ausdrücke, um diese bei der Überprüfung von Bedingungen nutzen zu können.

Logische Operatoren:

. and $x und $y müssen gleich sein
. or $x oder $y muss TRUE sein
. xor $x und $y dürfen nicht gleich sein (Ungleich)
. &&.$x und $y müssen gleich sein
. ||.$x oder $y muss TRUE sein
. !. $x und $y dürfen nicht gleich sein (Ungleich)

Vergleichoperatoren:

. ==...$x und $y müssen gleich sein
. !=... $x und $y dürfen nicht gleich sein (Ungleich)
. > $x muss größer als $y sein
. < $x muss kleiner als $y sein
. >= $x muss größer oder gleich $y sein
. <= $x muss kleiner oder gleich $y sein

nach unten nach oben Beispiel

<?PHP
$x = 0;

//1.Möglichkeit (einzeilige if-Abfrage)

if($x == 0)
  echo 'Die Variable ist Null<br>';

//oder

if($x == 0):
  echo 'Die Variable ist Null<br>';
endif;

//2.Möglichkeit (mehrzeilige if-Abfrage)

if($x == 0){
  echo 'Die Variable ist Null<br>';
  echo 'Eine sehr kleine Zahl<br>';
}

//oder

if($x == 0):
  echo 'Die Variable ist Null<br>';
  echo 'Eine sehr kleine Zahl<br>';
endif;

//3.Möglichkeit (HTML-Code umschließen)

if($x == 0){
  ?>
  Hier kann ganz normaler HTML-Code stehen
  <?PHP
}
?>

nach unten nach oben Ausgabe

Die Variable ist Null
Die Variable ist Null
Die Variable ist Null
Eine sehr kleine Zahl
Die Variable ist Null
Eine sehr kleine Zahl
Hier kann ganz normaler HTML-Code stehen

nach unten nach oben Tipp

Achten Sie darauf, dass bei der 3. Möglichkeit der zu schließende if-Zweig innerhalb von einem PHP-Syntax steht. Zwischen dem if-Zweig kann beliebiger HTML-Code stehen und man muss nicht auf PHP-typische Sonderzeichen achten, welche innerhalb von PHP gesondert geschützt werden müssen.

Zurück: foreach

Weiter: if_else


Funktionsreferenz / Kontroll-Mechanismen / if_else

Letztes Update der Funktion if_else: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

if_else

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe | Springe zu Tipp Tipp |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Mit if...else wird ein Kontrollmechanismus eingeleitet und auf den Einstiegspunkt hin überprüft. Ist der if-Zweig "False", wird direkt in den else-Zweig geleitet und dieser abgearbeitet. Ist hingegen der if-Zweig "True", wird der else-Zweig übergangen und nur der if-Zweig abgearbeitet. Sie sollten aber bedenken, dass auf jeden Fall einer der Blöcke abgearbeitet wird.

nach unten nach oben Beispiel

<?PHP
$x = 15;

if($x < 14){
  echo $x . ' ist kleiner als 14';
}else{
  echo $x . ' ist größer als 14';
}
?>

nach unten nach oben Ausgabe

15 ist größer als 14

nach unten nach oben Tipp

Achten Sie darauf, dass der else-Zweig immer abgearbeitet wird, wenn der if-Zweig "False" zurückliefert.

Zurück: if

Weiter: if_else_elseif


Funktionsreferenz / Kontroll-Mechanismen / if_else_elseif

Letztes Update der Funktion if_else_elseif: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

if_else_elseif

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Mit if...else...elseif wird ein Kontrollmechanismus eingeleitet und auf den Einstiegspunkt hin überprüft. Ist der if-Zweig "False", wird direkt in den elseif-Zweig geleitet und dieser wiederum auf Richtigkeit hin überpüft. Innerhalb des elseif-Zweiges wird elseif als if und else als else gesehen. Sie sollten aber bedenken, dass auf jeden Fall einer der Blöcke abgearbeitet wird.

nach unten nach oben Beispiel

<?PHP
$x = 10;

if($x < 0){
  echo $x . ' ist kleiner als 0';
}elseif($x < 10){
  echo $x . ' ist kleiner als 10';
}else{
  echo $x . ' ist größer als oder gleich 10';
}
?>

nach unten nach oben Ausgabe

10 ist größer als oder gleich 10

Zurück: if_else

Weiter: include


Funktionsreferenz / Kontroll-Mechanismen / include

Letztes Update der Funktion include: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

include

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei php.php Inhalt der Datei php.php | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Der include-Befehl hat zur Folge, dass vom PHP-Parsing-Modus in den HTML-
Modus geschaltet und die angegebene Datei eingelesen und ausgewertet wird. Ist
innerhalb der zu inkludierenden Datei PHP-Code, so muss dieser in gültigen
PHP-Start- (<?PHP) und End-Tags (?>) eingebunden werden.

Siehe auch:

. require()
. require_once()
. include_once()
. readfile()
virtual()

nach unten nach oben Inhalt der Datei php.php

<?PHP
echo 'Ich heiße php.php';
?>

nach unten nach oben Beispiel

<?PHP
include('php.php');
?>

nach unten nach oben Ausgabe

Ich heiße php.php

Zurück: if_else_elseif

Weiter: include_once


Funktionsreferenz / Kontroll-Mechanismen / include_once

Letztes Update der Funktion include_once: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

include_once

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei 1.php Inhalt der Datei 1.php | Springe zu Inhalt der Datei 2.php Inhalt der Datei 2.php | Springe zu Beispiel1 Beispiel1 | Springe zu Ausgabe1 Ausgabe1 | Springe zu Inhalt der Datei 1.php Inhalt der Datei 1.php | Springe zu Inhalt der Datei 2.php Inhalt der Datei 2.php | Springe zu Beispiel2 Beispiel2 | Springe zu Ausgabe2 Ausgabe2 |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Der include_once Befehl hat zur Folge, dass die angegebene Datei eingelesen und ausgewertet wird. Wie bei der Anweisung require_once wird der Code nur einmal eingebunden. Damit soll verhindert werden, dass zwei identische Funktionen inkludiert werden und somit ein Fehler produziert wird.

Siehe auch:

. include()
. require()
. require_once()
. readfile()
virtual()

nach unten nach oben Inhalt der Datei 1.php

<?PHP
function mache_etwas(){
  echo 'Hier ist die Datei 1.php<br>';
}
?>

nach unten nach oben Inhalt der Datei 2.php

<?PHP
include_once('1.php');
echo 'Hier ist die Datei 2.php';
?>

nach unten nach oben Beispiel1

<?PHP
include_once('1.php');
mache_etwas();
include_once('2.php');
?>

nach unten nach oben Ausgabe1

Hier ist die Datei 1.php
Hier ist die Datei 2.php

nach unten nach oben Inhalt der Datei 1.php

<?PHP
function mache_etwas(){
  echo 'Hier ist die Datei 1.php<br>';
}
?>

nach unten nach oben Inhalt der Datei 2.php

<?PHP
include('1.php');
echo 'Hier ist die Datei 2.php';
?>

nach unten nach oben Beispiel2

<?PHP
include('1.php');
mache_etwas();
include('2.php');
?>

nach unten nach oben Ausgabe2

Hier ist die Datei 1.php
Fatal error: Cannot redeclare mache_etwas() in 1.php on line 2

Zurück: include

Weiter: require


Funktionsreferenz / Kontroll-Mechanismen / Übersicht Kontroll-Mechanismen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kontroll-Mechanismen

Auf den folgenden Seiten werden die Kontroll-Mechanismen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Kontrollstrukturen": Praxisbuch öffnen

Die hier gelisteten Kontroll-Mechanismen bestehen aus folgenden Seiten:

break
continue
do_while
dynamische_variablen
for
foreach
if
if_else
if_else_elseif
include
include_once
require
require_once
switch
vordefinierte_variablen
while


Funktionsreferenz / Kontroll-Mechanismen / require

Letztes Update der Funktion require: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

require

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei php.php Inhalt der Datei php.php | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Der require-Befehl hat zur Folge, dass vom PHP-Parsing-Modus in den HTML-Modus geschaltet wird und die angegebene Datei eingelesen und ausgewertet wird. Ist innerhalb der zu inkludierenden Datei PHP-Code, so muss dieser in gültigen PHP-Start- (<?PHP) und End-Tags (?>) eingebunden werden. Sie können den require-Befehl nicht innerhalb von Schleifen nutzen, da die Datei nur einmal eingelesen wird, sogar falls der require-Befehl in einem Zweig steht, der nicht ausgeführt wird - nutzen Sie in diesem Fall include().

Siehe auch:

. include()
. require()
. require_once()
. readfile()
virtual()

nach unten nach oben Inhalt der Datei php.php

<?PHP
echo 'Ich heiße php.php';
?>

nach unten nach oben Beispiel

<?PHP
require('php.php');
?>

nach unten nach oben Ausgabe

Ich heiße php.php

Zurück: include_once

Weiter: require_once


Funktionsreferenz / Kontroll-Mechanismen / require_once

Letztes Update der Funktion require_once: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

require_once

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei 1.php Inhalt der Datei 1.php | Springe zu Inhalt der Datei 2.php Inhalt der Datei 2.php | Springe zu Beispiel1 Beispiel1 | Springe zu Ausgabe1 Ausgabe1 | Springe zu Inhalt der Datei 1.php Inhalt der Datei 1.php | Springe zu Inhalt der Datei 2.php Inhalt der Datei 2.php | Springe zu Beispiel2 Beispiel2 | Springe zu Ausgabe2 Ausgabe2 |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Der require_once Befehl hat zur Folge, dass an seiner Stelle der Inhalt einer anderen Datei ausgegeben wird und somit ersetzt sich der Befehl durch die Datei. Der Hauptunterschied liegt darin, dass bei dem Befehl require_once der einzubindende Code einer Datei nur einmal eingebunden wird. Sehen Sie sich beide Beispiele genau an. Beim zweiten Beispiel würde man versuchen, zwei identische functions in eine Datei zu inkludieren - ein fataler Fehler!

Siehe auch:

. include()
. require()
. require_once()
. readfile()
virtual()

nach unten nach oben Inhalt der Datei 1.php

<?PHP
function mache_etwas(){
  echo 'Hier ist die Datei 1.php<br>';
}
?>

nach unten nach oben Inhalt der Datei 2.php

<?PHP
require_once('1.php');
echo 'Hier ist die Datei 2.php';
?>

nach unten nach oben Beispiel1

<?PHP
require_once('1.php');
mache_etwas();
require_once('2.php');
?>

nach unten nach oben Ausgabe1

Hier ist die Datei 1.php
Hier ist die Datei 2.php

nach unten nach oben Inhalt der Datei 1.php

<?PHP
function mache_etwas(){
  echo 'Hier ist die Datei 1.php<br>';
}
?>

nach unten nach oben Inhalt der Datei 2.php

<?PHP
require('1.php');
echo 'Hier ist die Datei 2.php';
?>

nach unten nach oben Beispiel2

<?PHP
require('1.php');
mache_etwas();
require('2.php');
?>

nach unten nach oben Ausgabe2

Hier ist die Datei 1.php
Fatal error: Cannot redeclare mache_etwas() in 1.php on line 2

Zurück: require

Weiter: switch


Funktionsreferenz / Kontroll-Mechanismen / switch

Letztes Update der Funktion switch: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

switch

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Switch ist vergleichbar mit einer if-Abfrage. Der Vorteil ist aber, dass Sie mit der switch-Anweisung verschiedene Argumente mit einer Variablen überprüfen können und somit in bestimmte Teile verzweigen können. Innerhalb der Verzweigung haben Sie die Möglichkeit, den Durchlauf mit break abzubrechen und somit die Schleife zu verlassen.

nach unten nach oben Beispiel

<?PHP
$var = 2;
switch($var){
  case 0:
    echo '$var ist gleich 0';
  break;
  case 1:
    echo '$var ist gleich 1';
  break;
  case 2:
    echo '$var ist gleich 2';
  break;
}
?>

nach unten nach oben Ausgabe

$var ist gleich 2

Zurück: require_once

Weiter: vordefinierte_variablen


Funktionsreferenz / Kontroll-Mechanismen / vordefinierte_variablen

Letztes Update der Funktion vordefinierte_variablen: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

vordefinierte_variablen

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Sie haben mit den unten stehenden Servervariablen die Möglichkeit, viele Informationen über das Serversystem oder den Besucher ihrer Website zu bekommen. Alle Variablen hier ausführlich zu erklären, würde den Rahmen des Buches sprengen. Sie haben aber die Möglichkeit, die einzelnen Variablen in ihren Skripts auszuprobieren.

nach unten nach oben Beispiel

<?PHP
echo '
  GATEWAY_INTERFACE: ' . $GATEWAY_INTERFACE . '<br>
  SERVER_NAME: ' . $SERVER_NAME . '<br>
  SERVER_SOFTWARE: ' . $SERVER_SOFTWARE . '<br>
  SERVER_PROTOCOL: ' . $SERVER_PROTOCOL . '<br>
  REQUEST_METHOD: ' . $REQUEST_METHOD . '<br>
  QUERY_STRING: ' . $QUERY_STRING . '<br>
  DOCUMENT_ROOT: ' . $DOCUMENT_ROOT . '<br>
  HTTP_ACCEPT: ' . $HTTP_ACCEPT . '<br>
  HTTP_ACCEPT_CHARSET: ' . $HTTP_ACCEPT_CHARSET . '<br>
  HTTP_ENCODING: ' . $HTTP_ENCODING . '<br>
  HTTP_ACCEPT_LANGUAGE: ' . $HTTP_ACCEPT_LANGUAGE . '<br>
  HTTP_CONNECTION: ' . $HTTP_CONNECTION . '<br>
  HTTP_HOST: ' . $HTTP_HOST . '<br>
  HTTP_REFERER: ' . $HTTP_REFERER . '<br>
  HTTP_USER_AGENT: ' . $HTTP_USER_AGENT . '<br>
  REMOTE_ADDR: ' . $REMOTE_ADDR . '<br>
  REMOTE_PORT: ' . $REMOTE_PORT . '<br>
  SCRIPT_FILENAME: ' . $SCRIPT_FILENAME . '<br>
  SERVER_ADMIN: ' . $SERVER_ADMIN . '<br>
  SERVER_PORT: ' . $SERVER_PORT . '<br>
  SERVER_SIGNATURE: ' . $SERVER_SIGNATURE . '<br>
  PATH_TRANSLATED: ' . $PATH_TRANSLATED . '<br>
  SCRIPT_NAME: ' . $SCRIPT_NAME . '<br>
  REQUEST_URI: ' . $REQUEST_URI . '<br>
';
?>

nach unten nach oben Ausgabe

GATEWAY_INTERFACE: CGI/1.1
SERVER_NAME: linux.im-online.de
SERVER_SOFTWARE: Apache/1.3.12 (Unix) PHP/4.0.0
SERVER_PROTOCOL: HTTP/1.1
REQUEST_METHOD: GET
QUERY_STRING:
DOCUMENT_ROOT: /www/htdocs
HTTP_ACCEPT: /
HTTP_ACCEPT_CHARSET:
HTTP_ENCODING:
HTTP_ACCEPT_LANGUAGE: de
HTTP_CONNECTION: Keep-Alive
HTTP_HOST: 192.168.19.222
HTTP_REFERER:
HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; QXW0334s)
REMOTE_ADDR: 192.168.19.103
REMOTE_PORT: 3573
SCRIPT_FILENAME: /www/users//test/index.php
SERVER_ADMIN: root@linux.im-online.de
SERVER_PORT: 80
SERVER_SIGNATURE:
Apache/1.3.12 Server at linux.im-online.de Port 80
PATH_TRANSLATED: /www/users//test/index.php
SCRIPT_NAME: /~test/index.php
REQUEST_URI: /~test/

Zurück: switch

Weiter: while


Funktionsreferenz / Kontroll-Mechanismen / while

Letztes Update der Funktion while: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

while

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

()

nach unten nach oben Beschreibung

Mit while() wird ein Schleifendurchlauf abgearbeitet und so lange ausgeführt, bis das Schleifenende erreicht wurde. Dabei wird bei jedem Schleifendurchlauf die Bedingung (expr) auf true geprüft. Ist true erreicht, wird die while-Schleife beendet. Ist die Bedingung schon vor dem ersten Durchlauf false, wird die Schleife nicht einmal abgearbeitet. Die while-Schleife ist sehr sinnvoll, wenn man vorher nicht genau weiß, wie oft ein Durchlauf benötigt wird. In Zusammenhang mit Datenbankabfragen ist die while-Schleife sehr sinnvoll und empfehlenswert. So könnte man sich z.B. alle Mitglieder eines Vereins ausgeben lassen, welche vor 1970 geboren wurden. Da Sie aber im Vorfeld (bei der Programmierung) nicht wissen können, wie viele Mitglieder es sind, bietet sich dort die Kombination mit einer While-Schleife an. Achten Sie darauf, dass eine while-Schleife immer einen Endwert besitzen muss da es sonst zu Programmabstürzen kommen kann. Wird die While-Schleife fehlerhaht eingesetzt, ist das Resultat katastrophal - aus der while-Schleife wird eine Endlosschleife.

nach unten nach oben Beispiel

<?PHP
//1. Möglichkeit

$x = 0;
while($x < 14){
  echo $x++ . '. Durchlauf <br>';
}

//2. Möglichkeit
while($x < 14):
  $x++;
  echo $x . '. Durchlauf <br>';
endwhile;
?>

nach unten nach oben Ausgabe

0.Durchlauf
.
.
13. Durchlauf

1.Durchlauf
.
.
13.Durchlauf

Zurück: vordefinierte_variablen

Weiter: Mail-Funktionen


Funktionsreferenz / Mail-Funktionen / Übersicht Mail-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mail-Funktionen

Auf den folgenden Seiten werden die Mail-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Mail via PHP": Praxisbuch öffnen

Die hier gelisteten Mail-Funktionen bestehen aus folgenden Seiten:

mail


Funktionsreferenz / Mail-Funktionen / mail

Letztes Update der Funktion mail: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mail

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mail() kann man eine E-Mail im Text- oder HTML-Format an eine oder mehrere Personen versenden. Sie können in dieser Mail einen Empfänger (to), einen Absender, ein CC , ein BCC und sogar ein Attachment festlegen, die alle beim Versand berücksichtigt werden. Der Betreff (subject) und die Nachricht (message) werden dann mit den obigen Daten versendet. Im Mailheader (additional_headers) können Sie verschiedene Angaben (From, Cc, Bcc etc - siehe Beispiel) machen, welche jeweils durch einen Zeilenvorschub (\n) getrennt sein müssen. Wollen Sie eine E-Mail an mehrere Personen senden, so schreiben Sie sie im to Bereich und trennen die einzelnen Adressen durch ein Komma(,). Im optionalen Parameter additional_parameters können Sie Befehlszeilenargumente an das Mail-Programm übergeben.

Zu dem Beispiel:

Für die Empfänger wurde hier ein Array geschaffen, um nachher mit implode() die einzelnen Adressen durch ein Komma zu trennen. Das Beispiel ist beliebig anpassbar, es soll hier nur die Möglichkeiten aufgezeigt werden.

nach unten nach oben Beispiel

<?PHP
/* Empfänger */
$empfaenger = array('Damir<mail@selfphp.com>');

/* Empfänger CC */
$empfaengerCC = array('Damir CC<mail@selfphp.com>');

/* Empfänger BCC */
$empfaengerBCC = array('Damir BCC<mail@selfphp.com>');

/* Absender */
$absender = 'Administrator SELFPHP<selfphp@selfphp.com>';

/* Rueckantwort */
$reply = 'Administrator SELFPHP<selfphp@selfphp.com>';

/* Betreff */
$subject = 'Info Mail von SELFPHP';

/* Nachricht */
$message = '<html>
    <head>
        <title>SELFPHP - Mail Beispiel</title>
    </head>
    <body>
        <table width="214" border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td width="47">PHP5</td>
                <td width="56">&nbsp;</td>
                <td width="99">&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td>SELFPHP</td>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>www.selfphp.de</td>
            </tr>
        </table>
    </body>
</html>
';

/* Baut Header der Mail zusammen */
$headers .= 'From:' . $absender . "\n";
$headers .= 'Reply-To:' . $reply . "\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n";
$headers .= 'X-Sender-IP: ' . $REMOTE_ADDR . "\n";
$headers .= "Content-type: text/html\n";

// Extrahiere Emailadressen
$empfaengerString = implode(',', $empfaenger);
$empfaengerCCString = implode(',', $empfaengerCC);
$empfaengerBCCString = implode(',', $empfaengerBCC);

$headers .= 'Cc: ' . $empfaengerCCString . "\n";
$headers .= 'Bcc: ' . $empfaengerBCCString . "\n";

/* Verschicken der Mail */
mail($empfaengerString, $subject, $message, $headers);
?>

nach unten nach oben Ausgabe

Versendet die Email an alle Empfänger

Zurück: Kontroll-Mechanismen

Weiter: Mathematische-Funktionen


Funktionsreferenz / Mathematische-Funktionen / abs

Letztes Update der Funktion abs: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

abs

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed abs ( mixed number )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit abs() kann man sich von einer bestimmten Zahl (number) den Absolutwert zurückgeben lassen. Ist die Zahl vom Typ "float", wird auch die Zahl als "float", sonst als "int" zurückgegeben. Ist die Zahl bereits ein Absolutwert, so bleibt sie von dem Befehl abs() unberührt.

nach unten nach oben Beispiel

<?PHP
echo abs(-6);
echo '<br>';
echo abs(-2.5);
echo '<br>';
echo abs(0);
echo '<br>';
echo abs(12);
?>

nach unten nach oben Ausgabe

6
2.5
0
12

Zurück: Mail-Funktionen

Weiter: acos


Funktionsreferenz / Mathematische-Funktionen / acos

Letztes Update der Funktion acos: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

acos

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float acos ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit acos() kann man sich den Arcuscosinus-Wert zu arg im Bogenmaß zurückgeben lassen. Der Wert arg darf zwischen -1.0 und 1.0 liegen. Werte darüber werden als "NAN" zurückgegeben.

Siehe auch:

. asin()
. atan()
. cos()
. rad2deg()

nach unten nach oben Beispiel

<?PHP
echo acos(1.00);
echo '<br>';
echo acos(0.52);
echo '<br>';
echo acos(-1.00);
echo '<br>';
echo acos(-1.01);
echo '<br>';
echo rad2deg(acos(0.50)) . '°';
?>

nach unten nach oben Ausgabe

0
1.023945376099
3.1415926535898
NAN
60°

Zurück: abs

Weiter: asin


Funktionsreferenz / Mathematische-Funktionen / asin

Letztes Update der Funktion asin: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

asin

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float asin ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit asin() kann man sich den Arcussinus-Wert zu arg im Bogenmaß zurückgeben lassen. Der Wert arg darf zwischen -1.0 und 1.0 liegen. Werte darüber werden als "NAN" zurückgegeben.

Siehe auch:

. acos()
. atan()
. sin()
. rad2deg()

nach unten nach oben Beispiel

<?PHP
echo asin(1.0);
echo '<br>';
echo asin(0.52);
echo '<br>';
echo asin(-1.00);
echo '<br>';
echo asin(-1.01);
echo '<br>';
echo rad2deg(asin(0.50)) . '°';
?>

nach unten nach oben Ausgabe

1.5707963267949
0.54685095069594
-1.5707963267949
NAN
30°

Zurück: acos

Weiter: atan


Funktionsreferenz / Mathematische-Funktionen / atan

Letztes Update der Funktion atan: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

atan

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float atan ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit atan() kann man sich den Arcustangens-Wert zu arg im Bogenmaß zurückgeben lassen.

Siehe auch:

. asin()
. acos()
. atan2()
. rad2deg()
. tan()

nach unten nach oben Beispiel

<?PHP
echo $wert = atan(-1);
echo '<br>';
echo rad2deg(atan(1)) . '°';
?>

nach unten nach oben Ausgabe

-0.78539816339745
45°

Zurück: asin

Weiter: atan2


Funktionsreferenz / Mathematische-Funktionen / atan2

Letztes Update der Funktion atan2: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

atan2

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float atan2 ( float y, float x )

nach unten nach oben Version

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit atan2() kann man sich den Arcustangens-Wert der Parameter x und y zurückgeben lassen. Dabei wird das Vorzeichen beider Parameter ausgewertet und so der Quadrant des Ergebnisses bestimmt.

Siehe auch:

. atan()
. asin()
. acos()
. rad2deg()
. tan()

nach unten nach oben Beispiel

<?PHP
echo atan2(-2, 2);
echo '<br>';
echo rad2deg(atan2(1, 2)) . '°';
?>

nach unten nach oben Ausgabe

-0.78539816339745
26.565051177078°

Zurück: atan

Weiter: base_convert


Funktionsreferenz / Mathematische-Funktionen / base_convert

Letztes Update der Funktion base_convert: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

base_convert

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

strin base_convert ( string number, int frombase, int tobase )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung
Mit base_convert() kann man eine Zahl (number) von einer beliebigen Basis (frombase) zu einer anderen Basis (tobase) konvertieren lassen. Es ist darauf zu achten, dass die Basen den Wert 36 nicht überschreiten. Für Zahlen in Basen größer als 10 werden neben den Ziffern 0-9 auch die Buchstaben a-z genutzt, wobei a einen Wert von 10 und z einen Wert von 36 hat.

Siehe auch:

. bindec()
. decbin()
. dechex()
. decoct()
. hexdec()
. octdec()

nach unten nach oben Beispiel

<?PHP
echo base_convert(16, 2, 4);
?>

nach unten nach oben Ausgabe

2

Zurück: atan2

Weiter: bcadd


Funktionsreferenz / Mathematische-Funktionen / bcadd

Letztes Update der Funktion bcadd: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bcadd

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string bcadd ( string linker Operand, string rechter Operand [, int Genauigkeit] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bcadd() wird der erste Operand (LOperand) zu dem zweiten Operanden (ROperand) addiert. Der optionale Parameter Genauigkeit bestimmt die Nachkommastellen.

Siehe auch:

. bcsub()

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
echo bcadd(30, 6, 3);
?>

nach unten nach oben Ausgabe

36.000

Zurück: base_convert

Weiter: bccomp


Funktionsreferenz / Mathematische-Funktionen / bccomp

Letztes Update der Funktion bccomp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bccomp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int bccomp ( string linker Operand, string rechter Operand [, int Genauigkeit] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bccomp() wird der erste Operand (LOperand) mit dem zweiten Operanden (ROperand) verglichen. Sind beide Operanden gleich, wird 0 zurückgegeben. Ist der linke Operand größer als der rechte Operand, wird +1 zurückgegeben, sonst -1 (rechter Operand ist größer). Der Parameter Genauigkeit bestimmt die Nachkommastellen, welche beim Vergleich berücksichtigt werden.

Achtung: Diese Funktion ist nur ausführbar , wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
echo bccomp(21.123, 21.124, 2);
echo '<br>';
echo bccomp(21.123, 21.124, 3);
echo '<br>';
echo bccomp(21.124, 21.123, 3);
?>

nach unten nach oben Ausgabe

0
-1
1

Zurück: bcadd

Weiter: bcdiv


Funktionsreferenz / Mathematische-Funktionen / bcdiv

Letztes Update der Funktion bcdiv: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bcdiv

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string bcdiv ( string linker Operand, string rechter Operand [, int Genauigkeit] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bcdiv() wird der erste Operand (LOperand) durch den zweiten Operanden (ROperand) dividiert. Der Parameter Genauigkeit bestimmt die Nachkommastellen im Ergebnis.

Siehe auch:

. bcmul()

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
echo bcdiv(9, 2, 0);
echo '<br>';
echo bcdiv(9, 2, 1);
?>

nach unten nach oben Ausgabe

4
4.5

Zurück: bccomp

Weiter: bcmod


Funktionsreferenz / Mathematische-Funktionen / bcmod

Letztes Update der Funktion bcmod: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bcmod

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string bcmod ( string linker Operand, string Modulus )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bcmod() wird der Modulus-Wert einer Zahl (Operand) zurückgeliefert.

Siehe auch:

. bcdiv()

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
echo bcmod(80, 3);
// 80 : 3 = 26 - Rest 2
?>

nach unten nach oben Ausgabe

2

Zurück: bcdiv

Weiter: bcmul


Funktionsreferenz / Mathematische-Funktionen / bcmul

Letztes Update der Funktion bcmul: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bcmul

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string bcmul ( string linker Operand, string rechter Operand [, int Genauigkeit] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bcmul() wird der erste Operand (LOperand) mit dem zweiten Operanden (ROperand) multipliziert. Der Parameter Genauigkeit bestimmt die Nachkommastellen im Ergebnis.

Siehe auch:

. bcdiv()

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
echo bcmul(3.3, 2, 0);
echo '<br>';
echo bcmul(3.3, 2, 1);
?>

nach unten nach oben Ausgabe

6
6.6

Zurück: bcmod

Weiter: bcpow


Funktionsreferenz / Mathematische-Funktionen / bcpow

Letztes Update der Funktion bcpow: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bcpow

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string bcpow ( string x, string y [, int Genauigkeit] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bcpow() wird der erste Operand (x) mit dem zweiten Operanden (y) potenziert. Der Parameter Genauigkeit bestimmt die Nachkommastellen im Ergebnis. Es ist darauf zu achten, dass der zweite Operand keine Nachkommastellen besitzt. Je nach Version erhalten Sie entweder eine Fehlermeldung oder die Nachkommastelle wird bei der Berechnung einfach nicht berücksichtigt.

Siehe auch:

. bcsqrt()

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
echo bcpow(3.1, 3, 3);
echo '<br>';
echo bcpow(3.1, 3, 1);
?>

nach unten nach oben Ausgabe

29.791
29.7

Zurück: bcmul

Weiter: bcscale


Funktionsreferenz / Mathematische-Funktionen / bcscale

Letztes Update der Funktion bcscale: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bcscale

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel |

nach unten nach oben Befehl

bool bcscale ( int Genauigkeit )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bcscale() wird die Genauigkeit aller folgenden BC-Funktionen innerhalb des laufenden Skripts bestimmt. Falls Sie einer BC-Funktion (z.B. bcadd) keinen expliziten Wert für den Parameter Genauigkeit übergeben, gilt die mit bcscale() voreingestellte Anzahl der Nachkommastellen.

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
bcscale(3);
/* Alle nachfolgenden Berechnungen haben drei Nachkommastellen */
?>

Zurück: bcpow

Weiter: bcsqrt


Funktionsreferenz / Mathematische-Funktionen / bcsqrt

Letztes Update der Funktion bcsqrt: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bcsqrt

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string bcsqrt ( string Operand [, int Genauigkeit] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bcsqrt() wird die Quadratwurzel von Operand ermittelt. Der Parameter Genauigkeit gibt die Nachkommastellen des Ergebnisses an.

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
echo bcsqrt(25, 3);
?>

nach unten nach oben Ausgabe

5.000

Zurück: bcscale

Weiter: bcsub


Funktionsreferenz / Mathematische-Funktionen / bcsub

Letztes Update der Funktion bcsub: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bcsub

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string bcsub ( string linker Operand, string rechter Operand [, int Genauigkeit] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bcsub() wird der zweite Operand (ROperand) vom ersten Operanden (LOperand) subtrahiert. Der Parameter Genauigkeit bestimmt die Nachkommastellen im Ergebnis.

Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit --enable-bcmath konfiguriert wurde.

nach unten nach oben Beispiel

<?PHP
echo bcsub(17, 9, 3);
?>

nach unten nach oben Ausgabe

8.000

Zurück: bcsqrt

Weiter: bindec


Funktionsreferenz / Mathematische-Funktionen / bindec

Letztes Update der Funktion bindec: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bindec

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int bindec ( string binary_string )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bindec() wird eine binäre Zahl (binary_string) in eine dezimale Zahl konvertiert. Eine Binärzahl besteht ausschließlich aus den Ziffern 1 und 0.

Siehe auch:

. decbin()
. octdec()
. hexdec()

nach unten nach oben Beispiel

<?PHP
echo bindec(101010);
?>

nach unten nach oben Ausgabe

42

Zurück: bcsub

Weiter: ceil


Funktionsreferenz / Mathematische-Funktionen / ceil

Letztes Update der Funktion ceil: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ceil

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float ceil ( float number )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ceil() wird diejenige ganze Zahl zurückgegeben, welche größer oder gleich der vorgegebenen Zahl (number) ist. Es wird ausschließlich aufgerundet, auch wenn die Nachkommastelle kleiner als 5 ist.

Siehe auch:

. floor()
. round()

nach unten nach oben Beispiel

<?PHP
echo ceil(9.4);
echo '<br>';
echo ceil(10);
?>

nach unten nach oben Ausgabe

10
10

Zurück: bindec

Weiter: cos


Funktionsreferenz / Mathematische-Funktionen / cos

Letztes Update der Funktion cos: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

cos

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float cos ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit cos() kann man sich den Cosinuswert von arg im Bogenmaß zurückgeben lassen.

Siehe auch:

. sin()
. tan()
. acos()

nach unten nach oben Beispiel

<?PHP
echo cos(30);
?>

nach unten nach oben Ausgabe

0.15425144988758

Zurück: ceil

Weiter: decbin


Funktionsreferenz / Mathematische-Funktionen / decbin

Letztes Update der Funktion decbin: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

decbin

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string decbin ( int number )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit decbin() wird eine dezimale Zahl (number) in eine binäre Zahl konvertiert.

Siehe auch:

. bindec()
. dechex()
. decoct()

nach unten nach oben Beispiel

<?PHP
echo decbin(42);
?>

nach unten nach oben Ausgabe

101010

Zurück: cos

Weiter: dechex


Funktionsreferenz / Mathematische-Funktionen / dechex

Letztes Update der Funktion dechex: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

dechex

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string dechex ( int number )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dechex() wird eine dezimale Zahl (number) in eine hexadezimale Zahl konvertiert.

Siehe auch:

. hexdec()
. decbin()
. decoct()

nach unten nach oben Beispiel

<?PHP
echo dechex(42);
?>

nach unten nach oben Ausgabe

2a

Zurück: decbin

Weiter: decoct


Funktionsreferenz / Mathematische-Funktionen / decoct

Letztes Update der Funktion decoct: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

decoct

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string decoct ( int number )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit decoct() wird eine dezimale Zahl (number) in oktale Darstellung konvertiert.

Siehe auch:

. octdec()
. decbin()
. dechex()

nach unten nach oben Beispiel

<?PHP
echo decoct(42);
?>

nach unten nach oben Ausgabe

52

Zurück: dechex

Weiter: deg2rad


Funktionsreferenz / Mathematische-Funktionen / deg2rad

Letztes Update der Funktion deg2rad: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

deg2rad

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

double deg2rad ( double number )

nach unten nach oben Version

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit deg2rad() wird eine übergebene Zahl (number als Winkelangabe) von Grad in Bogenmaß umgerechnet.

Siehe auch:

. rad2deg()

nach unten nach oben Beispiel

<?PHP
echo deg2rad(90);
?>

nach unten nach oben Ausgabe

1.5707963267949

Zurück: decoct

Weiter: exp


Funktionsreferenz / Mathematische-Funktionen / exp

Letztes Update der Funktion exp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

exp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float exp ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit exp() wird die Eulerscher Zahl e mit der übergebenen Zahl (arg) potenziert. Dabei ist die Eulerscher Zahl e=2.7183.

Siehe auch:

. pow()

nach unten nach oben Beispiel

<?PHP
echo exp(10);
?>

nach unten nach oben Ausgabe

22026.465794807

Zurück: deg2rad

Weiter: floor


Funktionsreferenz / Mathematische-Funktionen / floor

Letztes Update der Funktion floor: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

floor

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float floor ( float number )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit floor() wird diejenige ganze Zahl ausgegeben, welche kleiner oder gleich der vorgegebenen Zahl number ist. Es wird ausschließlich abgerundet, auch wenn die Nachkommastelle größer als 5 ist.

Siehe auch:

. ceil()
. round()

nach unten nach oben Beispiel

<?PHP
echo floor(9.4);
echo '<br>';
echo floor(10);
?>

nach unten nach oben Ausgabe

9
10

Zurück: exp

Weiter: getrandmax


Funktionsreferenz / Mathematische-Funktionen / getrandmax

Letztes Update der Funktion getrandmax: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getrandmax

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int getrandmax ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getrandmax() kann man sich den größten Wert zurückgeben lassen, den die Funktion rand() auf der vorhandenen Plattform als Zufallszahl zurückgeben könnte.

Siehe auch:

. rand()
. srand()
. mt_rand()
. mt_srand()
. mt_getrandmax()

nach unten nach oben Beispiel

<?PHP
echo 'UNIX: ' . getrandmax();
echo '<br>';
echo 'Windows: ' . getrandmax();
?>

nach unten nach oben Ausgabe

UNIX: 2147483647
Windows: 32767

Zurück: floor

Weiter: hexdec


Funktionsreferenz / Mathematische-Funktionen / hexdec

Letztes Update der Funktion hexdec: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

hexdec

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int hexdec ( string hex_string )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit hexdec() wird eine hexadezimale Zahl (hex_string) in eine dezimale Zahl konvertiert.

Siehe auch:

. dechex()
. bindec()
. octdec()

nach unten nach oben Beispiel

<?PHP
echo hexdec('2a');
?>

nach unten nach oben Ausgabe

42

Zurück: getrandmax

Weiter: log


Funktionsreferenz / Mathematische-Funktionen / Übersicht Mathematische-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mathematische-Funktionen

Auf den folgenden Seiten werden die Mathematische-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Mathematische Funktionen": Praxisbuch öffnen

Die hier gelisteten Mathematische-Funktionen bestehen aus folgenden Seiten:

abs
acos
asin
atan
atan2
base_convert
bcadd
bccomp
bcdiv
bcmod
bcmul
bcpow
bcscale
bcsqrt
bcsub
bindec
ceil
cos
decbin
dechex
decoct
deg2rad
exp
floor
getrandmax
hexdec
log
log10
max
min
mt_getrandmax
mt_rand
mt_srand
number_format
octdec
pi
pow
rad2deg
rand
round
sin
sqrt
srand
tan


Funktionsreferenz / Mathematische-Funktionen / log

Letztes Update der Funktion log: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

log

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float log ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit log() kann man sich den natürlichen Logarithmus (zur Basis e=2.7183 - Eulerscher Zahl) des Parameters arg zurückgeben lassen.

Siehe auch:

. exp()
. log10()

nach unten nach oben Beispiel

<?PHP
echo log(210);
?>

nach unten nach oben Ausgabe

5.3471075307175

Zurück: hexdec

Weiter: log10


Funktionsreferenz / Mathematische-Funktionen / log10

Letztes Update der Funktion log10: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

log10

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float log10 ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit log10() kann man sich den Logarithmus (Logarithmus zur Basis 10) des Parameters arg zurückgeben lassen.

Siehe auch:

. log()

nach unten nach oben Beispiel

<?PHP
echo log10(210);
?>

nach unten nach oben Ausgabe

2.3222192947339

Zurück: log

Weiter: max


Funktionsreferenz / Mathematische-Funktionen / max

Letztes Update der Funktion max: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

max

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed max ( mixed arg1, mixed arg2, mixed argn )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit max() kann man sich den größten Wert der übergebenen Argumente (arg1 bis argn) zurückgeben lassen. Dabei ist darauf zu achten, dass mindestens zwei Werte vorhanden sein müssen, um eine Überprüfung vornehmen zu können. Sollten Sie dennoch nur einen Wert übergeben wollen, so muss dieser ein Array sein.

Siehe auch:

. min()

nach unten nach oben Beispiel

<?PHP
$array = array(5, 2, 45, 12, 9, 13, 22);
echo max($array);
echo '<br>';
echo max(1, 2, 3, 4, 5, 6, 7);
?>

nach unten nach oben Ausgabe

45
7

Zurück: log10

Weiter: min


Funktionsreferenz / Mathematische-Funktionen / min

Letztes Update der Funktion min: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

min

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed min ( mixed arg1, mixed arg2, mixed argn )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit min() kann man sich den kleinsten Wert der übergebenen Argumente (arg1 bis argn) zurückgeben lassen. Dabei ist darauf zu achten, dass mindestens zwei Werte vorhanden sein müssen, um eine Überprüfung vornehmen zu können. Sollten Sie dennoch nur einen Wert übergeben wollen, so muss dieser ein Array sein.

Siehe auch:

. max()

nach unten nach oben Beispiel

<?PHP
$array = array(5, 2, 45, 12, 9, 13, 22);
echo min($array);
echo '<br>';
echo min(1, 2, 3, 4, 5, 6, 7);
?>

nach unten nach oben Ausgabe

2
1

Zurück: max

Weiter: mt_getrandmax


Funktionsreferenz / Mathematische-Funktionen / mt_getrandmax

Letztes Update der Funktion mt_getrandmax: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mt_getrandmax

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu |

nach unten nach oben Befehl

int mt_getrandmax ( void )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mt_getrandmax() kann man sich den größten Wert zurückgeben lassen, den die Funktion mt_rand() auf der vorhandenen Plattform zurückgeben könnte.

Siehe auch:

. mt_rand()
. mt_srand()
. rand()
. srand()
. getrandmax()

nach unten nach oben Beispiel

<?PHP
echo mt_getrandmax();
?>

Ausgabe nach unten nach oben

UNIX: 2147483647
Windows: 2147483647

Zurück: min

Weiter: mt_rand


Funktionsreferenz / Mathematische-Funktionen / mt_rand

Letztes Update der Funktion mt_rand: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mt_rand

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe | Springe zu Hinweis Hinweis |

nach unten nach oben Befehl

int mt_rand ( [ int min [, int max]] )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mt_rand() man sich eine Zufallszahl zwischen min und max zurückgeben lassen. Gegenüber rand() erzeugt mt_rand() wesentlich bessere Zufallszahlen. Ohne die Parameter min und max werden Zufallszahlen zwischen 0 und dem plattformabhängigen Maximalwert geliefert. Dieser Maximalwert kann mit mt_getrandmax() ermittelt werden. Sie sollten unbedingt immer den Befehl mt_srand() vor mt_rand() benutzen, um nicht immer dieselben Werte zu bekommen.

Siehe auch:

. mt_srand()
. mt_getrandmax()
. rand()
. srand()
. getrandmax()

nach unten nach oben Beispiel

<?PHP
mt_srand((double)microtime() * 1000000);
$zufall = mt_rand();
echo $zufall;
?>

nach unten nach oben Ausgabe

1722492715

nach unten nach oben Hinweis

Die Ausgabe kann aber auch ein anderer Wert sein!

Zurück: mt_getrandmax

Weiter: mt_srand


Funktionsreferenz / Mathematische-Funktionen / mt_srand

Letztes Update der Funktion mt_srand: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mt_srand

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel |

nach unten nach oben Befehl

void mt_srand ( int seed )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mt_srand() legt man einen internen Startwert für den "Mersenne-Twister"-Zufallszahlengenerator von mt_rand() fest. Um nicht immer die gleichen Werte zu bekommen, sollte man als Wert die aktuelle Zeit nehmen. Diese Funktion gibt keinen Ergebniswert zurück!

Siehe auch:

. mt_rand()
. mt_getrandmax()
. rand()
. srand()
. getrandmax()

nach unten nach oben Beispiel

<?PHP
mt_srand((double)microtime() * 1000000);
?>

Zurück: mt_rand

Weiter: number_format


Funktionsreferenz / Mathematische-Funktionen / number_format

Letztes Update der Funktion number_format: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

number_format

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit number_format() kann man eine Zahl (number) formatieren. Die Parameter haben folgende Bedeutung:

. number ist der zu formatierende Wert
. decimals Anzahl der Nachkommastellen
. string1 legt das Zeichen vor den Nachkommastellen fest
. string2 legt das Tausendertrennzeichen fest

Die Funktion akzeptiert ein, zwei oder vier Parameter (nicht drei).

nach unten nach oben Beispiel

<?PHP
echo number_format(2120, 2, '.', ',');
echo '<br>';
echo number_format(2120, 2, ',', '.');
?>

nach unten nach oben Ausgabe

2,120.00
2.120,00

Zurück: mt_srand

Weiter: octdec


Funktionsreferenz / Mathematische-Funktionen / octdec

Letztes Update der Funktion octdec: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

octdec

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int octdec ( string octal_string )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit octdec() wird eine oktale Zahl (octal_string) in eine dezimale Zahl konvertiert.

Siehe auch:

. decoct()
. bindec()
. hexdec()

nach unten nach oben Beispiel

<?PHP
echo octdec(52);
?>

nach unten nach oben Ausgabe

42

Zurück: number_format

Weiter: pi


Funktionsreferenz / Mathematische-Funktionen / pi

Letztes Update der Funktion pi: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pi

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

double pi ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit pi() kann man sich den Näherungswert der Kreiszahl Pi zurückgeben lassen. Dieser kann dann z.B. für Kreisberechnungen genutzt werden.

nach unten nach oben Beispiel

<?PHP
$pi = pi();
$r = 15;
$kreis_flaeche = $pi * pow($r, 2);
$kreis_flaeche = round($kreis_flaeche, 2);
$kreis_umfang = $pi * 2 * $r;
$kreis_umfang = round($kreis_umfang, 2);
echo '<b>Kreisberechnung:</b><br>';
echo 'r = ' . $r . ' mm <br>';
echo 'Pi = ' . $pi . '<br>';
echo 'Fläche = ' . $kreis_flaeche . ' mm² <br>';
echo 'Umfang = ' . $kreis_umfang . ' mm <br>';
?>

nach unten nach oben Ausgabe

Kreisberechnung:
r = 15 mm
Pi = 3.1415926535898
Fläche = 706.86 mm²
Umfang = 94.25 mm

Zurück: octdec

Weiter: pow


Funktionsreferenz / Mathematische-Funktionen / pow

Letztes Update der Funktion pow: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pow

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float pow ( float base, float exp )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit pow() kann man die Zahl base mit dem Faktor exp potenzieren (base hoch exp) lassen.

Siehe auch:

. exp()

nach unten nach oben Beispiel

<?PHP
echo pow(3, 4);
// Ergibt 3 * 3 * 3 * 3 = 81
?>

nach unten nach oben Ausgabe

81

Zurück: pi

Weiter: rad2deg


Funktionsreferenz / Mathematische-Funktionen / rad2deg

Letztes Update der Funktion rad2deg: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rad2deg

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

double rad2deg ( double number )

nach unten nach oben Version

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rad2deg() wird ein übergebener Winkel (number) von Bogenmaß in Grad umgerechnet.

Siehe auch:

. deg2rad()

nach unten nach oben Beispiel

<?PHP
echo rad2deg(1.5707963267949);
?>

nach unten nach oben Ausgabe

90

Zurück: pow

Weiter: rand


Funktionsreferenz / Mathematische-Funktionen / rand

Letztes Update der Funktion rand: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rand

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe | Springe zu Hinweis Hinweis |

nach unten nach oben Befehl

int rand ( [ int min [, int max]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rand() kann man sich eine Zufallszahl zwischen min und max zurückgeben lassen. Es ist darauf zu achten, dass min kleiner ist als max und max nicht größer ist als der maximale Wert, welcher auf der vorhandenen Plattform möglich ist. Bei PHP mit der Versionsnummer kleiner als 3.0.7 hat max eine andere Bedeutung: Die höchstmögliche Zahl ist min + max. Die Parameter min und max sind optional. Wenn Sie keine Argumente übergeben, werden Zufallszahlen zwischen 0 und dem plattformabhängigen Maximalwert geliefert. Dieser Maximalwert kann mit getrandmax() ermittelt werden. Sie sollten unbedingt immer den Befehl srand() vor rand() benutzen, um nicht immer dieselben Werte zu bekommen.

Siehe auch:

. srand()
. getrandmax()
. mt_rand()
. mt_srand()
. mt_getrandmax()

nach unten nach oben Beispiel

<?PHP
srand((double)microtime() * 1000000);
echo rand();
?>

nach unten nach oben Ausgabe

1427835891

nach unten nach oben Hinweis

Die Ausgabe kann aber auch ein anderer Wert sein!

Zurück: rad2deg

Weiter: round


Funktionsreferenz / Mathematische-Funktionen / round

Letztes Update der Funktion round: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

round

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

double round ( double val [, int precision] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit round() wird eine Zahl (val) auf- oder abgerundet. Der Parameter precision ist optional und nur in PHP4 verfügbar. Mit precision kann man die Nachkommastellen angeben, nach denen gerundet wird.

Siehe auch:

. ceil()
. floor()

nach unten nach oben Beispiel

<?PHP
echo round(22.86);
echo '<br>';
echo round(22.25);
echo '<br>';
echo round(22.86, 1);
echo '<br>';
echo round(22.25, 1);
?>

nach unten nach oben Ausgabe

23
22
22.9
22.3

Zurück: rand

Weiter: sin


Funktionsreferenz / Mathematische-Funktionen / sin

Letztes Update der Funktion sin: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

sin

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float sin ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit sin() kann man sich den Sinuswert im Radianten zurückgeben lassen.

Siehe auch:

. cos()
. tan()
. asin()

nach unten nach oben Beispiel

<?PHP
echo sin(1);
?>

nach unten nach oben Ausgabe

0.8414709848079

Zurück: round

Weiter: sqrt


Funktionsreferenz / Mathematische-Funktionen / sqrt

Letztes Update der Funktion sqrt: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

sqrt

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float sqrt ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit sqrt() kann man sich die Quadratwurzel des Wertes arg zurückgeben lassen.

nach unten nach oben Beispiel

<?PHP
echo sqrt(64);
?>

nach unten nach oben Ausgabe

8

Zurück: sin

Weiter: srand


Funktionsreferenz / Mathematische-Funktionen / srand

Letztes Update der Funktion srand: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

srand

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe | Springe zu Hinweis Hinweis |

nach unten nach oben Befehl

void srand ( int seed )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit srand() wird der interne Startwert für den Zufallsgenerator rand() festgelegt. Um nicht immer gleichen Zufallszahlen zu bekommen, sollte immer die aktuelle Zeit als Basis genommen werden.

Siehe auch:

. rand()
. getrandmax()
. mt_rand()
. mt_srand()
. mt_getrandmax()

nach unten nach oben Beispiel

<?PHP
srand((double)microtime() * 1000000);
echo rand();
?>

nach unten nach oben Ausgabe

1427835891

nach unten nach oben Hinweis

Die Ausgabe kann aber auch ein anderer Wert sein!

Zurück: sqrt

Weiter: tan


Funktionsreferenz / Mathematische-Funktionen / tan

Letztes Update der Funktion tan: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

tan

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float tan ( float arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit tan() kann man sich den Tangenswert im Radianten zurückgeben lassen.

Siehe auch:

. sin()
. cos()
. atan()
. atan2()

nach unten nach oben Beispiel

<?PHP
echo tan(60);
?>

nach unten nach oben Ausgabe

0.32004038937956

Zurück: srand

Weiter: MySQL-Funktionen


Funktionsreferenz / MySQL-Funktionen / Übersicht MySQL-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MySQL-Funktionen

Auf den folgenden Seiten werden die MySQL-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Datenbankprogrammierung": Praxisbuch öffnen

Die hier gelisteten MySQL-Funktionen bestehen aus folgenden Seiten:

mysql_affected_rows
mysql_change_user
mysql_client_encoding
mysql_close
mysql_connect
mysql_create_db
mysql_data_seek
mysql_db_query
mysql_drop_db
mysql_errno
mysql_error
mysql_escape_string
mysql_fetch_array
mysql_fetch_assoc
mysql_fetch_field
mysql_fetch_lengths
mysql_fetch_object
mysql_fetch_row
mysql_field_flags
mysql_field_len
mysql_field_name
mysql_field_seek
mysql_field_table
mysql_field_type
mysql_free_result
mysql_get_client_info
mysql_get_host_info
mysql_get_proto_info
mysql_get_server_info
mysql_insert_id
mysql_list_dbs
mysql_list_fields
mysql_list_processes
mysql_list_tables
mysql_num_fields
mysql_num_rows
mysql_pconnect
mysql_query
mysql_result
mysql_select_db
mysql_stat
mysql_tablename
mysql_thread_id


Funktionsreferenz / MySQL-Funktionen / mysql_affected_rows

Letztes Update der Funktion mysql_affected_rows: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_affected_rows

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_affected_rows ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_affected_rows() kann man sich die Menge der Datensätze zurückgeben lassen, welche von einer vorangegangene MySQL-Operation betroffen waren. Sollten Sie die optionale Verbindungskennung (Verbindungs-Kennung) nicht angeben, so wird die momentane Verbindung verwendet.

Folgende Anweisungen werden berücksichtigt:

. DELETE
. INSERT
. UPDATE

Beachten Sie bitte, dass diese Funktion bei einer DELETE-Anweisung ohne WHERE-Bedingung den Wert Null (0) zurückgeben wird, obwohl alle Datensätze gelöscht wurden.

Wenn Sie die Anzahl der Datensätze ermitteln möchten, die von SELECT-Anweisungen zurückgegeben wurden, sollten Sie die Funktion mysql_num_rows() nutzen.

Siehe auch:

. mysql_num_rows()

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort)
   or die ('Konnte keine Verbindung zur Datenbank herstellen');

$db_select = @mysql_select_db($db_name);

$sql = 'DELETE FROM
          selfphp_funktionen
        WHERE
          gruppe = \'Datenbanken\'';

$result = mysql_query($sql);

echo mysql_affected_rows() . ' Datensätze gelöscht!';
?>

nach unten nach oben Ausgabe

2 Datensätze gelöscht!

Zurück: Mathematische-Funktionen

Weiter: mysql_change_user


Funktionsreferenz / MySQL-Funktionen / mysql_change_user

Letztes Update der Funktion mysql_change_user: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_change_user

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_change_user ( string Benutzername, string Benutzerkennwort [, string Datenbank [, resource Verbindungs-Kennung]] )

nach unten nach oben Version

(PHP 3 >= 3.0.13)

nach unten nach oben Beschreibung

Mit mysql_change_user() kann man den zur Zeit angemeldeten User ändern. Dabei benötigt diese Funktion den neuen User (Benutzername) und das Passwort (Kennwort), um ihn anzumelden. Mit dem optionalen Parameter Datenbank können Sie einen Datenbanknamen angeben. Sollte die optionale Verbindungskennung (Verbindungs-Kennung) fehlen, so wird auf die momentane Verbindungskennung zurückgegriffen. Beachten Sie bitte, dass diese Funktion eine MySQL-Datenbank mit der Versionsnummer 3.23.3 oder höher benötigt.

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort)
   or die ('Konnte keine Verbindung zur Datenbank herstellen');

if($db)
  echo 'Verbindung zur Datenbank wurde hergestellt';

echo '<br>';

if(mysql_change_user('matthias', 'self', 'selfphp', $db))
  echo 'User wurde gewechselt!';
else
  echo 'Konnte User nicht wechseln!';
?>

nach unten nach oben Ausgabe

Verbindung zur Datenbank wurde hergestellt
User wurde gewechselt!

Zurück: mysql_affected_rows

Weiter: mysql_client_encoding


Funktionsreferenz / MySQL-Funktionen / mysql_client_encoding

Letztes Update der Funktion mysql_client_encoding: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_client_encoding

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_client_encoding ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_client_encoding() kann man sich den Zeichensatz für die aktuelle Verbindung Verbindungs-Kennung zurückgeben lassen.

Siehe auch:

. mysql_real_escape_string()

nach unten nach oben Beispiel

<?PHP
/* Stellt Verbindung zu Datenbank her */
$db = @mysql_connect('localhost', 'selfphp', 'mega')
   or die('Datenbankverbindung fehlgeschlagen: ' . mysql_error());

$set = mysql_client_encoding($db);

echo 'Zeichensatz ist: ' . $set;
?>

nach unten nach oben Ausgabe

Zeichensatz ist: latin1

Zurück: mysql_change_user

Weiter: mysql_close


Funktionsreferenz / MySQL-Funktionen / mysql_close

Letztes Update der Funktion mysql_close: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_close

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool mysql_close ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_close() schließt man anhand der Verbindungskennung (Verbindungs-Kennung) eine Verbindung zu einer MySQL-Datenbank. Im Erfolgsfall gibt diese Funktion true, sonst false zurück. Eigentlich müssen Sie nicht-persistente Verbindungen zu einer Datenbank nicht explizit schließen, sollten dies aber tun, um einen guten Programmierstil beizubehalten. Beachten Sie bitte, dass mysql_close() keine persistenten Verbindungen, welche mit mysql_pconnect() hergestellt wurden, schließen kann.

Siehe auch:

. mysql_connect()
. mysql_pconnect()

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort)
   or die ('Konnte keine Verbindung zur Datenbank herstellen');

if($db)
  echo 'Verbindung zur Datenbank wurde hergestellt';

echo '<br>';

/* Schliessen der Datenbank-Verbindung */
$db_close = @mysql_close($db);

if($db_close)
  echo 'Verbindung zur Datenbank geschlossen';
else
  echo 'Konnte Verbindung zur Datenbank nicht schliessen';
?>

nach unten nach oben Ausgabe

Verbindung zur Datenbank wurde hergestellt
Verbindung zur Datenbank geschlossen

Zurück: mysql_client_encoding

Weiter: mysql_connect


Funktionsreferenz / MySQL-Funktionen / mysql_connect

Letztes Update der Funktion mysql_connect: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_connect

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource mysql_connect ( [string Server [, string Benutzername [, string Benutzerkennwort [, bool neue_Verbindung [, int client_flags]]]]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_connect() öffnet man eine Verbindung zu einer MySQL-Datenbank. Im Erfolgsfall gibt diese Funktion eine Verbindungskennung, sonst false zurück. Falls keine Verbindung erstellt werden kann, so können Sie eine eigene Fehlermeldung zum Browser senden und danach das Skript abbrechen lassen (siehe im Beispiel "or die"). Alle Parameter dieser Funktion sind optional; wenn Sie keinen Wert übergeben, gelten folgende Vorgabewerte:

. hostname - localhost
. Benutzername - Name des Benutzers, dem der Server-Prozess gehört
. Kennwort - ein leeres Kennwort

Falls Sie Zugriff auf eine MySQL-Datenbank im Internet haben, so werden Sie die Zugangsdaten, die Sie von Ihrem Provider bekommen haben, in die dafür vorgesehenen Parameter eintragen müssen (siehe Beispiel). Als zusätzliche Parameter können Sie den :port (ab PHP 3.0B4) und den :/path/to/socket (ab PHP 3.0.10) mit angeben. Fehlermeldungen, die eventuell auftreten und ausgegeben werden, können Sie mit einem "@" unterdrücken. Die Verbindung zur Datenbank wird mit dem Skriptende oder der Funktion mysql_close() wieder geschlossen. Falls Sie mysql_connect() ein zweites Mal mit den gleichen Argumenten aufrufen, so wird keine neue Verbindung aufgebaut, sondern die vorhandene Verbindungskennung genutzt.

Siehe auch:

. mysql_pconnect()
. mysql_close()

nach unten nach oben Beispiel

<?PHP
/*
     Allgemeine Daten fuer die Datenbankanbindung
     und direkter Connect zur Datenbank. Nach
     Einbindung dieses Segments kann direkt mit
     MySQL-Befehlen auf die Datenbank zugegriffen
     werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort)
   or die ('Konnte keine Verbindung zur Datenbank herstellen');

$db_check = @mysql_select_db($db_name);

if($db)
  echo 'Verbindung zur Datenbank wurde hergestellt';
?>

nach unten nach oben Ausgabe

Verbindung zur Datenbank wurde hergestellt

Zurück: mysql_close

Weiter: mysql_create_db


Funktionsreferenz / MySQL-Funktionen / mysql_create_db

Letztes Update der Funktion mysql_create_db: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_create_db

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool mysql_create_db ( string Datenbankname [, resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_create_db() kann man eine neue Datenbank (Datenbankname) erzeugen. Bei der Erstellung der neuen Datenbank können Sie eine optionale Verbindungskennung (Verbindungs-Kennung) angeben. Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

Siehe auch:

. mysql_drop_db()

Abwärtskompatible Funktionen:

mysql_createdb()

nach unten nach oben Beispiel

<?PHP
/*
   Allgemeine Daten fuer die Datenbankanbindung
   und direkter Connect zur Datenbank. Nach
   Einbindung dieses Segments kann direkt mit
   MySQL-Befehlen auf die Datenbank zugegriffen
   werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort)
   or die('Konnte keine Verbindung zur Datenbank herstellen');

if(mysql_create_db($db_name))
  echo 'Datenbank ' . $db_name . ' wurde erstellt!';
?>

nach unten nach oben Ausgabe

Datenbank selfphp wurde erstellt!

Zurück: mysql_connect

Weiter: mysql_data_seek


Funktionsreferenz / MySQL-Funktionen / mysql_data_seek

Letztes Update der Funktion mysql_data_seek: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_data_seek

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool mysql_data_seek ( resource Ergebnis-Kennung, int Datensatznummer )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_data_seek() bewegt man den internen Datensatz-Zeiger auf einen Datensatz (Datensatznummer) unter Angabe der Ergebnis-Kennung (Ergebnis-Kennung). Bei dem nächsten Aufruf der Funktion mysql_fetch_row() wird dann der entsprechende Datensatz geholt. Beachten Sie bitte, dass der erste Datensatz den Index 0 hat (wie das erste Element eines Arrays). Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

Siehe auch:

. mysql_fetch_row()
. mysql_num_rows()

nach unten nach oben Datenbank

                      Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |        gruppe          |       befehl       |     version      |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/*
   Allgemeine Daten fuer die Datenbankanbindung
   und direkter Connect zur Datenbank. Nach
   Einbindung dieses Segments kann direkt mit
   MySQL-Befehlen auf die Datenbank zugegriffen
   werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'thunderbird';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

$db_select = @mysql_select_db($db_name);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen
        ORDER BY
          id';

$result = mysql_query($sql);

mysql_data_seek ($result, 1);

$row = mysql_fetch_row($result);

echo $row[0] . '<br>';
echo $row[1] . '<br>';
echo $row[2] . '<br>';
echo $row[3];
?>

nach unten nach oben Ausgabe

2
Variablen-Funktionen
is_double
(PHP 3)

Zurück: mysql_create_db

Weiter: mysql_db_query


Funktionsreferenz / MySQL-Funktionen / mysql_db_query

Letztes Update der Funktion mysql_db_query: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_db_query

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource mysql_db_query ( string Datenbank, string Anfrage [, resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_db_query() stellt man eine Anfrage (Anfrage) an eine Datenbank. Diese Funktion ist fast identisch mit der Funktion mysql_query(), mit der Ausnahme, dass Sie bei mysql_db_query() die Datenbank direkt angeben (Datenbank) und somit vorher nicht mit mysql_select_db() eine Datenbank angeben müssen. Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können Sie eine explizite Verbindungskennung angeben. Falls diese fehlt, so wird auf die aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, so wird versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect) zu erstellen. Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

Siehe auch:

. mysql_connect()

Abwärtskompatible Funktionen:

mysql()

nach unten nach oben Datenbank

                     Tabelle selfphp_funktionen

---------------------------------------------------------------------
| id |         gruppe        |       befehl       |     version     |
---------------------------------------------------------------------
| 1  | Array-Funktionen      | array_count_values |(PHP 4 >= 4.0b4) |
---------------------------------------------------------------------
| 2  | Variablen-Funktionen  | is_double          |(PHP 3 )         |
---------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen| chdir              |(PHP 3, PHP 4 )  |
---------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/*
   Allgemeine Daten fuer die Datenbankanbindung
   und direkter Connect zur Datenbank. Nach
   Einbindung dieses Segments kann direkt mit
   MySQL-Befehlen auf die Datenbank zugegriffen
   werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'thunderbird';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen
        WHERE
          gruppe = \'Array-Funktionen\'
        ORDER BY
          id';

$result = mysql_db_query('selfphp', $sql);

while($row = mysql_fetch_row($result)){
  echo $row[0] . '<br>';
  echo $row[1] . '<br>';
  echo $row[2] . '<br>';
  echo $row[3];
}
?>

nach unten nach oben Ausgabe

1
Array-Funktionen
array_count_values
(PHP 4 >= 4.0b4)

Zurück: mysql_data_seek

Weiter: mysql_drop_db


Funktionsreferenz / MySQL-Funktionen / mysql_drop_db

Letztes Update der Funktion mysql_drop_db: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_drop_db

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool mysql_drop_db ( string Datenbankname [, resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_drop_db() kann man versuchen, eine komplette Datenbank (Datenbankname) vom Server zu löschen. Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können Sie eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf die aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, so wird versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect) zu erstellen. Im Erfolgsfall gibt diese Funktion true, sonst false zurück.

Siehe auch:

. mysql_connect()
. mysql_create_db()

Abwärtskompatible Funktionen:

mysql_dropdb()

nach unten nach oben Beispiel

<?PHP
/*
   Allgemeine Daten fuer die Datenbankanbindung
   und direkter Connect zur Datenbank. Nach
   Einbindung dieses Segments kann direkt mit
   MySQL-Befehlen auf die Datenbank zugegriffen
   werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'thunderbird';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

if(mysql_drop_db('selfphp', $db))
  echo 'Datenbank gelöscht!';
else
  echo 'Konnte Datenbank nicht löschen!';
?>

nach unten nach oben Ausgabe

Datenbank gelöscht!

Zurück: mysql_db_query

Weiter: mysql_errno


Funktionsreferenz / MySQL-Funktionen / mysql_errno

Letztes Update der Funktion mysql_errno: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_errno

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_errno ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_errno() kann man sich die Fehlernummer einer zuvor ausgeführten Operation zurückgeben lassen. Da MySQL-Fehler nicht zu einer Ausgabe von Fehlermeldungen führen und das Skript normal weiter durchlaufen wird, sollten Sie sich diese Fehlernummer zurückgeben lassen, um den Fehler zu beseitigen. Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können Sie eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf die aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, wird versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect) zu erstellen. Im unteren Beispiel wurde versucht, auf eine Tabelle (self) zuzugreifen, welche in der Datenbank "selfphp" nicht existent ist.

Siehe auch:

. mysql_connect()
. mysql_error()

nach unten nach oben Datenbank

Aktuelle Tabellen in Datenbank selfphp

----------------------
| selfphp_forum      |
----------------------
| selfphp_funktionen |
----------------------
| selfphp_guestbook  |
------- --------------
| selfphp_statistik  |
----------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'thunderbird';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          *
        FROM
          self';

$result = mysql_query($sql);

if($result){
  echo mysql_num_rows($result);
}else{
  echo 'Fehler-Nr. ' . mysql_errno() . ' - ' . mysql_error();
}
?>

nach unten nach oben Ausgabe

Fehler-Nr. 1146 - Table 'selfphp.self' doesn't exist

Zurück: mysql_drop_db

Weiter: mysql_error


Funktionsreferenz / MySQL-Funktionen / mysql_error

Letztes Update der Funktion mysql_error: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_error

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_error ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_error() kann man sich den Fehlertext einer zuvor ausgeführten Operation zurückgeben lassen. Da MySQL-Fehler nicht zu einer Ausgabe von Fehlermeldungen führen und das Skript normal weiter durchlaufen wird, sollten Sie sich diesen Fehlertext zurückgeben lassen, um den Fehler zu beseitigen. Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können Sie eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf die aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen, wird versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect) zu erstellen.

Im unteren Beispiel wurde versucht, auf das Feld "grupp" zuzugreifen, das in der Tabelle "selfphp_funktionen" nicht existent ist. Der Fehlertext wurde danach an eine Funktion zur weiteren Bearbeitung übergeben.

Siehe auch:

. mysql_connect()
. mysql_errno()

nach unten nach oben Datenbank

                       Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |         gruppe         |       befehl       |     version      |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
function error($line, $file, $string, $error = ''){
  $fehler = '<b>Fehler in Zeile ' . $line . ' in ' .
            $file . '</b><br>' . $string . '<br>';

  if($error)
    $fehler .= '<b>MySQL-Error:</b> '. $error;

  die($fehler);
}

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort)
   or die('Konnte keine Verbindung zur Datenbank herstellen');

$db_select = @mysql_select_db($db_name);

$sql = 'DELETE FROM
          selfphp_funktionen
        WHERE
          grupp = \'Datenbanken\'';

$result = mysql_query($sql)
       or error(__LINE__, __FILE__, 'Konnte Einträge nicht löschen', mysql_error());
?>

nach unten nach oben Ausgabe

Fehler in Zeile 25 in /www/users/test_php/index.php
Konnte Einträge nicht löschen
MySQL-Error: Unknown column 'grupp' in 'where clause'

Zurück: mysql_errno

Weiter: mysql_escape_string


Funktionsreferenz / MySQL-Funktionen / mysql_escape_string

Letztes Update der Funktion mysql_escape_string: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_escape_string

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_escape_string ( string unescaped_string )

nach unten nach oben Version

(PHP 4 >= 4.0.3, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_escape_string() kann man einen String unescaped_string für die sichere Benutzung in mysql_query maskieren.

Siehe auch:

mysql_real_escape_string()
. addslashes()

nach unten nach oben Beispiel

<?PHP
$var = "Ein 'kleiner' Satz!";
echo mysql_escape_string($var);
?>

nach unten nach oben Ausgabe

Ein \'kleiner\' Satz!

Zurück: mysql_error

Weiter: mysql_fetch_array


Funktionsreferenz / MySQL-Funktionen / mysql_fetch_array

Letztes Update der Funktion mysql_fetch_array: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_fetch_array

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array mysql_fetch_array ( resource Ergebnis-Kennung [, int Ergebnistyp] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_fetch_array() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) Datensätze in einem assoziativen Array übergeben lassen. Dabei werden die Feldnamen innerhalb der Tabelle als Schlüssel des Arrays genutzt. Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz, sonst wird false zurückgegeben. Der zweite Parameter (Ergebnistyp) ist optional. Sie können in diesem Parameter folgende Konstanten übergeben:

. MYSQL_ASSOC: Funktionsergebnis ist ein assioziatives Array.
. MYSQL_NUM: Funktionsergebnis ist ein numerisch indiziertes Array.
. MYSQL_BOTH: Funktionsergebnis ist ein Array, das die Elemente des Ergebnisdatensatzes sowohl assoziativ als auch numerisch indiziert enthält. Dies ist der Default-Wert.

Siehe auch:

. mysql_fetch_row()

nach unten nach oben Datenbank

                      Tabelle selfphp_funktionen

----------------------------------------------------------------------
| id |         gruppe         |       befehl       |     version     |
----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values |(PHP 4 >= 4.0b4) |
----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          |(PHP 3)          |
----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              |(PHP 3, PHP 4)   |
----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          befehl,
          version
        FROM
          selfphp_funktionen
        ORDER BY
          befehl';

$result = mysql_query($sql);

while($row = mysql_fetch_array($result)){
  echo $row['befehl'] . ' / ';
  echo $row['version'] . '<br>';
}
?>

nach unten nach oben Ausgabe

array_count_values / (PHP 4 >= 4.0b4)
chdir / (PHP 3, PHP 4)
is_double / (PHP 3)

Zurück: mysql_escape_string

Weiter: mysql_fetch_assoc


Funktionsreferenz / MySQL-Funktionen / mysql_fetch_assoc

Letztes Update der Funktion mysql_fetch_assoc: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_fetch_assoc

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array mysql_fetch_assoc ( resource Ergebnis )

nach unten nach oben Version

(PHP 4 >= 4.0.3, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_fetch_assoc() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) einen Datensatz in einem assoziativen Array übergeben lassen. Dabei werden die Feldnamen innerhalb der Tabelle als Schlüssel des Arrays genutzt. Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz, sonst wird false zurückgegeben.

Siehe auch:

. mysql_fetch_row()
. mysql_fetch_array()
. mysql_query()
. mysql_error()

nach unten nach oben Beispiel

<?PHP
/* Stellt Verbindung zu Datenbank her */
$db = @mysql_connect('localhost', 'selfphp', 'mega')
   or die('Datenbankverbindung fehlgeschlagen: ' . mysql_error());

/* Wählt eine Datenbank aus */
$db_select = @mysql_select_db('selfphp')
          or die('Auswahl der Datenbank fehlgeschlagen');

$sql = 'SELECT
          name,
          befehl
        FROM
          selfphp_funktionen
        WHERE
          name = \'apache_lookup_uri\'';

$result = mysql_query($sql);

$row = mysql_fetch_assoc($result);

echo $row["name"] . ' - ';
echo $row["befehl"] . "\n";
?>

nach unten nach oben Ausgabe

apache_lookup_uri - object apache_lookup_uri(string filename)

Zurück: mysql_fetch_array

Weiter: mysql_fetch_field


Funktionsreferenz / MySQL-Funktionen / mysql_fetch_field

Letztes Update der Funktion mysql_fetch_field: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_fetch_field

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

object mysql_fetch_field ( resource Ergebnis-Kennung [, int Feld-Offset] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_fetch_field() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) ein Objekt mit Feldinformationen aus einem Anfrageergebnis zurückgeben lassen. Gibt man den optionalen Parameter Feld-Offset nicht an, so werden die Informationen des nächsten Feldes geliefert, das noch nicht mit mysql_fetch_field() ausgegeben wurde.

Die Eigenschaften des Objekts sind folgende:

. name - Feldname innerhalb der Tabelle
. table - Name der Tabelle, zu der das Feld gehört
. max_length - max. Länge des Feldes
. not_null - 1, das Feld kann nicht Null sein
. primary_key - 1, das Feld ist ein Primärschlüssel
. unique_key - 1, das Feld ist ein eindeutiger Schlüssel
. multiple_key - 1, das Feld ist ein nicht eindeutiger Schlüssel
. numeric - 1, das Feld ist vom Typ "numeric"
. blob - 1, das Feld ist vom Typ "BLOB"
. type - der Feld-Typ
. unsigned - 1, das Feld ist vorzeichenlos
. zerofill - 1, das Feld ist "zero-filled"

Siehe auch:

. mysql_field_seek()

nach unten nach oben Datenbank

                     Tabelle selfphp_funktionen

----------------------------------------------------------------------
| id |         gruppe         |      befehl       |      version     |
----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values| (PHP 4 >= 4.0b4) |
----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double         | (PHP 3 )         |
----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir             | (PHP 3, PHP 4 )  |
----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
    /* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp',$db);

$sql = 'SELECT
          version
        FROM
          selfphp_funktionen
        WHERE
          id = 1';

$result = mysql_query($sql);

$row = mysql_fetch_row($result);

for($x = 0; $x < count($row); $x++){
  $str = mysql_fetch_field($result, $x);
  echo 'name: ' . $str->name . '<br>';
  echo 'table: ' . $str->table . '<br>';
  echo 'max_length: ' . $str->max_length . '<br>';
  echo 'not_null: ' . $str->not_null . '<br>';
  echo 'primary_key: ' . $str->primary_key . '<br>';
  echo 'unique_key: ' . $str->unique_key . '<br>';
  echo 'multiple_key: ' . $str->multiple_key . '<br>';
  echo 'numeric: ' . $str->numeric . '<br>';
  echo 'blob: ' . $str->blob . '<br>';
  echo 'type: ' . $str->type . '<br>';
  echo 'unsigned: ' . $str->unsigned . '<br>';
  echo 'zerofill: ' . $str->zerofill;
}
?>

nach unten nach oben Ausgabe

name: version
table: selfphp_funktionen
max_length: 16
not_null: 0
primary_key: 0
unique_key: 0
multiple_key0
numeric: 0
blob: 0
type: string
unsigned: 0
zerofill: 0

Zurück: mysql_fetch_assoc

Weiter: mysql_fetch_lengths


Funktionsreferenz / MySQL-Funktionen / mysql_fetch_lengths

Letztes Update der Funktion mysql_fetch_lengths: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_fetch_lengths

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array mysql_fetch_lengths ( resource Ergebnis-Kennung )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_fetch_lengths() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) die Länge eines jeden Feldes in einem Datensatz zurückgeben lassen. Als Rückgabewert dieser Funktion erhalten Sie ein Array mit den Längen der Felder, im Fehlerfall wird false zurückgegeben.

Folgende Funktionen werden unterstützt:

. mysql_fetch_row()
. mysql_fetch_array()
. mysql_fetch_object()

Siehe auch:

. mysql_fetch_row()

nach unten nach oben Datenbank

                       Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |         gruppe         |       befehl       |      version     |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3 )         |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4 )  |
-----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail               | (PHP 3. PHP 4 )  |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

while($row = mysql_fetch_row($result)){
  $laenge = mysql_fetch_lengths($result);
  echo $row[1] . '(' . $laenge[1] . ') - ';
  echo $row[2] . '(' . $laenge[2] . ')<br>';
}
?>

nach unten nach oben Ausgabe

Array-Funktionen (16) - array_count_values (18)
Variablen-Funktionen (20) - is_double (9)
Verzeichnis-Funktionen (22) - chdir (5)
Mail-Funktionen (15) - mail (4)

Zurück: mysql_fetch_field

Weiter: mysql_fetch_object


Funktionsreferenz / MySQL-Funktionen / mysql_fetch_object

Letztes Update der Funktion mysql_fetch_object: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_fetch_object

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

object mysql_fetch_object ( resource Ergebnis-Kennung )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_fetch_object() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) Datensätze als ein Objekt mit Eigenschaften, die den Feldern innerhalb der Tabelle entsprechen, übergeben lassen. Dabei können Sie anhand der Feldnamen auf die Werte zugreifen. Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz, sonst wird false zurückgegeben. Der zweite Parameter (Ergebnistyp) ist optional. Sie können in diesem Parameter dieselben Konstanten wie in der Funktion mysql_fetch_array() übergeben:

. MYSQL_ASSOC
. MYSQL_NUM
. MYSQL_BOTH

Siehe auch:

. mysql_fetch_array()
. mysql_fetch_row()

nach unten nach oben Datenbank

                       Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |         gruppe         |        befehl      |      version     |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail               | (PHP 3. PHP 4)   |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @myslq_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

while($row = mysql_fetch_object($result)){
  echo $row->id . ' - ';
  echo $row->gruppe . ' - ';
  echo $row->befehl . ' - ';
  echo $row->version . '<br>';
}
?>

nach unten nach oben Ausgabe

1 - Array-Funktionen - array_count_values - (PHP 4 >= 4.0b4)
2 - Variablen-Funktionen - is_double - (PHP 3)
3 - Verzeichnis-Funktionen - chdir - (PHP 3, PHP 4)
4 - Mail-Funktionen - mail - (PHP 3, PHP 4)

Zurück: mysql_fetch_lengths

Weiter: mysql_fetch_row


Funktionsreferenz / MySQL-Funktionen / mysql_fetch_row

Letztes Update der Funktion mysql_fetch_row: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_fetch_row

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array mysql_fetch_row ( resource Ergebnis-Kennung )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_fetch_row() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) einen Datensatz in Form eines indizierten Arrays übergeben lassen. Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz, sonst wird false zurückgegeben.

Siehe auch:

. mysql_fetch_array()
. mysql_fetch_object()
. mysql_data_seek()
. mysql_fetch_lengths()
. mysql_result()

nach unten nach oben Datenbank

                      Tabelle selfphp_funktionen

----------------------------------------------------------------------
| id |         gruppe         |       befehl      |      version     |
----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values| (PHP 4 >= 4.0b4) |
----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double         | (PHP 3)          |
----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir             | (PHP 3, PHP 4)   |
----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail              | (PHP 3. PHP 4)   |
----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

while($row = mysql_fetch_row ($result)){
  echo $row[0] . ' - ';
  echo $row[1] . ' - ';
  echo $row[2] . ' - ';
  echo $row[3] . '<br>';
}
?>

nach unten nach oben Ausgabe

1 - Array-Funktionen - array_count_values - (PHP 4 >= 4.0b4)
2 - Variablen-Funktionen - is_double - (PHP 3)
3 - Verzeichnis-Funktionen - chdir - (PHP 3, PHP 4)
4 - Mail-Funktionen - mail - (PHP 3, PHP 4)

Zurück: mysql_fetch_object

Weiter: mysql_field_flags


Funktionsreferenz / MySQL-Funktionen / mysql_field_flags

Letztes Update der Funktion mysql_field_flags: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_field_flags

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_field_flags ( resource Ergebnis, int Feldoffset )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_field_flags() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) die Flags eines Feldes (Feldoffset) in einem Anfrageergebnis zurückgeben lassen. Unter einem Flag versteht man die erweiterten Eigenschaften eines Feldes. Die übergebenen Flags werden als einzelne Worte getrennt durch ein Leerzeichen zurückgegeben.

Folgende Flags werden unterstützt (ist von MySQL abhängig):

. not_null
. primary key
. unique_key
. multiple_key
. blob
. unsigned
. zerofill
. binary
. enum
. auto_increment
. timestamp

Abwärtskompatible Funktionen:

mysql_fieldflags()

nach unten nach oben Datenbank

Tabelle selfphp_funktionen

-----------------------------------------------------------
|  Field  |    Type     | Null | Default |     Extra      |
-----------------------------------------------------------
| id      | int(4)      | No   | 0       | auto_increment |
-----------------------------------------------------------
| gruppe  | varchar(50) | Yes  |         |                |
-----------------------------------------------------------
| befehl  | varchar(50) | Yes  |         |                |
-----------------------------------------------------------
| version | varchar(50) | Yes  |         |                |
-----------------------------------------------------------

----------------------------
| Keyname | Unique | Field |
----------------------------
| PRIMARY | Yes    | id    |
----------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          id
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

$flags = explode(' ', mysql_field_flags($result, 0));

for($x = 0; $x < count($flags); $x++){
  echo $flags[$x] . '<br>';
}
?>

nach unten nach oben Ausgabe

not_null
primary_key
auto_increment

Zurück: mysql_fetch_row

Weiter: mysql_field_len


Funktionsreferenz / MySQL-Funktionen / mysql_field_len

Letztes Update der Funktion mysql_field_len: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_field_len

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_field_len ( resource Ergebnis, int Feldoffset )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_field_len() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) und des Feldindex (Feldoffset) die Länge eines Feldes zurückgeben lassen.

Abwärtskompatible Funktionen:

mysql_fieldlen()

nach unten nach oben Datenbank

Tabelle selfphp_funktionen

-----------------------------------------------------------
|  Field  |     Type    | Null | Default |     Extra      |
-----------------------------------------------------------
| id      | int(4)      | No   | 0       | auto_increment |
-----------------------------------------------------------
| gruppe  | varchar(50) | Yes  |         |                |
-----------------------------------------------------------
| befehl  | varchar(51) | Yes  |         |                |
-----------------------------------------------------------
| version | varchar(52) | Yes  |         |                |
-----------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

$menge = mysql_num_rows($result);

for($x = 0; $x < $menge; $x++){
  echo mysql_field_len($result, $x);
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

4
50
51
52

Zurück: mysql_field_flags

Weiter: mysql_field_name


Funktionsreferenz / MySQL-Funktionen / mysql_field_name

Letztes Update der Funktion mysql_field_name: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_field_name

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_field_name ( resource Ergebnis-Kennung, int Feldindex )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_field_name() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) und des Feldindex (Feldoffset) den Namen eines Feldes zurückgeben lassen.

Abwärtskompatible Funktionen:

mysql_fieldname()

nach unten nach oben Datenbank

                Tabelle selfphp_funktionen

----------------------------------------------------------
|  Field  |    Type     | Null | Default |     Extra     |
----------------------------------------------------------
| id      | int(4)      | No   | 0       | auto_increment|
----------------------------------------------------------
| gruppe  | varchar(50) | Yes  |         |               |
----------------------------------------------------------
| befehl  | varchar(51) | Yes  |         |               |
----------------------------------------------------------
| version | varchar(52) | Yes  |         |               |
----------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

$menge = mysql_num_rows($result);

for($x = 0; $x < $menge; $x++){
  echo mysql_field_name($result, $x);
  echo "<br>";
}
?>

nach unten nach oben Ausgabe

id
gruppe
befehl
version

Zurück: mysql_field_len

Weiter: mysql_field_seek


Funktionsreferenz / MySQL-Funktionen / mysql_field_seek

Letztes Update der Funktion mysql_field_seek: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_field_seek

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_field_seek ( resource Ergebnis, int Feldoffset )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_field_seek() kann man anhand einer Ergebnis-Kennung (Ergebnis-Kennung) den Feldzeiger auf den angegebenen Feldindex (Feldoffset) setzen. Wird bei dem nächsten Aufruf der Funktion mysql_fetch_field() kein Feldindex übergeben, so wird der zuvor mit mysql_field_seek() bestimmte Feldindex genutzt. Im unteren Beispiel wurde mittels "SELECT" eine Anfrage auf die Felder "gruppe" und "befehl" gestellt. Diese beiden Felder haben intern den Feldindex "gruppe=0 , befehl=1". Durch mysql_field_seek() wurde direkt auf das Feld 1 (befehl) verwiesen.

Siehe auch:

. mysql_fetch_field()

nach unten nach oben Datenbank

                      Tabelle selfphp_funktionen

----------------------------------------------------------------------
| id |         gruppe         |       befehl      |      version     |
----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values| (PHP 4 >= 4.0b4) |
----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double         | (PHP 3)          |
----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir             | (PHP 3, PHP 4)   |
----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          gruppe,
          befehl
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

mysql_field_seek($result, 1);

$row = mysql_fetch_field($result);

echo $row->name;
echo '<br>';
echo $row->max_length;
?>

nach unten nach oben Ausgabe

befehl
18

Zurück: mysql_field_name

Weiter: mysql_field_table


Funktionsreferenz / MySQL-Funktionen / mysql_field_table

Letztes Update der Funktion mysql_field_table: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_field_table

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_field_table ( resource Ergebnis-Kennung, int Feldoffset )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_field_table() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) und des Feldindex (Feldoffset) den aktuellen Tabellennamen, der dem zurückgegebenen Feld zugehörig ist, zurückgeben lassen.

Im unteren Beispiel wurde mittels "SELECT" eine Anfrage auf die Felder "gruppe" und "befehl" gestellt. Diese beiden Felder haben intern den Feldindex "gruppe=0 , befehl=1". Durch mysql_field_table() wurde nun der Tabellennamen von Feld 1 (befehl) angefordert.

Abwärtskompatible Funktionen:

mysql_fieldtable()

nach unten nach oben Datenbank

                     Tabelle selfphp_funktionen

----------------------------------------------------------------------
| id |          gruppe        |        befehl      |     version     |
----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values |(PHP 4 >= 4.0b4) |
----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          |(PHP 3)          |
----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              |(PHP 3, PHP 4)   |
----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          gruppe,
          befehl
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

echo mysql_field_table($result, 1);
?>

nach unten nach oben Ausgabe

selfphp_funktionen

Zurück: mysql_field_seek

Weiter: mysql_field_type


Funktionsreferenz / MySQL-Funktionen / mysql_field_type

Letztes Update der Funktion mysql_field_type: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_field_type

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_field_type ( resource Ergebnis, int Feldoffset )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_field_type() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) und des Feldindex (Feldoffset) den Typ eines Feldes zurückgeben lassen.

Dieser kann unter anderem folgende Werte besitzen:

. blob
. date
. datetime
. int
. real
. string
. time
. timestamp
. year

Abwärtskompatible Funktionen:

mysql_fieldtype()

nach unten nach oben Datenbank

                 Tabelle selfphp_funktionen

-----------------------------------------------------------
|  Field  |     Type    | Null | Default |      Extra     |
-----------------------------------------------------------
| id      | int(4)      | No   | 0       | auto_increment |
-----------------------------------------------------------
| gruppe  | varchar(50) | Yes  |         |                |
-----------------------------------------------------------
| befehl  | varchar(51) | Yes  |         |                |
-----------------------------------------------------------
| version | varchar(52) | Yes  |         |                |
-----------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

$menge = mysql_num_fields($result);

for($x = 0; $x < $menge; $x++){
  $type = mysql_field_type($result, $x);
  $name = mysql_field_name($result, $x);

  echo 'Feld ' . $name . ' ist vom Typ ' . $type . '<br>';
}
?>

nach unten nach oben Ausgabe

Feld id ist vom Typ int
Feld gruppe ist vom Typ string
Feld befehl ist vom Typ string
Feld version ist vom Typ string

Zurück: mysql_field_table

Weiter: mysql_free_result


Funktionsreferenz / MySQL-Funktionen / mysql_free_result

Letztes Update der Funktion mysql_free_result: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_free_result

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool mysql_free_result ( resource Ergebnis-Kennung )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_free_result() kann man anhand einer Ergebnis-Kennung (Ergebnis-Kennung) den belegten Speicher wieder freigeben. Diese Funktion ist auf Servern mit sehr wenig Arbeitsspeicher sinnvoll, um die Resourcen wieder freizugeben. Nach Beendigung des Skripts wird der Speicher automatisch wieder freigegeben. Beachten Sie, dass nach dieser Funktion nicht mehr auf das Ergebnis Ihrer Anfrage zurückgegriffen werden kann, da dieses entfernt wurde.

Abwärtskompatible Funktionen:

mysql_freeresult()

nach unten nach oben Datenbank

                     Tabelle selfphp_funktionen

----------------------------------------------------------------------
| id |         gruppe         |       befehl      |      version     |
----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values| (PHP 4 >= 4.0b4) |
----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double         | (PHP 3)          |
----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir             | (PHP 3, PHP 4)   |
----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'SELECT
          befehl,
          version
        FROM
          selfphp_funktionen
        ORDER BY
          befehl';

$result = mysql_query($sql);

while($row = mysql_fetch_array($result)){
  echo $row['befehl'] . ' / ';
  echo $row['version'] . '<br>';
}

if(mysql_free_result($result))
  echo 'Speicher wurde wieder freigegeben';
?>

nach unten nach oben Ausgabe

array_count_values / (PHP 4 >= 4.0b4)
chdir / (PHP 3, PHP 4)
is_double / (PHP 3)
Speicher wurde wieder freigegeben

Zurück: mysql_field_type

Weiter: mysql_get_client_info


Funktionsreferenz / MySQL-Funktionen / mysql_get_client_info

Letztes Update der Funktion mysql_get_client_info: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_get_client_info

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_get_client_info ( void )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_get_client_info() kann man sich die MySQL Client-Version anzeigen lassen.

Siehe auch:

. mysql_get_host_info()
. mysql_get_proto_info()
. mysql_get_server_info()

nach unten nach oben Beispiel

<?PHP
echo 'MySQL Client-Version: ' . mysql_get_client_info();
?>

nach unten nach oben Ausgabe

MySQL Client-Version: 3.23.49

Zurück: mysql_free_result

Weiter: mysql_get_host_info


Funktionsreferenz / MySQL-Funktionen / mysql_get_host_info

Letztes Update der Funktion mysql_get_host_info: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_get_host_info

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_get_host_info ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_get_host_info() kann man sich den Typ der momentan benutzten Verbindung Verbindungs-Kennung ausgeben lassen. Weiterhin erhalten Sie den Hostnamen des Servers. Geben Sie den optionalen Parameter Verbindungs-Kennung nicht an, so wird die zuletzt genutzte Verbindung genommen.

Siehe auch:

. mysql_get_client_info()
. mysql_get_proto_info()
. mysql_get_server_info()

nach unten nach oben Beispiel

<?PHP
/* Stellt Verbindung zu Datenbank her */
$db = @mysql_connect('localhost', 'selfphp', 'mega')
   or die('Datenbankverbindung fehlgeschlagen: ' . mysql_error());

echo 'MySQL Host-Info: ' . mysql_get_host_info();
?>

nach unten nach oben Ausgabe

MySQL Host-Info: localhost via TCP/IP

Zurück: mysql_get_client_info

Weiter: mysql_get_proto_info


Funktionsreferenz / MySQL-Funktionen / mysql_get_proto_info

Letztes Update der Funktion mysql_get_proto_info: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_get_proto_info

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_get_proto_info ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_get_proto_info() kann man sich die Protokollversion der genutzten Verbindung anzeigen lassen. Geben Sie den optionalen Parameter Verbindungs-Kennung nicht an, so wird die zuletzt genutzte Verbindung genommen.

Siehe auch:

. mysql_get_client_info()
. mysql_get_host_info()
. mysql_get_server_info()

nach unten nach oben Beispiel

<?PHP
/* Stellt Verbindung zu Datenbank her */
$db = @mysql_connect('localhost', 'selfphp', 'mega')
   or die('Datenbankverbindung fehlgeschlagen: ' . mysql_error());

echo 'MySQL Protokoll-Version: ' . mysql_get_proto_info();
?>

nach unten nach oben Ausgabe

MySQL Protokoll-Version: 10

Zurück: mysql_get_host_info

Weiter: mysql_get_server_info


Funktionsreferenz / MySQL-Funktionen / mysql_get_server_info

Letztes Update der Funktion mysql_get_server_info: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_get_server_info

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_get_server_info ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_get_server_info() kann man sich die Serverversion anzeigen lassen, die die gerade genutzte Verbindung nutzt. Geben Sie den optionalen Parameter Verbindungs-Kennung nicht an, so wird die zuletzt genutzte Verbindung genommen.

Siehe auch:

. mysql_get_client_info()
. mysql_get_host_info()
. mysql_get_proto_info()

nach unten nach oben Beispiel

<?PHP
/* Stellt Verbindung zu Datenbank her */
$db = @mysql_connect('localhost', 'selfphp', 'mega')
   or die('Datenbankverbindung fehlgeschlagen: ' . mysql_error());

echo 'MySQL Server-Version: ' . mysql_get_server_info();
?>

nach unten nach oben Ausgabe

MySQL Server-Version: 4.0.15-nt-log

Zurück: mysql_get_proto_info

Weiter: mysql_insert_id


Funktionsreferenz / MySQL-Funktionen / mysql_insert_id

Letztes Update der Funktion mysql_insert_id: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_insert_id

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe | Springe zu Datenbank nachher Datenbank nachher |

nach unten nach oben Befehl

int mysql_insert_id ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_insert_id() kann man sich anhand einer Verbindungskennung (Verbindungs-Kennung) die Kennung des Datensatzes zurückgeben lassen, der bei einer vorangegangenen INSERT-Operation angelegt wurde. Die zurückgegebene Kennung ist ein Wert, welcher von der INSERT-Anweisung für ein automatisch inkrementiertes Feld (AUTO_INCREMENT) vergeben wurde (siehe Beispiel). Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt, so wird auf die aktuelle Verbindung zurückgegriffen.

nach unten nach oben Datenbank

                        Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |         gruppe         |       befehl       |      version     |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail               | (PHP 3. PHP 4)   |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$sql = 'INSERT INTO
          selfphp_funktionen
        SET
          gruppe  = \'Variablen-Funktionen\',
          befehl  = \'empty\',
          version = \'(PHP 3)\'';

$result = mysql_query($sql);

$var = mysql_insert_id();

echo $var;
?>

nach unten nach oben Ausgabe

5

nach unten nach oben Datenbank nachher

                      Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |         gruppe         |       befehl       |      version     |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail               | (PHP 3. PHP 4)   |
-----------------------------------------------------------------------
| 5  | Variablen-Funktionen   | empty              | (PHP 3)          |
-----------------------------------------------------------------------

Zurück: mysql_get_server_info

Weiter: mysql_list_dbs


Funktionsreferenz / MySQL-Funktionen / mysql_list_dbs

Letztes Update der Funktion mysql_list_dbs: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_list_dbs

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource mysql_list_dbs ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung
Mit mysql_list_dbs() kann man sich anhand einer Verbindungskennung (Verbindungs-Kennung) eine Liste aller verfügbaren Datenbanken auf dem Datenbankserver zurückgeben lassen. Um das Ergebnis zu durchlaufen, sollten Sie die Funktion mysql_tablename() nutzen. Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt, so wird auf die aktuelle Verbindung zurückgegriffen.

Siehe auch:

. mysql_tablename()

Abwärtskompatible Funktionen:

mysql_listdbs()

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
/* Datenbankname */
$db_name = "selfphp";
/* Datenbankuser */
$db_user = "root";
/* Datenbankpasswort */
$db_passwort = "mega";

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

mysql_select_db('selfphp', $db);

$menge = mysql_num_rows($result);

for($x = 0; $x < $menge; $x++){
  $database = mysql_tablename($result, $x);
  echo $database . '<br>';
}
?>

nach unten nach oben Ausgabe

chat
login
mysql
newsletter
selfphp
shop

Zurück: mysql_insert_id

Weiter: mysql_list_fields


Funktionsreferenz / MySQL-Funktionen / mysql_list_fields

Letztes Update der Funktion mysql_list_fields: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_list_fields

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource mysql_list_fields ( string Datenbankname, string Tabellenname [, resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_list_fields() kann man sich anhand einer Verbindungskennung (Verbindungs-Kennung), des Datenbanknamens (Datenbankname) und des Tabellennames (Tabellenname) alle Felder einer Tabelle auflisten lassen. Als Rückgabewert dieser Funktion erhalten Sie einen ganzzahlig positiven Wert als Ergebnis-Kennung, welche Sie für andere Funktionen wie z.B. mysql_field_name() nutzen können. Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt, so wird auf die aktuelle Verbindung zurückgegriffen. Auf mögliche Fehlermeldungen können Sie nur direkt zugreifen, wenn Sie der Funktion ein "@" voranstellen, sonst wird die Fehlermeldung in die Variable "$phperrmsg" geschrieben.

Mit folgenden Funktionen können Sie auf die Ergebnis-Kennung zurückgreifen:

. mysql_field_flags()
. mysql_field_len()
. mysql_field_name()
. mysql_field_type()

Abwärtskompatible Funktionen:

mysql_listfields()

nach unten nach oben Datenbank

                 Tabelle selfphp_funktionen

-----------------------------------------------------------
|  Field  |    Type     | Null | Default |      Extra     |
-----------------------------------------------------------
| id      | int(4)      | No   | 0       | auto_increment |
-----------------------------------------------------------
| gruppe  | varchar(50) | Yes  |         |                |
-----------------------------------------------------------
| befehl  | varchar(51) | Yes  |         |                |
-----------------------------------------------------------
| version | varchar(52) | Yes  |         |                |
-----------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

$result = mysql_list_fields($db_name, 'selfphp_funktionen', $db);

$menge = mysql_num_fields($result);

for($x = 0; $x < $menge; $x++){
  $type = mysql_field_type($result, $x);
  $name = mysql_field_name($result, $x);
  $len = mysql_field_len($result, $x);
  $flags = mysql_field_flags($result, $x);
  echo 'Feld <b>' . $name . '</b>:<br>';
  echo '&nbsp;&nbsp;&nbsp;' . $type . '[' . $len . ']';
  echo $flags . '<br>';
}
?>

nach unten nach oben Ausgabe

Feld id:
   int [4] not_null primary_key auto_increment
Feld gruppe:
   string [50]
Feld befehl:
   string [51]
Feld version:
   string [52]

Zurück: mysql_list_dbs

Weiter: mysql_list_processes


Funktionsreferenz / MySQL-Funktionen / mysql_list_processes

Letztes Update der Funktion mysql_list_processes: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_list_processes

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource mysql_list_processes ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_list_processes() kann man sich alle laufendenn MySQL-Prozesse anzeigen lassen. Geben Sie den optionalen Parameter Verbindungs-Kennung nicht an, so wird die zuletzt genutzte Verbindung genommen.

Siehe auch:

. mysql_thread_id()

nach unten nach oben Beispiel

<?PHP
/* Stellt Verbindung zu Datenbank her */
$db = @mysql_connect('localhost', 'selfphp', 'mega')
   or die('Datenbankverbindung fehlgeschlagen: ' . mysql_error());

$result = mysql_list_processes($db);

while ($row = mysql_fetch_assoc($result)){
  echo $row['Id'] . ' ';
  echo $row['Host'] . ' ';
  echo $row['db'] . ' ';
  echo $row['Command'] . ' ';
  echo $row['Time'] . "\n";
}

mysql_free_result($result);
?>

nach unten nach oben Ausgabe

113 localhost:4009  Processlist 0

Zurück: mysql_list_fields

Weiter: mysql_list_tables


Funktionsreferenz / MySQL-Funktionen / mysql_list_tables

Letztes Update der Funktion mysql_list_tables: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_list_tables

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource mysql_list_tables ( string Datenbankname [, resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_list_tables() kann man sich anhand eines Datenbanknamens (Datenbankname) und einer optionalen Verbindungskennung (Verbindungs-Kennung) alle Tabellen einer Datenbank zurückgeben lassen. Als Rückgabewert dieser Funktion erhalten Sie einen ganzzahlig positiven Wert als Ergebnis-Kennung; dieses Ergebnis können Sie mit der Funktion mysql_tablename() durchlaufen, um die Namen der Tabellen abzurufen. Sollte die Verbindungskennung fehlen, so wird auf die aktuelle Verbindung zurückgegriffen.

Abwärtskompatible Funktionen:

mysql_listtables()

nach unten nach oben Datenbank

Aktuelle Tabellen in Datenbank selfphp

----------------------
| selfphp_forum      |
----------------------
| selfphp_funktionen |
----------------------
| selfphp_guestbook  |
----------------------
| selfphp_statistik  |
----------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'thunderbird';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

$result = mysql_list_tables($db_name, $db);

$menge = mysql_num_rows($result);

for($x = 0; $x < $menge; $x++){
  $table_name = mysql_tablename($result, $x);
  echo $table_name . '<br>';
}
?>

nach unten nach oben Ausgabe

selfphp_forum
selfphp_funktionen
selfphp_guestbook
selfphp_statistik

Zurück: mysql_list_processes

Weiter: mysql_num_fields


Funktionsreferenz / MySQL-Funktionen / mysql_num_fields

Letztes Update der Funktion mysql_num_fields: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_num_fields

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_num_fields ( resource Ergebnis-Kennung )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_num_fields() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) die Anzahl der Felder eines Ergebnisses zurückgeben lassen.

Siehe auch:

. mysql_db_query()
. mysql_fetch_field()
. mysql_num_rows()
. mysql_query()

Abwärtskompatible Funktionen:

mysql_numfields()

nach unten nach oben Datenbank

                       Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |         gruppe         |       befehl       |      version     |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail               | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

$db_select = @mysql_select_db($db_name);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

$menge = mysql_num_fields($result);

echo $menge;
?>

nach unten nach oben Ausgabe

4

Zurück: mysql_list_tables

Weiter: mysql_num_rows


Funktionsreferenz / MySQL-Funktionen / mysql_num_rows

Letztes Update der Funktion mysql_num_rows: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_num_rows

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_num_rows ( resource Ergebnis-Kennung )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_num_rows() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) die Anzahl der Datensätze eines Ergebnisses zurückgeben lassen.

Siehe auch:

. mysql_db_query()
. mysql_fetch_row()
. mysql_query()

Abwärtskompatible Funktionen:

mysql_numrows()

nach unten nach oben Datenbank

                      Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |          gruppe        |        befehl      |      version     |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail               | (PHP 3. PHP 4)   |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

$db_select = @mysql_select_db($db_name);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

$menge = mysql_num_rows($result);

echo '<b>$menge Datensätze gefunden</b><br>';

while($row = mysql_fetch_row($result)){
  echo $row[1] . ' - ' . $row[2] . '<br><br>';
}
?>

nach unten nach oben Ausgabe

4 Datensätze gefunden
Array-Funktionen - array_count_values

Variablen-Funktionen - is_double

Verzeichnis-Funktionen - chdir

Mail-Funktionen - mail

Zurück: mysql_num_fields

Weiter: mysql_pconnect


Funktionsreferenz / MySQL-Funktionen / mysql_pconnect

Letztes Update der Funktion mysql_pconnect: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_pconnect

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource mysql_pconnect ( [string Server [, string Benutztername [, string Benutzerkennwort [, int client_flags]]]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_pconnect() öffnet man eine persistente Verbindung zu einer MySQL-Datenbank. Im Erfolgsfall gibt diese Funktion eine Verbindungskennung, sonst false zurück. Falls keine Verbindung erstellt werden kann, können Sie eine eigene Fehlermeldung zum Browser senden und danach das Skript abbrechen lassen (siehe im Beispiel "or die"). Alle Parameter dieser Funktion sind optional; wenn Sie keinen Wert übergeben, gelten folgende Vorgabewerte:

. hostname - localhost
. Benutzername - Name des Benutzers, dem der Server-Prozess gehört
. Kennwort - ein leeres Kennwort

Falls Sie Zugriff auf eine MySQL-Datenbank im Internet haben, werden Sie die Zugangsdaten, die Sie von Ihrem Provider bekommen haben, in die dafür vorgesehenen Parameter eintragen müssen (siehe Beispiel). Als zusätzliche Parameter können Sie den :port (ab PHP 3.0B4) und den :/path/to/socket (ab PHP 3.0.10) mit angeben. Fehlermeldungen, die eventuell auftreten und ausgegeben werden, können Sie mit einem "@" unterdrücken. Die Verbindung zur Datenbank wird nicht mit dem Skriptende geschlossen.

Folgendes ist gegenüber mysql_connect() anders:

  1. Es wird versucht, vor dem Verbindungsaufbau eine persistente Verbindung zum gleichen Host mit dem gleichen Benutzer und Passwort zu erstellen. Gelingt dies, so wird die Verbindungskennung dieser Verbindung zurückgegeben.

  2. Die Verbindung wird nicht mit dem Beenden des Skripts geschlossen, sondern bleibt bestehen für einen zukünftigen Verbindungsaufbau.

Siehe auch:

. mysql_connect()

nach unten nach oben Beispiel

<?PHP
/*
   Allgemeine Daten fuer die Datenbankanbindung
   und direkter Connect zur Datenbank. Nach
   Einbindung dieses Segments kann direkt mit
   MySQL-Befehlen auf die Datenbank zugegriffen
   werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_pconnect($db_server, $db_user, $db_passwort)
   or die ('Konnte keine Verbindung zur Datenbank herstellen');

$db_check = @mysql_select_db($db_name);

if($db)
  echo 'Verbindung zur Datenbank wurde hergestellt';
?>

nach unten nach oben Ausgabe

Verbindung zur Datenbank wurde hergestellt

Zurück: mysql_num_rows

Weiter: mysql_query


Funktionsreferenz / MySQL-Funktionen / mysql_query

Letztes Update der Funktion mysql_query: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_query

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Datenbank Datenbank | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_query() sendet man eine SQL-Anfrage (Anfrage) an einen Datenbankserver. Wird der optionale Parameter der Verbindungskennung (Verbindungs-Kennung) nicht angegeben, so wird versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect) aufzubauen. Die Funktion mysql_query() liefert im Erfolgsfall true, sonst false zurück. Beachten Sie bitte, dass diese Funktion keine Angaben über die Anzahl der Datensätze zurückgibt. Um auf die Datensätze zugreifen zu können, sollten Sie die unten stehenden Funktionen nutzen.

Siehe auch:

. mysql_affected_rows()
. mysql_db_query()
. mysql_free_result()
. mysql_result()
. mysql_select_db()
. mysql_connect()

nach unten nach oben Datenbank

                      Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |         gruppe         |       befehl       |      version     |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail               | (PHP 3. PHP 4)   |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

$db_select = @mysql_select_db($db_name);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

$menge = mysql_num_rows($result);

echo '<b>' . $menge . ' Datensätze gefunden</b><br>';

while($row = mysql_fetch_row($result)){
  echo $row[1] . ' - ' . $row[2] . '<br><br>';
}
?>

nach unten nach oben Ausgabe

5 Datensätze gefunden
Array-Funktionen - array_count_values

Variablen-Funktionen - is_double

Verzeichnis-Funktionen - chdir

Mail-Funktionen - mail

Variablen-Funktionen - empty

Zurück: mysql_pconnect

Weiter: mysql_result


Funktionsreferenz / MySQL-Funktionen / mysql_result

Letztes Update der Funktion mysql_result: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_result

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed mysql_result ( resource Ergebnis-Kennung, int Datensatz [, mixed Feld] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_result() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-Kennung) und der Angabe des Datensatz-Index (Datensatz-Index) den Inhalt eines Feldes zurückgeben lassen. Mit dem optionalen Paremeter Feld kann man einen Feldnamen in der Form "tablename.feldname" (siehe Beispiel) angeben. Sollte das Feld ein Alias besitzen (select gruppe as group), so ist dieser Alias als Feldname zu nutzen. Falls die MySQL-Anfrage sehr viele Datensätze enthält, sollten Sie aus Geschwindigkeitsgründen auf die unten stehenden Funktionen zurückgreifen.

Schnellere Funktionen:

. mysql_fetch_array()
. mysql_fetch_object()
. mysql_fetch_row()

Datenbank

                      Tabelle selfphp_funktionen

-----------------------------------------------------------------------
| id |          gruppe        |       befehl       |      version     |
-----------------------------------------------------------------------
| 1  | Array-Funktionen       | array_count_values | (PHP 4 >= 4.0b4) |
-----------------------------------------------------------------------
| 2  | Variablen-Funktionen   | is_double          | (PHP 3)          |
-----------------------------------------------------------------------
| 3  | Verzeichnis-Funktionen | chdir              | (PHP 3, PHP 4)   |
-----------------------------------------------------------------------
| 4  | Mail-Funktionen        | mail               | (PHP 3. PHP 4)   |
-----------------------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort);

$db_select = @mysql_select_db($db_name);

$sql = 'SELECT
          *
        FROM
          selfphp_funktionen';

$result = mysql_query($sql);

for($x = 0; $x < mysql_num_rows($result); $x++){
  $str_1 = mysql_result($result, $x, 'selfphp_funktionen.id');
  echo 'id: ' . $str_1 . '<br>';

  $str_2 = mysql_result($result, $x, 1);
  echo 'gruppe: ' . $str_2 . '<br><br>';
}
?>

nach unten nach oben Ausgabe

id: 1
gruppe: Array-Funktionen

id: 2
gruppe: Variablen-Funktionen

id: 3
gruppe: Verzeichnis-Funktionen

id: 4
gruppe: Mail-Funktionen

id: 5
gruppe: Variablen-Funktionen

Zurück: mysql_query

Weiter: mysql_select_db


Funktionsreferenz / MySQL-Funktionen / mysql_select_db

Letztes Update der Funktion mysql_select_db: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_select_db

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool mysql_select_db ( string Datenbankname [, resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_select_db() wählt man eine Datenbank aus. Im Erfolgsfall gibt diese Funktion true, sonst false zurück. Als Parameter wird der Datenbankname (Datenbankname) gefordert. Sie können zusätzlich eine Verbindungskennung (Verbindungs-Kennung) mit angeben. Fehlt die Verbindungskennung, so wird die aktuelle Verbindungskennung genutzt. Fehlt auch diese Kennung, so wird versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect) herzustellen.

Siehe auch:

. mysql_connect()
. mysql_pconnect()
. mysql_query()

Abwärtskompatible Funktionen:

mysql_selectdb()

nach unten nach oben Beispiel

<?PHP
/*
   Allgemeine Daten fuer die Datenbankanbindung
   und direkter Connect zur Datenbank. Nach
   Einbindung dieses Segments kann direkt mit
   MySQL-Befehlen auf die Datenbank zugegriffen
   werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_pconnect($db_server, $db_user, $db_passwort)
   or die ('Konnte keine Verbindung zur Datenbank herstellen');

$db_select = @mysql_select_db($db_name);

if($db_select)
  echo 'Datenbank wurde ausgewählt';
?>

nach unten nach oben Ausgabe

Datenbank wurde ausgewählt

Zurück: mysql_result

Weiter: mysql_stat


Funktionsreferenz / MySQL-Funktionen / mysql_stat

Letztes Update der Funktion mysql_stat: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_stat

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_stat ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_stat() kann man sich den momentanen Serverstatus ausgeben lassen. Fehlt die Verbindungskennung, so wird die aktuelle Verbindungskennung genutzt. Um eine vollständige Liste aller Statusvariablen zu bekommen, sollten Sie den MySQL-Befehl SHOW_STATUS nutzen.

nach unten nach oben Beispiel

<?PHP
/* Stellt Verbindung zu Datenbank her */
$db = @mysql_connect('localhost', 'selfphp', 'mega')
   or die('Datenbankverbindung fehlgeschlagen: ' . mysql_error());

$status = explode('  ', mysql_stat($db));

print_r($status);
?>

nach unten nach oben Ausgabe

Array
(
  [0] => Uptime: 26629
  [1] => Threads: 1
  [2] => Questions: 1658
  [3] => Slow queries: 0
  [4] => Opens: 27
  [5] => Flush tables: 1
  [6] => Open tables: 1
  [7] => Queries per second avg: 0.062
)

Zurück: mysql_select_db

Weiter: mysql_tablename


Funktionsreferenz / MySQL-Funktionen / mysql_tablename

Letztes Update der Funktion mysql_tablename: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_tablename

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string mysql_tablename ( resource Ergebnis-Kennung, int i )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_tablename() kann man sich den Namen einer Tabelle in der Datenbank zurückgeben lassen. Nachdem Sie mit mysql_list_tables() einen Ergebnissatz mit der Liste der Tabellen geholt haben, können Sie mysql_tablename() die von mysql_list_tables() gelieferte Ergebnis-Kennung übergeben, um den Namen der Tabelle mit dem Index i zu ermitteln.

Siehe auch:

. mysql_list_tables()
. mysql_num_rows()

nach unten nach oben Beispiel

<?PHP
/*
   Allgemeine Daten fuer die Datenbankanbindung
   und direkter Connect zur Datenbank. Nach
   Einbindung dieses Segments kann direkt mit
   MySQL-Befehlen auf die Datenbank zugegriffen
   werden.
*/

/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'selfphp';
/* Datenbankuser */
$db_user = 'root';
/* Datenbankpasswort */
$db_passwort = 'mega';

/* Erstellt Connect zu Datenbank her */
$db = @mysql_pconnect($db_server, $db_user, $db_passwort)
   or die ('Konnte keine Verbindung zur Datenbank herstellen');

$result = mysql_list_tables($db_name);

for($i = 0; $i < mysql_num_rows($result); $i++){
  $tabellen = mysql_tablename($result, $i);
  echo $tabellen . '<br>';
}
?>

nach unten nach oben Ausgabe

selfphp_forum
selfphp_funktionen
selfphp_guestbook
selfphp_statistik

Zurück: mysql_stat

Weiter: mysql_thread_id


Funktionsreferenz / MySQL-Funktionen / mysql_thread_id

Letztes Update der Funktion mysql_thread_id: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mysql_thread_id

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int mysql_thread_id ( [resource Verbindungs-Kennung] )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Mit mysql_thread_id() kann man sich die aktuelle Thread-ID anzeigen lassen. Wird eine Verbindung neu aufgebaut, so erhalten Sie auch eine neue Thread-ID. Geben Sie den optionalen Parameter Verbindungs-Kennung nicht an, so wird die zuletzt genutzte Verbindung genommen.

Siehe auch:

mysql_ping()
. mysql_list_processes()

nach unten nach oben Beispiel

<?PHP
/* Stellt Verbindung zu Datenbank her */
$db = @mysql_connect('localhost', 'selfphp', 'mega')
   or die('Datenbankverbindung fehlgeschlagen: ' . mysql_error());

echo 'Thread ID: ' . mysql_thread_id($db);
?>

nach unten nach oben Ausgabe

Thread ID: 134

Zurück: mysql_tablename

Weiter: PDF-Funktionen


Funktionsreferenz / PDF-Funktionen / Übersicht PDF-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PDF-Funktionen

Auf den folgenden Seiten werden die PDF-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
auf folgenden Seiten:
1.) [image] vorkenntnisse_pdffunktionen.html
2.) PHP 5 Praxisbuch unter dem Abschnitt "PDF - Portable Document Format": Praxisbuch öffnen

Die hier gelisteten PDF-Funktionen bestehen aus folgenden Seiten:

pdf_add_annotation
pdf_add_bookmark
pdf_add_launchlink
pdf_add_locallink
pdf_add_note
pdf_add_outline
pdf_add_pdflink
pdf_add_weblink
pdf_arc
pdf_begin_page
pdf_circle
pdf_close
pdf_closepath
pdf_closepath_fill_stroke
pdf_closepath_stroke
pdf_close_image
pdf_continue_text
pdf_curveto
pdf_endpath
pdf_end_page
pdf_fill
pdf_fill_stroke
pdf_get_image_height
pdf_get_image_width
pdf_get_parameter
pdf_get_value
pdf_lineto
pdf_moveto
pdf_open
pdf_open_gif
pdf_open_image_file
pdf_open_jpeg
pdf_open_png
pdf_open_tiff
pdf_place_image
pdf_rect
pdf_restore
pdf_rotate
pdf_save
pdf_scale
pdf_setdash
pdf_setflat
pdf_setgray
pdf_setgray_fill
pdf_setgray_stroke
pdf_setlinecap
pdf_setlinejoin
pdf_setlinewidth
pdf_setmiterlimit
pdf_setrgbcolor
pdf_setrgbcolor_fill
pdf_setrgbcolor_stroke
pdf_set_border_color
pdf_set_border_dash
pdf_set_border_style
pdf_set_char_spacing
pdf_set_duration
pdf_set_font
pdf_set_horiz_scaling
pdf_set_info
pdf_set_leading
pdf_set_parameter
pdf_set_text_pos
pdf_set_text_rendering
pdf_set_text_rise
pdf_set_transition
pdf_set_value
pdf_set_word_spacing
pdf_show
pdf_show_boxed
pdf_show_xy
pdf_skew
pdf_stringwidth
pdf_stroke
pdf_translate


Funktionsreferenz / PDF-Funktionen / pdf_add_annotation

Letztes Update der Funktion pdf_add_annotation: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_add_annotation

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_add_annotation ( int PDF-Dokument, double llx, double lly, double urx, double ury, string Titel, string Inhalt )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_add_annotation() kann man innerhalb eines PDF-Dokuments (PDF-Dokument) eine Anmerkung (eine Art gelber Zettel) einfügen. Dabei gibt man als Größe die X-Y-Koordinaten der linken oberen Ecke (llx und lly) und die X-Y-Koordinaten der rechten unteren Ecke (urx und ury) des Anmerkungskastens an. Koordinatenursprung (0,0) ist die linke untere Ecke des Dokuments. Zusätzlich wird eine Überschrift (Titel) und ein Text (Inhalt) für die Anmerkung angegeben. Ist der Text nachher innerhalb vom Acrobat-Reader zu groß, so werden automatisch Scrollbalken eingeblendet, sobald man mit der Maus in den Kasten klickt.

Folgende Formatierungsmöglichkeiten bestehen:

\t - Tabulator, der Text wird eingerückt.
\r - Zeilenumbruch

Aus Darstellungsgründen wurde im unteren Beispiel nur der Anmerkungskasten gezeigt. Tatsächlich würde dieser Kasten bei einem größeren Arbeitsblatt in der linken oberen Ecke platziert sein.

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

$headline = 'Wichtige Notiz';

$text = "1. Inhaltsverzeichnis fehlerhaft
         \t1.1 Sprungmarken fehlen
         \t1.2 Text fehlt
         \r2. Grafiken einbinden
         \t2.1 urknall.jpg
         \t2.2 irland.gif";

pdf_add_annotation($dokument, 0, 100, 50, 60, $headline, $text);

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: MySQL-Funktionen

Weiter: pdf_add_bookmark


Funktionsreferenz / PDF-Funktionen / pdf_add_bookmark

Letztes Update der Funktion pdf_add_bookmark: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_add_bookmark

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int pdf_add_bookmark ( resource pdfdoc, string text, int parent, int open )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PECL)

nach unten nach oben Beschreibung

Mit pdf_add_bookmark() fügt man innerhalb eines PDF-Dokuments (PDF-Dokument) ein Lesezeichen (Text) für die aktuelle Seite hinzu. Das Lesezeichen funktioniert, ähnlich wie ein Eintrag im Inhaltsverzeichnis, als Sprungmarke zu einer bestimmten Seite. Rückgabewert der Funktion ist die ID des neuen Lesezeichens. Sie können Lesezeichen hierarchisch sortieren. Jeder neuen Hauptgruppe (Mutter) können Sie weitere Untergruppen zuordnen, welche wiederum eigene Untergruppen besitzen können. Eine Untergruppe kann so also auch zu einer Hauptgruppe werden und weitere Lesezeichen umfassen. Wenn Sie ein Lesezeichen oder eine neue Untergruppe anlegen wollen, können Sie im Parameter Mutter die ID der übergeordneten Gruppe angeben, zu der das Lesezeichen bzw. die Untergruppe gehören soll. Sie können mit dem optionalen Parameter offen bestimmen, ob das Inhaltsverzeichnis einer bestimmten Gruppe beim Öffnen des PDF-Dokuments aus- oder eingeklappt sein soll. Soll das Inhaltsverzeichnis ausgeklappt sein, so brauchen Sie nur für offen einen Wert ungleich 0 (Null) angeben. Der optionale Parameter offen ist nur im Zusammenhang mit einer Gruppe (Mutter) erlaubt. Da aber die oberste Hauptgruppe (das erste Lesezeichen) keine "Mutter" besitzt, können Sie einfach einen nicht existenten Rückgabewert (im Beispiel $_x) als Gruppen-ID verwenden. Beim Öffnen des unteren Beispiels klappt die Gruppe "2. Ebene" sofort auf, während die "1. Ebene" geschlossen bleibt.

Siehe auch:

. pdf_add_outline()
. pdf_begin_page()
. pdf_end_page()
. pdf_show_xy()

nach unten nach oben Beispiel

<?PHP
$ebene1 = '1. Ebene';

$ebene2 = '1.1 Ebene';

$ebene3 = '2. Ebene';

$ebene4 = '2.1 Ebene';

$ebene5 = '2.2 Ebene';

$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

$m1 = pdf_add_bookmark($dokument, $ebene1);

$m2 = pdf_add_bookmark ($dokument, $ebene2, $m1);

$m3 = pdf_add_bookmark ($dokument,$ebene3, $_x, 1);

$m4 = pdf_add_bookmark ($dokument, $ebene4, $m3);

$m5 = pdf_add_bookmark ($dokument, $ebene5, $m4);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_add_annotation

Weiter: pdf_add_launchlink


Funktionsreferenz / PDF-Funktionen / pdf_add_launchlink

Letztes Update der Funktion pdf_add_launchlink: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_add_launchlink

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool pdf_add_launchlink ( resource pdfdoc, float llx, float lly, float urx, float ury, string filename )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PECL)

nach unten nach oben Beschreibung

Mit pdf_add_launchlink() fügt man innerhalb eines PDF-Dokuments (PDF-Dokument) einen Link auf eine Datei ein. Dabei wird ein Kasten erstellt, welcher als Positionierungsangaben die linkere untere (llx, llx) und die rechte obere Ecke (urx, ury) besitzt. Zusätzlich wird mit dem Parameter datei der Pfad zu der Zieldatei angegeben. Im unteren Beispiel wurde eine GIF-Datei angegeben, welche nach dem Klick auf den Kasten geöffnet wurde.

Siehe auch:

. pdf_begin_page()
. pdf_end_page()

nach unten nach oben Beispiel

<?PHP
$file_1 = 'irland.gif';

$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument,200, 100);

pdf_add_launchlink($dokument, 10, 10, 30, 30, $file_1);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_add_bookmark

Weiter: pdf_add_locallink


Funktionsreferenz / PDF-Funktionen / pdf_add_locallink

Letztes Update der Funktion pdf_add_locallink: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_add_locallink

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool pdf_add_locallink ( resource pdfdoc, float lowerleftx, float lowerlefty, float upperrightx, float upperrighty, int page, string dest )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PECL)

nach unten nach oben Beschreibung

Mit pdf_add_locallink() kann man innerhalb eines PDF-Dokuments (PDF-Dokument) einen Link auf eine andere Seite (seite) innerhalb des PDF-Dokuments hinzufügen. Dabei gibt man als Größe die X-Y-Koordinaten der linken unteren Ecke (llx und lly) und der rechten oberen Ecke (urx und ury) der Linkfläche an. Im PDF-Dokument wird dann ein Kasten erstellt, welcher als Link auf die Seite seite des PDF-Dokuments verweist.

Der letzte Parameter (dest) legt fest, auf welche Weise das Dokument angezeigt wird. Folgende Werte sind für dest möglich:

. fitheight - Das Dokument wird über die ganze Höhe ausgegeben.
. fitpage - Das Dokument wird im ganzen Fenster angezeigt.
. fitwidth - Anzeige des Dokuments über die ganze Breite.
. retain - Das Dokument wird im gegenwärtigen Anzeigemodus des Acrobat-Readers angezeigt.

Im unteren Beispiel wurde über den Kasten ein zusätzlicher Text gelegt ("Nächste Seite"). Geht man nun mit dem Mauszeiger über den Kasten, so wird der Link durch eine Hand dargestellt. Wenn Sie auf den Kasten klicken, wird auf die ausgewählte Seite verzweigt.

Siehe auch:

. pdf_add_bookmark()
. pdf_add_launchlink()
. pdf_add_weblink()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'Nächste Seite', 12, 14);

pdf_add_locallink ($dokument, 10, 10, 95, 25, 2, 'fitwidth');

pdf_end_page($dokument);

pdf_begin_page($dokument, 200, 100);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_add_launchlink

Weiter: pdf_add_note


Funktionsreferenz / PDF-Funktionen / pdf_add_note

Letztes Update der Funktion pdf_add_note: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_add_note

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool pdf_add_note ( resource pdfdoc, float llx, float lly, float urx, float ury, string contents, string title, string icon, int open )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PECL)

nach unten nach oben Beschreibung

Mit pdf_add_note() kann man innerhalb eines PDF-Dokuments (PDF-Dokument) eine Notiz platzieren. Dabei gibt man als Größe die X-Y-Koordinaten der linken unteren Ecke (llx und lly) und der rechten oberen Ecke (urx und ury) der Linkfläche an. Im unteren Beispiel wurde mit contents ein Text und mit title eine Überschrift festgelegt. Zusätzlich bestimmt man mit dem Parameter icon die Art der Darstellung und mit open, ob das anzuzeigende Fenster geöffnet oder geschlossen angezeigt werden soll.

Folgende Möglichkeiten für icon sind möglich:

. comment
. note
. paragraph
. newparagraph
. key
. help

Siehe auch:

. pdf_add_annotation()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

$test = pdf_begin_page($dokument, 200, 100);

$text_1 = "Hier steht der 1.Text. \n Und hier noch mehr!";

$text_2 = 'Allgemeine Hilfe';

pdf_add_note($dokument, 100, 100, 180, 40, $text_1, $text_2, 'help', 0);

$text_1 = "Hier steht der 2.Text. \n Und hier noch mehr!";

$text_2 = 'Allgemeine Hilfe';

pdf_add_note($dokument, 10, 10, 180, 40, $text_1, $text_2, 'help', 1);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_add_locallink

Weiter: pdf_add_outline


Funktionsreferenz / PDF-Funktionen / pdf_add_outline

Letztes Update der Funktion pdf_add_outline: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_add_outline

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int pdf_add_outline ( int PDF-Dokument, string Text [, int Mutter [, int offen]] )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_add_outline() fügt man innerhalb eines PDF-Dokuments (PDF-Dokument) ein Lesezeichen (Text) für die aktuelle Seite hinzu. Das Lesezeichen funktioniert, ähnlich wie ein Eintrag im Inhaltsverzeichnis, als Sprungmarke zu einer bestimmten Seite. Rückgabewert der Funktion ist die ID des neuen Lesezeichens. Sie können Lesezeichen hierarchisch sortieren. Jeder neuen Hauptgruppe (Mutter) können Sie weitere Untergruppen zuordnen, welche wiederum eigene Untergruppen besitzen können. Eine Untergruppe kann so also auch zu einer Hauptgruppe werden und weitere Lesezeichen umfassen. Wenn Sie ein Lesezeichen oder eine neue Untergruppe anlegen wollen, können Sie im Parameter Mutter die ID der übergeordneten Gruppe angeben, zu der das Lesezeichen bzw. die Untergruppe gehören soll. Sie können mit dem optionalen Parameter offen bestimmen, ob das Inhaltsverzeichnis einer bestimmten Gruppe beim Öffnen des PDF-Dokuments aus- oder eingeklappt sein soll. Soll das Inhaltsverzeichnis ausgeklappt sein, so brauchen Sie nur für offen einen Wert ungleich 0 (Null) angeben. Der optionale Parameter offen ist aber nur im Zusammenhang mit einer Gruppe (Mutter) erlaubt. Da aber die oberste Hauptgruppe (das erste Lesezeichen) keine "Mutter" besitzt, können Sie einfach einen nicht existenten Rückgabewert (im Beispiel $_x) als Gruppen-ID verwenden.

Beim Öffnen des unteren Beispiels, klappt die Gruppe "PHP3/4" sofort auf, während "Referenz" geschlossen bleibt. Sobald Sie aber auf "Referenz" klicken, öffnet sich sofort die ganze Gruppenstruktur von "Referenz".

Siehe auch:

. pdf_add_bookmark()
. pdf_begin_page()
. pdf_end_page()
. pdf_show_xy()

Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 250, 150);

$_1 = pdf_add_outline($dokument, 'PHP3/4' ,$_x,1);

pdf_add_outline($dokument, 'PHP3', $_1);

pdf_add_outline($dokument, 'PHP4', $_1);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

$_2 = pdf_add_outline($dokument, 'Referenz');

pdf_show_xy($dokument, 'Text.......', 30, 130);

pdf_end_page($dokument);

pdf_begin_page($dokument, 250, 150);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

$_2_1 = pdf_add_outline($dokument, 'Grafik', $_2, 1);

pdf_show_xy($dokument, 'Text.......', 30, 130);

pdf_end_page($dokument);

pdf_begin_page($dokument, 250, 150);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

$_2_1_1 = pdf_add_outline($dokument, 'PDF-Funktionen', $_2_1);

pdf_show_xy($dokument, 'Text.......', 30, 130);

pdf_end_page($dokument);

pdf_begin_page($dokument, 250, 150);

pdf_set_font($dokument, 'Times-Roman', 48, 'winansi');

pdf_add_outline($dokument, 'Image-Funktionen', $_2_1);

pdf_show_xy($dokument, 'Text.......', 30, 100);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_add_note

Weiter: pdf_add_pdflink


Funktionsreferenz / PDF-Funktionen / pdf_add_pdflink

Letztes Update der Funktion pdf_add_pdflink: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_add_pdflink

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool pdf_add_pdflink ( resource pdfdoc, float bottom_left_x, float bottom_left_y, float up_right_x, float up_right_y, string filename, int page, string dest )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_add_pdflink() kann man innerhalb eines PDF-Dokuments (PDF-Dokument) einen Hyperlink auf eine andere PDF-Datei hinzufügen. Dabei gibt man als Größe die X-Y-Koordinaten der linken unteren Ecke (llx und lly) und der rechten oberen Ecke (urx und ury) der Hyperlinkfläche an. Im PDF-Dokument wird dann ein Kasten erstellt, welcher als Hyperlink auf den Dateinamen (filename) des PDF-Dokuments verweist. Zusätzlich kann man die Seite (page) angeben, auf welche man direkt springen möchte. Der letzte Parameter (dest) legt fest, auf welche Weise das Dokument angezeigt wird.

Folgende Werte sind für dest möglich:

. fitbox - Es werden alle Objekte ohne Berücksichtigung des Seitenrandes ausgegeben.
. fitheight - Das Dokument wird über die ganze Höhe ausgegeben.
. fitpage - Das Dokument wird im ganzen Fenster angezeigt.
. fitwidth - Anzeige des Dokuments über die ganze Breite.
. retain - Das Dokument wird im gegenwärtigen Anzeigemodus des Acrobat-Readers angezeigt.

Im unteren Beispiel wurde über den Kasten ein zusätzlicher Text gelegt ("Lade PDF-Dokument"). Geht man nun mit dem Mauszeiger über den Kasten, so wird der Link durch ein "w" mit einer Hand dargestellt. Wenn Sie auf den Kasten klicken, wird auf die ausgewählte Seite verzweigt.

Siehe auch:

. pdf_set_border_style()
. pdf_set_border_color()
. pdf_set_border_dash()
. pdf_add_weblink()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_border_style($dokument, solid, 1);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'zur Homepage', 12, 14);

pdf_add_pdflink($dokument, 10, 10, 95, 25, 'php1.pdf', 1, 'retain');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_add_outline

Weiter: pdf_add_weblink


Funktionsreferenz / PDF-Funktionen / pdf_add_weblink

Letztes Update der Funktion pdf_add_weblink: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_add_weblink

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool pdf_add_weblink ( resource pdfdoc, float lowerleftx, float lowerlefty, float upperrightx, float upperrighty, string url )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_add_weblink() kann man innerhalb eines PDF-Dokuments (PDF-Dokument) einen Hyperlink auf eine Website hinzufügen. Dabei gibt man als Größe die X-Y-Koordinaten der linken unteren Ecke (llx und lly) und der rechten oberen Ecke (urx und ury) der Hyperlinkfläche an. Im PDF-Dokument wird dann ein Kasten erstellt, welcher als Hyperlink auf die URL (url) der Website verweist. Im unteren Beispiel wurde über den Kasten ein zusätzlicher Text gelegt ("zur Homepage"). Geht man nun mit dem Mauszeiger über den Kasten, so wird der Link durch ein "w" mit einer Hand dargestellt. Wenn Sie auf den Kasten klicken, wird der Link in einem Browserfenster geöffnet.

Siehe auch:

. pdf_set_border_style()
. pdf_set_border_color()
. pdf_set_border_dash()
. pdf_add_pdflink()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_border_style($dokument, solid, 1);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'zur Homepage', 12, 14);

pdf_add_weblink($dokument, 10, 10, 95, 25, 'http://www.selfphp3.de');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_add_pdflink

Weiter: pdf_arc


Funktionsreferenz / PDF-Funktionen / pdf_arc

Letztes Update der Funktion pdf_arc: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_arc

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_arc ( int PDF-Dokument, double x-Koor, double y-Koor, double Radius, double Start, double Ende )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_arc() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument) einen Bogen. Dabei wird mit den X-Y-Koordinatenpunkten x-Koor und y-Koor die Bogenmitte angegeben. Der Radius des Kreises wird durch den Parameter Radius bestimmt. Für die Laufweite des Bogens bestimmt man einen Startwinkel (Start) und einen Endwinkel (Ende). Der Kreisbogen wird dabei gegen den Uhrzeigersinn gezeichnet.

Siehe auch:

. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_arc($dokument, 100, 50, 48, 0, 270);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_add_weblink

Weiter: pdf_begin_page


Funktionsreferenz / PDF-Funktionen / pdf_begin_page

Letztes Update der Funktion pdf_begin_page: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_begin_page

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_begin_page ( int PDF-Dokument, double Breite, double HÃ¶he )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_begin_page() beginnt man eine neue Seite innerhalb eines PDF-Dokuments (PDF-Dokument) mit der Breite Breite und der Höhe Höhe. Dabei ist darauf zu achten, dass man mindestens eine neue Seite erzeugt, welche man mit pdf_end_page() schließen sollte, um ein gültiges Dokument zu erzeugen.

Siehe auch:

. fopen()
. fclose()
. pdf_end_page()
. pdf_open()
. pdf_close()

nach unten nach oben Beispiel

<?PHP
$file = fopen('test.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_arc

Weiter: pdf_circle


Funktionsreferenz / PDF-Funktionen / pdf_circle

Letztes Update der Funktion pdf_circle: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_circle

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_circle ( int PDF-Dokument, double x-Koor, double y-Koor, double Radius )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_circle() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument) einen Kreis. Dabei wird mit den X-Y-Koordinatenpunkten (x-Koor und y-Koor) die Kreismitte angegeben. Der Radius (Radius) des Kreises ist dabei die Hälfte des Durchmessers.

Siehe auch:

. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_circle($dokument, 100, 50, 48);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_begin_page

Weiter: pdf_close


Funktionsreferenz / PDF-Funktionen / pdf_close

Letztes Update der Funktion pdf_close: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_close

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Hinweis Hinweis |

nach unten nach oben Befehl

void pdf_close ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_close() schließt man eine PDF-Datei mittels der Datei-ID (PDF-Dokument), die zuvor von pdf_open() zurückgegeben wurde.

Siehe auch:

. pdf_open()
. fclose()

nach unten nach oben Beispiel

<?PHP
$datei = fopen('php.pdf', 'w');

$dokument = pdf_open($datei);

pdf_close($dokument);

fclose($datei);
?>

nach unten nach oben Hinweis

Es erfolgt keine sichtbare Ausgabe. Die Datei php.pdf wurde erzeugt und geschlossen.

Zurück: pdf_circle

Weiter: pdf_closepath


Funktionsreferenz / PDF-Funktionen / pdf_closepath

Letztes Update der Funktion pdf_closepath: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_closepath

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_closepath ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_closepath() schließt man in einem PDF-Dokument (PDF-Dokument) den Zeichenpfad. Dabei wird das Ende des aktuellen Pfades mit dem Anfang des Pfades verbunden. Im unteren Beispiel wurde der erste Pfad mit einer horizontalen Linie nach rechts begonnen. Die zweite Linie begann automatisch am Ende der ersten Linie und zog sich in vertikaler Richtung nach unten. Die dritte Linie begann wieder am Ende der zweiten Linie und zog sich in horizontaler Richtung von rechts nach links. Danach wurde der Pfad abgeschlossen und das Ende der dritten Linie schloss sich zusammen mit dem Anfang der ersten Linie.

Siehe auch:

. pdf_moveto()
. pdf_circle()
. pdf_rect()
. pdf_lineto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth($dokument, 3);

pdf_moveto($dokument, 10, 50);

pdf_lineto($dokument, 190, 50);

pdf_lineto($dokument, 190, 20);

pdf_lineto($dokument, 50, 20);

pdf_closepath($dokument);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_close

Weiter: pdf_closepath_fill_stroke


Funktionsreferenz / PDF-Funktionen / pdf_closepath_fill_stroke

Letztes Update der Funktion pdf_closepath_fill_stroke: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_closepath_fill_stroke

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_closepath_fill_stroke ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_closepath_fill_stroke() schließt man einen Pfad innerhalb eines PDF-Dokuments (PDF-Dokument) und füllt das Innere des aktuellen Pfades mit der aktuell zugewiesenen Farbe. Zusätzlich zum Füllen wird entlang des Pfades eine Linie gezeichnet.Im unteren Beispiel wurde ein Bogen mit 180° entgegen dem Uhrzeigersinn gezeichnet. Am Ende des Pfades wurde danach eine diagonale Linie bis zum unteren Rand der Seite gezogen. Mit pdf_closepath_fill_stroke wurde danach der Innenraum gefüllt und eine Linie entlang des Pfades gezeichnet.

Siehe auch:

. pdf_closepath()
. pdf_stroke()
. pdf_fill()
. pdf_setgray_fill()
. pdf_setgray()
. pdf_setrgbcolor_fill()
. pdf_setrgbcolor()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setgray($dokument, 0.7);

pdf_arc($dokument, 100, 50, 48, 0, 180);

pdf_lineto($dokument, 100, 5);

pdf_closepath_fill_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_closepath

Weiter: pdf_closepath_stroke


Funktionsreferenz / PDF-Funktionen / pdf_closepath_stroke

Letztes Update der Funktion pdf_closepath_stroke: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_closepath_stroke

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_closepath_stroke ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_closepath_stroke() schließt man in einem PDF-Dokument (PDF-Dokument) den Zeichenpfad. Dabei wird das Ende des aktuellen Pfades mit dem Anfang des Pfades verbunden. Zusätzlich wird aber noch die Linie gezeichnet und der aktuelle Pfad gelöscht. Im unteren Beispiel wurde ein Bogen mit 270° entgegen dem Uhrzeigersinn gezeichnet. Am Ende des Pfades wurde danach eine vertikale Linie bis zum Mittelpunkt des Bogens gezogen. Mit pdf_closepath_stroke() wurde der fehlende Pfad danach geschlossen und die Linie gezeichnet.

Siehe auch:

. pdf_closepath()
. pdf_stroke()
. pdf_arc()
. pdf_lineto()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_arc($dokument, 100, 50, 48, 0, 270);

pdf_lineto($dokument, 100, 50);

pdf_closepath_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_closepath_fill_stroke

Weiter: pdf_close_image


Funktionsreferenz / PDF-Funktionen / pdf_close_image

Letztes Update der Funktion pdf_close_image: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_close_image

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_close_image ( int Bild )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_close_image() schließt man innerhalb eines PDF-Dokuments (PDF-Dokument) ein Bild (Bild), welches man zuvor mit den Funktionen pdf_open_gif(), pdf_open_png(), pdf_open_image_file(), pdf_open_jpeg(), pdf_open_memory_image() oder pdf_open_tiff() geöffnet hat. Diese Funktion sollten Sie benutzen, um das Bild wieder ordnungsgemäß zu schließen.

Siehe auch:

. pdf_open_gif()
. pdf_open_png()
. pdf_open_image_file()
. pdf_open_jpeg()
. pdf_open_tiff()
pdf_open_memory_image()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

$im = pdf_open_gif($dokument, 'bruecke.gif');

pdf_begin_page($dokument, 200, 100);

pdf_place_image($dokument, $im, 10, 10, 1.0);

pdf_close_image($dokument, $im);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_closepath_stroke

Weiter: pdf_continue_text


Funktionsreferenz / PDF-Funktionen / pdf_continue_text

Letztes Update der Funktion pdf_continue_text: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_continue_text

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_continue_text ( int PDF-Dokument, string Text )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_continue_text() kann man einen Text (Text) in die nächste Zeile eines PDF-Dokuments (PDF-Dokument) schreiben. Dabei benutzt pdf_continue_text() bei der Ausrichtung des Textes die Einstellungen der letzten Textfunktion (z.B. pdf_show_xy()). Falls keine dieser Textfunktionen vorher aufgerufen wurde, so ist mit der Funktion pdf_set_text_pos() die Positionsangabe für die Textausgabe zu setzen, da sonst der Text innerhalb des Dokuments nicht angezeigt werden kann. Mit der Funktion pdf_set_leading() wird der Abstand zwischen den Zeilen bestimmt.

Siehe auch:

. pdf_show_xy()
. pdf_set_leading()
. pdf_set_text_pos()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_leading($dokument, 40);

pdf_set_font($dokument, 'Times-Roman', 18, 'winansi');

pdf_show_xy($dokument, 'PDF-Funktionen', 10, 80);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_set_leading($dokument, 20);

pdf_continue_text($dokument, 'pdf_continue_text');

pdf_continue_text($dokument, 'pdf_stringwidth');

pdf_continue_text($dokument, 'pdf_setlinewidth');

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_close_image

Weiter: pdf_curveto


Funktionsreferenz / PDF-Funktionen / pdf_curveto

Letztes Update der Funktion pdf_curveto: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_curveto

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_curveto ( int PDF-Dokument, double x1, double y1, double x2, double y2, double x3, double y3 )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_curveto() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument) eine Bezier-Kurve vom aktuellen Punkt (im Beispiel ist das das Ende der horizontalen Linie) zum Koordinatenpunkt (x3/y3). Dabei werden als Kontrollpunkte für die Bézier-Kurve die Koordinatenpunkte (x1/y1) und (x2/y2) ausgewertet. Im unteren Beispiel wurden die Kontrollpunkte durch einen dünneren Strich dargestellt. Dabei ergibt sich die Bézier-Kurve aus ihren zwei Endpunkten und durch die zwei Kontrollpunkte, die die Endpunkt-Tangenten der Kurve kontrollieren. Dabei ist sie als Annäherungskurve zu sehen, das heißt die Kurve wird die Kontrollpunkte nicht schneiden, sondern versuchen, sich so nah wie möglich an die Kontrollpunkte zu platzieren.

Siehe auch:

. pdf_lineto()
. pdf_moveto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_moveto($dokument, 10, 90);

pdf_lineto($dokument, 180, 90);

pdf_curveto ($dokument, 160, 70, 20, 50, 150, 10);

pdf_stroke($dokument);

pdf_setlinewidth ($dokument, 1);

pdf_moveto($dokument, 180, 90);

pdf_lineto($dokument, 160, 70);

pdf_stroke($dokument);

pdf_moveto($dokument, 160, 70);

pdf_lineto($dokument, 20, 50);

pdf_stroke($dokument);

pdf_moveto($dokument, 20, 50);

pdf_lineto($dokument, 150, 10);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_continue_text

Weiter: pdf_endpath


Funktionsreferenz / PDF-Funktionen / pdf_endpath

Letztes Update der Funktion pdf_endpath: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_endpath

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_endpath ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_endpath() beendet man einen Pfad innerhalb eines PDF-Dokuments (PDF-Dokument), ohne ihn explizit zu schließen. Nachfolgende Funktionen werden dann nicht mehr den Endpunkt des letzten Pfades finden, um von diesem Punkt aus weiterzeichnen zu können. Im unteren Beispiel wurde ein Bogen mit 180° entgegen dem Uhrzeigersinn gezeichnet. Am Ende des Pfades wurde danach eine diagonale Linie bis zum unteren Rand der Seite gezogen. Von diesem Endpunkt verläuft eine horizontale Linie nach rechts. Danach wurde der Pfad beendet. Es ist nun nicht mehr möglich, den Anfangs-/Endpunkt des Pfads automatisch zu nutzen.

Siehe auch:

. pdf_closepath()
. pdf_stroke()
. pdf_fill()
. pdf_setgray()
. pdf_arc()
. pdf_lineto()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_setgray($dokument, 0.7);

pdf_arc($dokument, 100, 50, 48, 0, 180);

pdf_lineto($dokument, 100, 5);

pdf_lineto($dokument, 148, 5);

pdf_stroke($dokument);

pdf_endpath($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_curveto

Weiter: pdf_end_page


Funktionsreferenz / PDF-Funktionen / pdf_end_page

Letztes Update der Funktion pdf_end_page: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_end_page

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_end_page ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_end_page() beendet man eine Seite eines PDF-Dokuments (PDF-Dokument), welche man zuvor mit pdf_begin_page() erzeugt hat. Weitere Änderungen auf der Seite sind nach dem Schließen nicht mehr möglich. Sie sollten diesen Befehl immer im Zusammenhang mit pdf_begin_page() nutzen, um ein gültiges Dokument zu erhalten.

Siehe auch:

. fopen()
. fclose()
. pdf_begin_page()
. pdf_open()
. pdf_close()

nach unten nach oben Beispiel

<?PHP
$file = fopen('test.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen. An der geschlossenen Seite sind keine Änderungen mehr möglich.

Zurück: pdf_endpath

Weiter: pdf_fill


Funktionsreferenz / PDF-Funktionen / pdf_fill

Letztes Update der Funktion pdf_fill: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_fill

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_fill ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_fill() füllt man das Innere des aktuellen Pfades innerhalb eines PDF-Dokuments (PDF-Dokument) mit der aktuellen Farbe. Viele Funktionen wie z.B. pdf_circle() oder pdf_rect() erzeugen einen Pfad, den man mit pdf_fill() mit Farbe füllen kann. Im unteren Beispiel wurde das Rechteck mit einer dunkelgrauen und der Kreis mit einer hellgrauen Farbe gefüllt.

Siehe auch:

. pdf_closepath()
. pdf_stroke()
. pdf_setgray_fill()
. pdf_setgray()
. pdf_setrgbcolor_fill()
. pdf_setrgbcolor()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_rect($dokument, 10, 10, 180, 80);

pdf_setgray($dokument, 0.8);

pdf_fill($dokument);

pdf_setgray($dokument, 0.9);

pdf_circle($dokument, 100, 50, 30);

pdf_fill($dokument);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_end_page

Weiter: pdf_fill_stroke


Funktionsreferenz / PDF-Funktionen / pdf_fill_stroke

Letztes Update der Funktion pdf_fill_stroke: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_fill_stroke

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_fill_stroke ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_fill_stroke() füllt man das Innere des aktuellen Pfades innerhalb eines PDF-Dokuments (PDF-Dokument) mit der aktuellen Farbe. Viele Funktionen wie z.B. pdf_circle() oder pdf_rect() erzeugen einen Pfad, den man mit pdf_fill_stroke() mit Farbe füllen kann. Zusätzlich zum Füllen wird entlang des Pfades eine Linie gezeichnet. Im unteren Beispiel wurde ein Bogen von 270° entgegen dem Uhrzeigersinn gezeichnet. Am Ende des Pfades wurde danach eine vertikale Linie bis zum Mittelpunkt des Bogens gezogen. Mit pdf_fill_stroke() wurde danach der Innenraum gefüllt und eine Linie entlang des Pfades gezeichnet.

Siehe auch:

. pdf_closepath()
. pdf_stroke()
. pdf_fill()
. pdf_setgray_fill()
. pdf_setgray()
. pdf_setrgbcolor_fill()
. pdf_setrgbcolor()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setgray($dokument, 0.9);

pdf_arc($dokument, 100, 50, 48, 0, 270);

pdf_lineto($dokument, 100, 50);

pdf_fill_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_fill

Weiter: pdf_get_image_height


Funktionsreferenz / PDF-Funktionen / pdf_get_image_height

Letztes Update der Funktion pdf_get_image_height: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_get_image_height

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string pdf_get_image_height ( int pdf document, int Bild )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_get_image_height() kann man sich die Höhe eines Bildes (Bild) zurückgeben lassen und, wie im unteren Beispiel gezeigt, die Informationen innerhalb des PDF-Dokuments (PDF-Dokument) nutzen. Dabei wurde ein JPEG-Bild innerhalb des Dokuments mit pdf_place_image() an einer Stelle platziert und seine Höhe innerhalb eines Textes, welcher mit pdf_show_xy() erstellt worden ist, ausgegeben. Diese Funktion eignet sich besonders gut, um das Bild innerhalb eines PDF-Dokuments exakt zu positionieren.

Siehe auch:

. pdf_open_image_file()
pdf_open_memory_image()
. pdf_get_image_width()
. pdf_place_image()
. pdf_show_xy()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

$img = pdf_open_jpeg($dokument, 'irland.jpg');

$height = pdf_get_image_height($dokument, $img);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'Bildhöhe: ' . $height, 10, 88);

pdf_place_image($dokument, $img, 10, 5 , 1);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen. Sie können sich aber bei diesem Befehl mit "echo $height;" die Höhe des Bildes ausgeben lassen.

Zurück: pdf_fill_stroke

Weiter: pdf_get_image_width


Funktionsreferenz / PDF-Funktionen / pdf_get_image_width

Letztes Update der Funktion pdf_get_image_width: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_get_image_width

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string pdf_get_image_width ( int pdf document, int Bild )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_get_image_width() kann man sich die Breite eines Bildes (Bild) zurückgeben lassen und, wie im unteren Beispiel gezeigt, die Informationen innerhalb des PDF-Dokuments (PDF-Dokument) nutzen. Dabei wurde ein JPEG-Bild innerhalb des Dokuments mit pdf_place_image() an einer Stelle platziert und seine Breite innerhalb eines Textes, welcher mit pdf_show_xy() erstellt worden ist, ausgegeben. Diese Funktion eignet sich besonders gut, um das Bild innerhalb eines PDF-Dokuments exakt zu positionieren.

Siehe auch:

. pdf_open_image_file()
pdf_open_memory_image()
. pdf_get_image_height()
. pdf_place_image()
. pdf_show_xy()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

$img = pdf_open_jpeg($dokument, 'irland.jpg');

$width = pdf_get_image_width($dokument, $img);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'Bildbreite: ' . $width, 10, 88);

pdf_place_image($dokument, $img, 10, 5 , 1);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen. Sie können sich aber bei diesem Befehl mit "echo $width;" die Breite des Bildes ausgeben lassen.

Zurück: pdf_get_image_height

Weiter: pdf_get_parameter


Funktionsreferenz / PDF-Funktionen / pdf_get_parameter

Letztes Update der Funktion pdf_get_parameter: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_get_parameter

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string pdf_get_parameter ( int PDF-Dokument, string Name, double Modifizierer )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PECL)

nach unten nach oben Beschreibung

Mit pdf_get_parameter() kann man sich den Wert einer für ein PDF-Dokument (PDF-Dokument) gültigen Eigenschaft (Name) vom Typ string zurückgeben lassen. Der optionale Parameter Modifizierer spezifiziert die gesuchte Eigenschaft genauer.

Siehe auch:

. pdf_get_value()
. pdf_set_value()
. pdf_set_parameter()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument,200,100);

pdf_set_font($dokument, 'Helvetica', 14, 'winansi');

$get = pdf_get_parameter($dokument, 'fontname');

pdf_show_xy($dokument, 'Aktuelle Schrift: ' . $get, 5, 50);

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_get_image_width

Weiter: pdf_get_value


Funktionsreferenz / PDF-Funktionen / pdf_get_value

Letztes Update der Funktion pdf_get_value: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_get_value

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

double pdf_get_value ( int PDF-Dokument, string Name, double Modifizierer )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PECL)

nach unten nach oben Beschreibung

Mit pdf_get_value() kann man sich den Wert einer für ein PDF-Dokument (PDF-Dokument) gültigen Eigenschaft (Name) vom Typ double zurückgeben lassen. Der optionale Parameter Modifizierer spezifiziert die gesuchte Eigenschaft genauer.

Für folgende Objekte können Sie Eigenschaften abfragen:

. Bilder
. Grafiken
. Font/Text

Bilder haben folgende Eigenschaften:

. imagewidth - Bildbreite
. imageheight - Bildhöhe
. resx - horizontale Auflösung
. resy - vertikale Auflösung

Für Grafiken gibt es folgende Eigenschaften:

. currentx - X-Koordinate der Position
. currenty - Y-Koordinate der Position

Für Font/Text gibt es folgende Eigenschaften:

. ascender - Abstand nach einem Zeichen
. descender - Abstand vor einem Zeichen
. capheight - Höhe des Zeilenabstand
. font - Zeiger auf den Font
. fontsize - Größe des Font
. textx - X-Koordinate des Textes
. texty - Y-Koordinate des Textes

Siehe auch:

. pdf_set_value()
. pdf_set_parameter()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

$image = pdf_open_png($dokument, 'irland.png');

pdf_place_image($dokument, $image, 10, 15, 1.0);

$breit = pdf_get_value($dokument, imagewidth, $image);

$hoch = pdf_get_value($dokument, imageheight, $image);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'Bildgröße: ' . $breit . ' x ' . $hoch, 10, 4);

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_get_parameter

Weiter: pdf_lineto


Funktionsreferenz / PDF-Funktionen / pdf_lineto

Letztes Update der Funktion pdf_lineto: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_lineto

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_lineto ( int PDF-Dokument, double x-Koor, double y-Koor )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_lineto() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument) eine Gerade. Anfangspunkt der Geraden ist der Endpunkt der letzten Zeichenoperation (z.B. pdf_arc oder pdf_moveto), Endpunkt die Koordinaten x-Koor und y-Koor. Im Anschluss an pdf_lineto() sollten Sie pdf_stroke() aufrufen, da erst dann die Linie wirklich gezeichnet wird.

Siehe auch:

. pdf_moveto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_moveto($dokument, 10, 50);

pdf_lineto($dokument, 190, 50);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_get_value

Weiter: pdf_moveto


Funktionsreferenz / PDF-Funktionen / pdf_moveto

Letztes Update der Funktion pdf_moveto: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_moveto

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_moveto ( int PDF-Dokument, double x-Koor, double y-Koor )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_moveto() setzt man innerhalb eines PDF-Dokuments (PDF-Dokument) den Startpunkt für weitere Zeichenoperationen auf die Koordinaten x-Koor und y-Koor (um z.B. eine Linie mit pdf_lineto() zu zeichen).

Siehe auch:

. pdf_lineto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_moveto($dokument, 10, 50);

pdf_lineto($dokument, 190, 50);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_lineto

Weiter: pdf_open


Funktionsreferenz / PDF-Funktionen / pdf_open

Letztes Update der Funktion pdf_open: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_open

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Hinweis Hinweis |

nach unten nach oben Befehl

int pdf_open ( int Datei-Deskriptor )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_open() öffnet man eine PDF-Datei mittels der Datei-ID (Datei-Deskriptor), welche zuvor mit fopen() erstellt wurde. Wird keine Datei-ID angegeben, so wird die Ausgabe an den Browser oder nach stdout gesendet.

Siehe auch:

. fopen()
. fclose()
. pdf_close()

nach unten nach oben Beispiel

<?PHP
$datei = fopen('php.pdf', 'w');

$dokument = pdf_open($datei);

pdf_close($dokument);

fclose($datei);
?>

nach unten nach oben Hinweis

Es erfolgt keine sichtbare Ausgabe. Die Datei php.pdf wurde erzeugt.

Zurück: pdf_moveto

Weiter: pdf_open_gif


Funktionsreferenz / PDF-Funktionen / pdf_open_gif

Letztes Update der Funktion pdf_open_gif: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_open_gif

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int pdf_open_gif ( int PDF-Dokument, string Dateiname )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_open_gif() liest man ein GIF-Bild aus einer Datei (Dateiname) und stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur Verfügung. Im unteren Beispiel wurde ein GIF-Bild in das PDF-Dokument geladen und mit pdf_place_image() an einer bestimmten Stelle positioniert. Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden. Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().

Siehe auch:

. pdf_close_image()
. pdf_open_jpeg()
. pdf_open_png()
. pdf_open_tiff()
pdf_open_memory_image()
pdf_execute_image()
. pdf_place_image()
pdf_put_image()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

$im = pdf_open_gif($dokument, 'fluss.gif');

pdf_begin_page($dokument, 200, 100);

pdf_place_image($dokument, $im, 10, 10, 1.0);

pdf_close_image($dokument, $im);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_open

Weiter: pdf_open_image_file


Funktionsreferenz / PDF-Funktionen / pdf_open_image_file

Letztes Update der Funktion pdf_open_image_file: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_open_image_file

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int pdf_open_image_file ( int PDF-Dokument, string Bildformat, string Dateiname )

nach unten nach oben Version

(PHP 3 CVS only, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_open_image_file() liest man ein Bild aus einer Datei (Dateiname) und stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur Verfügung. Das Format der Bilddatei muss im Parameter (Bildformat) angegeben werden.

Folgende Bildformate werden unterstützt:

. gif
. jpeg
. png
. tiff

Im unteren Beispiel wurde ein PNG-Bild in das PDF-Dokument geladen und mit pdf_place_image() an einer bestimmten Stelle positioniert.

Siehe auch:

. pdf_close_image()
. pdf_open_jpeg()
. pdf_open_gif()
. pdf_open_tiff()
. pdf_open_png()
pdf_execute_image()
. pdf_place_image()
pdf_put_image()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

$im = pdf_open_image_file($dokument, 'png', 'eisberg.png');

pdf_begin_page($dokument,200, 100);

pdf_place_image($dokument, $im, 10, 10, 1.0);

pdf_close_image($dokument, $im);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_open_gif

Weiter: pdf_open_jpeg


Funktionsreferenz / PDF-Funktionen / pdf_open_jpeg

Letztes Update der Funktion pdf_open_jpeg: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_open_jpeg

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int pdf_open_jpeg ( int PDF-Dokument, string Dateiname )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_open_jpeg() liest man ein JPEG-Bild aus einer Datei (Dateiname) und stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur Verfügung. Im unteren Beispiel wurde ein JPEG-Bild in das PDF-Dokument geladen und mit pdf_place_image() an einer bestimmten Stelle positioniert. Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden. Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().

Siehe auch:

. pdf_close_image()
. pdf_open_png()
. pdf_open_gif()
. pdf_open_tiff()
pdf_open_memory_image()
pdf_execute_image()
. pdf_place_image()
pdf_put_image()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

$im = pdf_open_jpeg($dokument, 'insel.jpg');

pdf_begin_page($dokument, 200, 100);

pdf_place_image($dokument, $im, 10, 10, 1.0);

pdf_close_image($dokument, $im);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_open_image_file

Weiter: pdf_open_png


Funktionsreferenz / PDF-Funktionen / pdf_open_png

Letztes Update der Funktion pdf_open_png: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_open_png

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int pdf_open_png ( int PDF-Dokument, string Dateiname )

nach unten nach oben Version

(PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_open_png() liest man ein PNG-Bild aus einer Datei (Dateiname) und stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur Verfügung.Im unteren Beispiel wurde ein PNG-Bild in das PDF-Dokument geladen und mit pdf_place_image() an einer bestimmten Stelle positioniert. Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden. Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().

Siehe auch:

. pdf_close_image()
. pdf_open_jpeg()
. pdf_open_gif()
. pdf_open_tiff()
pdf_open_memory_image()
pdf_execute_image()
. pdf_place_image()
pdf_put_image()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

$im = pdf_open_png($dokument, 'irland.png');

pdf_begin_page($dokument, 200, 100);

pdf_place_image($dokument, $im, 10, 10, 1.0);

pdf_close_image($dokument, $im);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_open_jpeg

Weiter: pdf_open_tiff


Funktionsreferenz / PDF-Funktionen / pdf_open_tiff

Letztes Update der Funktion pdf_open_tiff: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_open_tiff

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int pdf_open_tiff ( int PDF-Dokument, string Dateiname )

nach unten nach oben Version

(PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_open_tiff() liest man ein TIFF-Bild aus einer Datei (Dateiname) und stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur Verfügung. Im unteren Beispiel wurde ein TIFF-Bild in das PDF-Dokument geladen und mit pdf_place_image() an einer bestimmten Stelle positioniert. Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden. Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().

Siehe auch:

. pdf_close_image()
. pdf_open_jpeg()
. pdf_open_gif()
. pdf_open_png()
pdf_open_memory_image()
pdf_execute_image()
. pdf_place_image()
pdf_put_image()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

$im = pdf_open_tiff($dokument, 'urwald.tif');

pdf_begin_page($dokument, 200, 100);

pdf_place_image($dokument, $im, 10, 10, 1.0);

pdf_close_image($dokument, $im);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_open_png

Weiter: pdf_place_image


Funktionsreferenz / PDF-Funktionen / pdf_place_image

Letztes Update der Funktion pdf_place_image: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_place_image

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_place_image ( int PDF-Dokument, int Bild, double x-Koor, double y-Koor, double scale )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_place_image() platziert man ein Bild (Bild) innerhalb eines PDF-Dokuments (PDF-Dokument). Dabei gibt man die Position des Bildes durch die X-Y-Koordinaten (x-Koor und y-Koor) an, welche den Nullpunkt in der linken unteren Ecke der Arbeitsfläche haben. Zusätzlich kann man mit dem Parameter scale eine Skalierung auf das Bild anwenden. Im unteren Beispiel wurde eine Grafik auf die Koordinaten 10/10 platziert und ein Skalierungsfaktor von 1.0 angewendet (Originalgröße). Um die Grafik auf die halbe Größe zu reduzieren, wendet man einen Skalierungsfaktor von 0.5 an.

Siehe auch:

. pdf_put_image()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

$im = pdf_open_jpeg($dokument, 'urknall.jpg');

pdf_begin_page($dokument, 200, 100);

pdf_place_image($dokument, $im, 10, 10, 1.0);

pdf_close_image($dokument, $im);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_open_tiff

Weiter: pdf_rect


Funktionsreferenz / PDF-Funktionen / pdf_rect

Letztes Update der Funktion pdf_rect: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_rect

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_rect ( int PDF-Dokument, double x-koor, double y-koor, double Breite, double HÃ¶he )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_rect() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument) ein Rechteck. Dabei wird mit den X-Y-Koordinaten (x-Koor und y-Koor) die linke untere Ecke des Rechtecks angegeben. Die Breite (Breite) und Höhe (Höhe) bestimmen, wie groß das Rechteck werden soll.

Siehe auch:

. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth($dokument, 3);

pdf_rect($dokument, 10, 10, 180, 80);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_place_image

Weiter: pdf_restore


Funktionsreferenz / PDF-Funktionen / pdf_restore

Letztes Update der Funktion pdf_restore: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_restore

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_restore ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_restore() kann man den Schutz, welcher mittels pdf_save() auf das aktuelle Dokument (PDF-Dokument) gesetzt wurde, wieder aufheben. Das ist oftmals sehr nützlich, um nach Änderungen im Koordinatensystem in den ursprünglichen Zustand des Dokuments zu gelangen. Im unteren Beispiel wurde zuerst ein Text (1) in horizontaler Richtung geschrieben. Danach wurde die Funktion pdf_save() aufgerufen, um die letzten Einstellungen zu schützen. Anschließend wurden dann die Texte 2 und 3 mittels pdf_skew() im Koordinatensystem geschert. Um die ursprüngliche Umgebung wieder herzustellen, wurde die Funktion pdf_restore() benutzt. Abschließend wurde dann noch einmal ein Text (4) in horizontaler Richtung geschrieben.

Siehe auch:

. pdf_save()
. pdf_skew()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 24, 'winansi');

pdf_setgray_fill($dokument, 0.7);

pdf_show_xy($dokument, '1.Ein kurzer Text', 0, 30);

pdf_save($dokument);

pdf_skew($dokument, 20, 10);

pdf_setgray_fill($dokument, 0);

pdf_show_xy($dokument, '2.Ein kurzer Text', 0, 30);

pdf_set_font($dokument, 'Times-Roman', 18, 'winansi');

pdf_setgray_fill($dokument, 0.5);

pdf_continue_text($dokument, '3.Ein kurzer Text');

pdf_restore($dokument);

pdf_show_xy($dokument, '4.Ein kurzer Text', 30, 5);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_rect

Weiter: pdf_rotate


Funktionsreferenz / PDF-Funktionen / pdf_rotate

Letztes Update der Funktion pdf_rotate: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_rotate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_rotate ( int PDF-Dokument, double Winkel )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_rotate() dreht man innerhalb eines PDF-Dokuments (PDF-Dokument) das Koordinatensystem um eine bestimmte Winkelangabe (Winkel) in Grad.

Siehe auch:

. pdf_setgray_fill()
. pdf_show_xy()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 16, 'winansi');

pdf_setgray_fill($dokument, 0.7);

pdf_show_xy($dokument, 'PHP3/4 - Die Befehlsreferenz', 5, 10);

pdf_rotate($dokument, 20);

pdf_setgray_fill($dokument, 0);

pdf_show_xy($dokument, 'PHP3/4 - Die Befehlsreferenz', 5, 10);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_restore

Weiter: pdf_save


Funktionsreferenz / PDF-Funktionen / pdf_save

Letztes Update der Funktion pdf_save: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_save

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_save ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_save() kann man den aktuellen Zustand des Dokuments (PDF-Dokument) sichern. Das ist oftmals sehr nützlich, wenn z.B. Koordinatenverschiebungen nur für bestimmte Objekte gelten sollen. Sobald Sie die Koordinatenverschiebungen durchgeführt und die Objekte gezeichnet haben, können Sie mit der Funktion pdf_restore() die ursprüngliche Umgebung wieder herstellen. Im unteren Beispiel wurde zuerst ein Text (1) in horizontaler Richtung geschrieben. Danach wurde die Funktion pdf_save() aufgerufen, um die letzten Einstellungen zu schützen. Anschließend wurden die Texte 2 und 3 mittels pdf_skew() im Koordinatensystem geschert. Um die ursprüngliche Umgebung wieder herzustellen, wurde die Funktion pdf_restore() benutzt. Abschließend wurde noch einmal ein Text (4) in horizontaler Richtung geschrieben.

Siehe auch:

. pdf_restore()
. pdf_skew()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 24, 'winansi');

pdf_setgray_fill($dokument, 0.7);

pdf_show_xy($dokument, '1.Ein kurzer Text', 0, 30);

pdf_save($dokument);

pdf_skew($dokument, 20, 10);

pdf_setgray_fill($dokument, 0);

pdf_show_xy($dokument, '2.Ein kurzer Text', 0, 30);

pdf_set_font($dokument, 'Times-Roman', 18, 'winansi');

pdf_setgray_fill($dokument, 0.5);

pdf_continue_text($dokument, '3.Ein kurzer Text');

pdf_restore($dokument);

pdf_show_xy($dokument, '4.Ein kurzer Text', 30, 5);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_rotate

Weiter: pdf_scale


Funktionsreferenz / PDF-Funktionen / pdf_scale

Letztes Update der Funktion pdf_scale: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_scale

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_scale ( int PDF-Dokument, double x-Skalierung, double y-Skalierung )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_scale() setzt man innerhalb eines PDF-Dokuments (PDF-Dokument) einen Skalierungsfaktor, welcher sich auf alle nachfolgenden Funktionen auswirkt. Dabei wird mittels der Werte x-Skalierung und y-Skalierung festgelegt, um welchen Faktor die X- und Y-Koordinatenpunkte skaliert werden sollen. Durch die Skalierung wird nicht nur das gezeichnete Objekt vergrößert bzw. verkleinert, sondern auch um den Skalierungsfaktor verschoben. Es ist darauf zu achten, dass der Skalierungsfaktor nicht 0 sein darf, da es sonst zu einer Fehlermeldung kommen wird.

Folgende Skalierungswerte sind zulässig:

. 0.1 ' 0.9 - Verkleinerung des Objekts
. 1 - Normale Ansicht des Objekts
. 1.1 ' ~ - Vergrößerung des Objekts

Im unten stehenden Beispiel wurden zwei Linien exakt auf die gleichen Koordinaten und mit der gleichen Länge gezeichnet. Bei einer Linie wurden allerdings horizontale und vertikale Skalierungsfaktoren von jeweils 4.5 angegeben. Diese Linie ist daher um das 4,5fache vergrößert und um das 4,5fache verschoben.

Siehe auch:

. pdf_lineto()
. pdf_moveto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_moveto($dokument, 0, 15);

pdf_lineto($dokument, 40, 15);

pdf_stroke($dokument);

pdf_scale($dokument, 4.5, 4.5);

pdf_moveto($dokument, 0, 15);

pdf_lineto($dokument, 40, 15);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_save

Weiter: pdf_setdash


Funktionsreferenz / PDF-Funktionen / pdf_setdash

Letztes Update der Funktion pdf_setdash: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setdash

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setdash ( int PDF-Dokument, double WeiÃY, double Schwarz )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setdash() wird innerhalb eines PDF-Dokuments (PDF-Dokument) das Muster für gestrichelte Linien festgelegt. Dabei wird die Länge der schwarzen (Schwarz) und weißen (Weiß) Striche angegeben.

Siehe auch:

. pdf_moveto()
. pdf_lineto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth($dokument, 3);

pdf_setdash($dokument, 10, 10);

pdf_moveto($dokument, 0, 80);

pdf_lineto($dokument, 120, 80);

pdf_stroke($dokument);

pdf_setdash($dokument, 0, 0);

pdf_moveto($dokument, 0, 50);

pdf_lineto($dokument, 120, 50);

pdf_stroke($dokument);

pdf_setdash($dokument, 10, 20);

pdf_moveto($dokument, 0, 20);

pdf_lineto($dokument, 120, 20);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_scale

Weiter: pdf_setflat


Funktionsreferenz / PDF-Funktionen / pdf_setflat

Letztes Update der Funktion pdf_setflat: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setflat

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung |

nach unten nach oben Befehl

void pdf_setflat ( int PDF-Dokument, double Wert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setflat() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) die Annährungsgenauigkeit (Wert) von einem Objekt an den Pfad fest. Der Wert kann dabei von 0 bis 100 reichen. Als Standardwert für diese Funktion ist 0 (Null) eingestellt.

Zurück: pdf_setdash

Weiter: pdf_setgray


Funktionsreferenz / PDF-Funktionen / pdf_setgray

Letztes Update der Funktion pdf_setgray: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setgray

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setgray ( int PDF-Dokument, double Grauwert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setgray() bestimmt man innerhalb eines PDF-Dokuments (PDF-Dokument) den aktuellen Grauwert (Grauwert), mit dem eine Linie gezeichnet oder ein Pfad gefüllt werden soll. Dabei können Sie einen Wert zwischen 0 bis 1 eingeben, wobei 0 gleich Schwarz und 1 gleich Weiß ist. In der folgenden Tabelle sehen Sie die möglichen Farbwerte. Rechts neben den Linien finden Sie die passenden RGB-Werte zu den Farben.

Siehe auch:

. pdf_setrgbcolor_stroke()
. pdf_setrgbcolor_fill()

Bei dem unteren Beispiel wurde zuerst ein Dreieck gezeichnet und nur der Pfad mit einem Grauwert belegt. Bei dem inneren Dreieck wurde zusätzlich eine Füllung vorgenommen.

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 2);

pdf_setgray($dokument, 0.8);

pdf_moveto($dokument, 50, 10);

pdf_lineto($dokument, 150, 10);

pdf_lineto($dokument, 100, 90);

pdf_closepath($dokument);

pdf_stroke($dokument);

pdf_moveto($dokument, 60, 15);

pdf_lineto($dokument, 140, 15);

pdf_lineto($dokument, 100, 80);

pdf_closepath($dokument);

pdf_fill_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setflat

Weiter: pdf_setgray_fill


Funktionsreferenz / PDF-Funktionen / pdf_setgray_fill

Letztes Update der Funktion pdf_setgray_fill: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setgray_fill

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setgray_fill ( int PDF-Dokument, double Grauwert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setgray_fill() bestimmt man innerhalb eines PDF-Dokuments (PDF-Dokument) den aktuellen Grauwert (Grauwert), mit dem ein Pfad gefüllt werden soll. Dabei können Sie einen Wert zwischen 0 bis 1 eingeben, wobei 0 gleich Schwarz und 1 gleich Weiß ist. In der folgenden Tabelle sehen Sie die möglichen Farbwerte. Rechts neben den Linien finden Sie die passenden RGB-Werte zu den Farben.

Siehe auch:

. pdf_setrgbcolor()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 3);

pdf_arc($dokument, 50, 50, 48, 35, 325);

pdf_lineto($dokument, 50, 50);

pdf_closepath($dokument);

pdf_setgray_fill($dokument, 0.9);

pdf_fill($dokument);

pdf_stroke($dokument);

pdf_circle($dokument, 65, 80, 5);

pdf_setgray_fill($dokument, 1);

pdf_fill($dokument);

pdf_stroke($dokument);

pdf_arc($dokument, 162, 50, 28, 0, 180);

pdf_lineto($dokument, 132, 2);

pdf_lineto($dokument, 142, 10);

pdf_lineto($dokument, 152, 2);

pdf_lineto($dokument, 162, 10);

pdf_lineto($dokument, 172, 2);

pdf_lineto($dokument, 182, 10);

pdf_lineto($dokument, 192, 2);

pdf_setgray_fill($dokument, 0.7);

pdf_fill($dokument);

pdf_stroke($dokument);

pdf_circle($dokument, 152, 55, 5);

pdf_circle($dokument, 172, 55, 5);

pdf_setgray_fill($dokument, 1);

pdf_fill($dokument);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setgray

Weiter: pdf_setgray_stroke


Funktionsreferenz / PDF-Funktionen / pdf_setgray_stroke

Letztes Update der Funktion pdf_setgray_stroke: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setgray_stroke

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setgray_stroke ( int PDF-Dokument, double Grauwert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setgray_stroke() bestimmt man innerhalb eines PDF-Dokuments (PDF-Dokument) den aktuellen Grauwert (Grauwert), mit dem eine Linie gezeichnet werden soll. Dabei können Sie einen Wert zwischen 0 bis 1 eingeben, wobei 0 gleich Schwarz und 1 gleich Weiß ist. In der folgenden Tabelle sehen Sie die möglichen Farbwerte. Rechts neben den Linien finden Sie die passenden RGB-Werte zu den Farben.

Siehe auch:

. pdf_setrgbcolor_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth ($dokument, 10);

pdf_setgray_stroke($dokument, 0.4)
;
pdf_circle($dokument, 100, 50, 30);

pdf_closepath($dokument);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setgray_fill

Weiter: pdf_setlinecap


Funktionsreferenz / PDF-Funktionen / pdf_setlinecap

Letztes Update der Funktion pdf_setlinecap: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setlinecap

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setlinecap ( int PDF-Dokument, int Typ )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setlinecap() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) den Typ (Typ) der Linienenden fest.

Folgende Werte sind möglich:

. 0 - keine Veränderung
. 1 - runde Abschlüsse
. 2 - ausgefüllte Abschlüsse

Bei dem unteren Beispiel ergab die Ausgabe der ersten Linie (0) exakt die Länge von 130 . Die zweite Linie (2) wurde abgerundet und hatte danach die Länge von 138 . Die dritte Linie (3) hat "normale" ausgefüllte Abschlüsse mit einer Länge von 138.

Siehe auch:

. pdf_lineto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, '0', 5, 70);

pdf_show_xy($dokument, '1', 5, 45);

pdf_show_xy($dokument, '2', 5, 20);

pdf_setlinewidth ($dokument, 8);

pdf_setlinecap($dokument, 0);

pdf_moveto($dokument, 20, 75);

pdf_lineto($dokument, 150, 75);

pdf_stroke($dokument);

pdf_setlinecap($dokument, 1);

pdf_moveto($dokument, 20, 50);

pdf_lineto($dokument, 150, 50);

pdf_stroke($dokument);

pdf_setlinecap($dokument, 2);

pdf_moveto($dokument, 20, 25);

pdf_lineto($dokument, 150, 25);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setgray_stroke

Weiter: pdf_setlinejoin


Funktionsreferenz / PDF-Funktionen / pdf_setlinejoin

Letztes Update der Funktion pdf_setlinejoin: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setlinejoin

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setlinejoin ( int PDF-Dokument, long Wert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setlinejoin() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) die Verbindungsart (Wert) von Linien fest.

Folgende Werte sind möglich:

. 0 - spitze Ecken
. 1 - runde Ecken
. 2 - abgeschrägte Ecken

Siehe auch:

pdf_rect()
pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, '0', 28, 47);

pdf_show_xy($dokument, '1', 98, 47);

pdf_show_xy($dokument, '2', 168, 47);

pdf_setlinewidth ($dokument, 8);

pdf_setlinejoin($dokument, 0);

pdf_rect($dokument, 10, 30, 40, 40);

pdf_stroke($dokument);

pdf_setlinejoin($dokument, 1);

pdf_rect($dokument, 80, 30, 40, 40);

pdf_stroke($dokument);

pdf_setlinejoin($dokument, 2);

pdf_rect($dokument, 150, 30, 40, 40);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setlinecap

Weiter: pdf_setlinewidth


Funktionsreferenz / PDF-Funktionen / pdf_setlinewidth

Letztes Update der Funktion pdf_setlinewidth: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setlinewidth

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setlinewidth ( int PDF-Dokument, double Breite )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setlinewidth() kann man für ein PDF-Dokument (PDF-Dokument) die Breite (Breite) einer Linie bestimmen. Falls man versucht, den Wert 0 als Linienbreite zu setzen, so kommt es nicht zu einer Fehlermeldung, aber es wird dann automatisch der letzte gültige Wert für pdf_setlinewidth() genommen.

Siehe auch:

. pdf_moveto()
. pdf_lineto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_moveto($dokument, 0, 90);

pdf_lineto($dokument, 120, 90);

pdf_stroke($dokument);

pdf_setlinewidth($dokument, 10);

pdf_moveto($dokument, 0, 60);

pdf_lineto($dokument, 120, 60);

pdf_stroke($dokument);

pdf_setlinewidth($dokument, 20);

pdf_moveto($dokument, 0, 30);

pdf_lineto($dokument, 120, 30);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setlinejoin

Weiter: pdf_setmiterlimit


Funktionsreferenz / PDF-Funktionen / pdf_setmiterlimit

Letztes Update der Funktion pdf_setmiterlimit: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setmiterlimit

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setmiterlimit ( int PDF-Dokument, double Wert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setmiterlimit() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) den Typ (Wert) der Gehrungsecken fest. Dabei ist ein Wert anzugeben, welcher größer oder gleich 1 ist.

Siehe auch:

. pdf_moveto()
. pdf_lineto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');
$dokument = pdf_open($file);
pdf_begin_page($dokument, 200, 100);
pdf_setlinewidth ($dokument, 30);
pdf_setmiterlimit($dokument, 1);
pdf_moveto($dokument, 10, 25);
pdf_lineto($dokument, 100, 25);
pdf_lineto($dokument, 100, 75);
pdf_lineto($dokument, 190, 75);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setlinewidth

Weiter: pdf_setrgbcolor


Funktionsreferenz / PDF-Funktionen / pdf_setrgbcolor

Letztes Update der Funktion pdf_setrgbcolor: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setrgbcolor

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setrgbcolor ( int PDF-Dokument, double Rotwert, double GrÃ¼nwert, double Blauwert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setrgbcolor() bestimmt man innerhalb eines PDF-Dokuments (PDF-Dokument) die aktuelle Farbe, mit der eine Linie gezeichnet oder ein Pfad gefüllt werden soll. Dabei können Sie für jede Komponente (Rot, Grün, Blau) des RGB-Farbwerts einen Wert zwischen 0 und 1 angeben.

Siehe auch:

. pdf_setrgbcolor_stroke()
. pdf_setrgbcolor_fill()

Bei dem unteren Beispiel wurde zuerst ein Quadrat gezeichnet und nur der Pfad mit einer blauen Farbe belegt. Bei dem inneren Quadrat wurde zusätzlich eine Füllung vorgenommen.

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth($dokument, 2);

pdf_setrgbcolor($dokument, 0.0, 0.5, 1.0);

pdf_moveto($dokument, 50, 10);

pdf_lineto($dokument, 150, 10);

pdf_lineto($dokument, 150, 90);

pdf_lineto($dokument, 50, 90);

pdf_closepath($dokument);

pdf_stroke($dokument);

pdf_moveto($dokument, 60, 20);

pdf_lineto($dokument, 140, 20);

pdf_lineto($dokument, 140, 80);

pdf_lineto($dokument, 60, 80);

pdf_closepath($dokument);

pdf_fill_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setmiterlimit

Weiter: pdf_setrgbcolor_fill


Funktionsreferenz / PDF-Funktionen / pdf_setrgbcolor_fill

Letztes Update der Funktion pdf_setrgbcolor_fill: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setrgbcolor_fill

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setrgbcolor_fill ( int PDF-Dokument, double Rotwert, double GrÃ¼nwert, double Blauwert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setrgbcolor_fill() bestimmt man innerhalb eines PDF-Dokuments (PDF-Dokument) die aktuelle Farbe, mit der ein Pfad gefüllt werden soll. Dabei können Sie für jede Komponente (Rot, Grün, Blau) des RGB-Farbwerts einen Wert zwischen 0 und 1 angeben.

Siehe auch:

. pdf_setrgbcolor()

Bei dem unteren Beispiel wurde eine Sanduhr gezeichnet und der Pfad mit einer blauen Farbe belegt.

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_moveto($dokument, 50, 10);

pdf_lineto($dokument, 150, 10);

pdf_lineto($dokument, 50, 90);

pdf_lineto($dokument, 150, 90);

pdf_closepath($dokument);

pdf_setrgbcolor_fill($dokument, 0.0, 0.5, 1.0);

pdf_fill($dokument);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setrgbcolor

Weiter: pdf_setrgbcolor_stroke


Funktionsreferenz / PDF-Funktionen / pdf_setrgbcolor_stroke

Letztes Update der Funktion pdf_setrgbcolor_stroke: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_setrgbcolor_stroke

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_setrgbcolor_stroke ( int PDF-Dokument, double Rotwert, double GrÃ¼nwert, double Blauwert )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_setrgbcolor_stroke() bestimmt man innerhalb eines PDF-Dokuments (PDF-Dokument) die aktuelle Farbe, mit der eine Linie gezeichnet werden soll. Dabei können Sie für jede Komponente (Rot, Grün, Blau) des RGB-Farbwerts einen Wert zwischen 0 und 1 angeben.

Siehe auch:

. pdf_setrgbcolor()
Bei dem unteren Beispiel wurde ein Quadrat gezeichnet und der Pfad mit einer blauen Farbe belegt.

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setrgbcolor_stroke($dokument, 0.0, 0.5, 1.0);

pdf_setlinewidth ($dokument, 2);

pdf_moveto($dokument, 50, 10);

pdf_lineto($dokument, 150, 10);

pdf_lineto($dokument, 150, 90);

pdf_lineto($dokument, 50, 90);

pdf_closepath($dokument);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setrgbcolor_fill

Weiter: pdf_set_border_color


Funktionsreferenz / PDF-Funktionen / pdf_set_border_color

Letztes Update der Funktion pdf_set_border_color: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_border_color

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_border_color ( int PDF-Dokument, double Rot, double Grün, double Blau )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_border_color() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) die Farbe der Umrandung eines Hyperlinks oder einer Anmerkung fest. Als Werte für die Farbkomponenten (Rot, Grün, Blau) sind 0.0 bis 1.0 zulässig.

Siehe auch:

. pdf_set_border_style()
. pdf_set_border_dash()
. pdf_add_weblink()
. pdf_add_pdflink()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_border_color($dokument, 0, 0.5, 1);

pdf_set_border_style($dokument, solid, 1);

pdf_set_font($dokument, 'Times-Roman', 24, 'winansi');

pdf_show_xy($dokument, 'solid', 12, 15);

pdf_add_weblink($dokument, 10, 10, 170, 35, 'http://www.selfphp3.de');

pdf_set_border_style($dokument, dashed, 1);

pdf_show_xy($dokument, 'dashed', 12, 54);

pdf_add_weblink($dokument, 10, 50, 170, 75, 'http://www.selfphp3.de');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_setrgbcolor_stroke

Weiter: pdf_set_border_dash


Funktionsreferenz / PDF-Funktionen / pdf_set_border_dash

Letztes Update der Funktion pdf_set_border_dash: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_border_dash

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_border_dash ( int PDF-Dokument, double Schwarz, double WeiÃY )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_border_dash() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) das Muster der gestrichelte Linien um Hyperlinks und Anmerkungen fest. Dabei wird die Länge der schwarzen (Schwarz) und weißen (Weiß) Striche angegeben. Im unteren Beispiel wurde die gestrichelte Linie auf den Wert 20/40 (20 Schwarz und 40 Weiß) gesetzt.

Siehe auch:

. pdf_set_border_style()
. pdf_set_border_color()
. pdf_add_weblink()
. pdf_add_pdflink()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200,100);

pdf_set_border_dash($dokument, 20, 40);

pdf_set_font($dokument, 'Times-Roman', 24, 'winansi');

pdf_set_border_style($dokument, dashed, 1);

pdf_show_xy($dokument, 'dashed', 12, 54);

pdf_add_weblink($dokument, 10, 50, 170, 75, 'http://www.selfphp3.de');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_border_color

Weiter: pdf_set_border_style


Funktionsreferenz / PDF-Funktionen / pdf_set_border_style

Letztes Update der Funktion pdf_set_border_style: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_border_style

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_border_style ( int PDF-Dokument, string Stil, double Breite )

nach unten nach oben Version

(PHP 3 >= 3.0.12, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_border_style() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) die Art der Umrandung eines Hyperlinks oder einer Anmerkung fest. Dabei gibt man als Parameter den Stil (Stil) und die Breite (Breite) der Linie an, die den Hyperlink umrandet.

Mögliche Stile sind:

. solid - durchgezogene Linie
. dashed - gestrichelte Linie

Siehe auch:

. pdf_set_border_color()
. pdf_set_border_dash()
. pdf_add_weblink()
. pdf_add_pdflink()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_border_style($dokument, 'solid', 1);

pdf_set_font($dokument, 'Times-Roman', 24, 'winansi');

pdf_show_xy($dokument, 'solid', 12, 15);

pdf_add_weblink($dokument, 10, 10, 170, 35, 'http://www.selfphp3.de');

pdf_set_border_style($dokument, 'dashed' ,1);

pdf_show_xy($dokument, 'dashed', 12, 54);

pdf_add_weblink($dokument, 10, 50, 170, 75, 'http://www.selfphp3.de');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_border_dash

Weiter: pdf_set_char_spacing


Funktionsreferenz / PDF-Funktionen / pdf_set_char_spacing

Letztes Update der Funktion pdf_set_char_spacing: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_char_spacing

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_char_spacing ( int PDF-Dokument, double Abstand )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_char_spacing() kann man innerhalb eines PDF-Dokuments (PDF-Dokument) den Raum zwischen zwei Zeichen (Abstand) bestimmen. Im unteren Beispiel wurde dreimal der gleiche Text gezeichnet - einmal mit Abstand 0 (normal), einmal mit Abstand 4 und einmal mit einem Abstand von 8. Es ist zu berücksichtigen, dass diese Funktion seit der PHP-Version 4.0.2 als "deprecated" gilt und in späteren Versionen eventuell nicht mehr verfügbar sein wird. Sie sollten daher in Zukunft die Funktion pdf_set_value() nutzen und dort als zweiten Parameter "charspacing" einsetzen.

Siehe auch:

. pdf_set_word_spacing()
. pdf_set_leading()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Helvetica', 12, 'winansi');

pdf_set_char_spacing($dokument, 0);

pdf_show_xy($dokument, 'Ein kurzer Text', 5, 75);

pdf_set_char_spacing($dokument, 4);

pdf_show_xy($dokument, 'Ein kurzer Text', 5, 50);

pdf_set_char_spacing($dokument, 8);

pdf_show_xy($dokument, 'Ein kurzer Text', 5, 25);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_border_style

Weiter: pdf_set_duration


Funktionsreferenz / PDF-Funktionen / pdf_set_duration

Letztes Update der Funktion pdf_set_duration: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_duration

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_duration ( int PDF-Dokument, double Dauer )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_duration() setzt man innerhalb eines PDF-Dokuments (PDF-Dokument) fest, wie lange (Dauer) das Umblättern auf die nächste Seite dauern soll. Diesen Effekt kann man nicht in einem Bild darstellen. Sie können aber das Skript selber in Aktion sehen, wenn Sie das Beispiel in eine gültige PHP-Datei einbetten und den Vollbildmodus aktivieren (Acrobat).

Siehe auch:

. pdf_set_transition()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 250, 150);

$_1 = pdf_add_outline($dokument, 'PHP3/4', $_x,1);

pdf_add_outline($dokument, 'PHP3', $_1);

pdf_add_outline($dokument, 'PHP4', $_1);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'Text.......', 30, 130);

pdf_end_page($dokument);

pdf_set_duration($dokument, 13);

pdf_begin_page($dokument, 250, 150);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

$_2 = pdf_add_outline($dokument, 'Referenz');

pdf_show_xy($dokument, 'Nur Text..', 30, 130);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_char_spacing

Weiter: pdf_set_font


Funktionsreferenz / PDF-Funktionen / pdf_set_font

Letztes Update der Funktion pdf_set_font: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_font

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_font ( int PDF-Dokument, string Zeichensatzname, double GrÃ¶ÃYe, string Kodierung [, int einbetten] )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_font() kann man in einem PDF-Dokument (PDF-Dokument) für
künftige Textausgaben einen Zeichensatz (Zeichensatzname) und dessen Größe
(Größe) sowie Zeichsatzkodierung (Kodierung) festlegen. Es ist darauf zu achten,
dass zuvor die Seite mit pdf_begin_page() begonnen wurde, um eine gültige Seite
zu erhalten. Ab der PHP-Version 4 müssen die Kodierungen als Zeichenketten
angegeben werden.

Mögliche Kodierungsvarianten sind:

. builtin
. ebcdic
. host
. macexpert
. macroman
. winansi

Der optionale Parameter einbetten bewirkt (wenn er auf "1" gestellt wird), dass der Zeichensatz in das Dokument eingebettet wird. Das hat den Vorteil für Personen, die das Dokument lesen, dass der Zeichensatz nicht auf ihren Rechnern installiert sein muss.

Siehe auch:

. pdf_begin_page()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 30, 'winansi');

pdf_show_xy($dokument, 'PHP3/4', 40, 40);

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_duration

Weiter: pdf_set_horiz_scaling


Funktionsreferenz / PDF-Funktionen / pdf_set_horiz_scaling

Letztes Update der Funktion pdf_set_horiz_scaling: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_horiz_scaling

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_horiz_scaling ( int PDF-Dokument, double Skalierung )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_horiz_scaling() kann man den horizontalen Skalierungsfaktor (Skalierung in %) für Textausgaben in einem PDF-Dokument (PDF-Dokument) festlegen. Jede Schrift wird normalerweise mit einem Original-Skalierungsfaktor von 100% gezeichnet. Im unteren Beispiel wurde der Text jeweils mit 50%,100%,150% und 200% in das PDF-Dokument geschrieben. Durch die Skalierung erreicht man, dass die Schrift gestaucht oder gestreckt wird. Es ist zu berücksichtigen, dass diese Funktion seit der PHP-Version 4.0.2 als "deprecated" gilt und in späteren Versionen nicht mehr verfügbar sein wird. Sie sollten daher in Zukunft die Funktion pdf_set_value() nutzen und dort als zweiten Parameter "horizscaling" einsetzen.

Siehe auch:

. pdf_show_xy()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_set_horiz_scaling($dokument, 50);

pdf_show_xy($dokument, 'Ein kurzer Text', 10, 80);

pdf_set_horiz_scaling($dokument, 100);

pdf_show_xy($dokument, 'Ein kurzer Text', 10, 60);

pdf_set_horiz_scaling($dokument, 150);

pdf_show_xy($dokument, 'Ein kurzer Text', 10, 40);

pdf_set_horiz_scaling($dokument, 200);

pdf_show_xy($dokument, 'Ein kurzer Text', 10, 20);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_font

Weiter: pdf_set_info


Funktionsreferenz / PDF-Funktionen / pdf_set_info

Letztes Update der Funktion pdf_set_info: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_info

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_info ( int PDF Dokument, string Feldname, string Wert )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_info() erstellt man eine Dokumenteninformation für eine PDF-Datei (PDF-Dokument). Dabei wird jeweils ein Text (Wert) einem Feldwert (Feldname) zugewiesen.

Folgende Feldwerte sind möglich:

. Title
. Subject
. Author
. Keywords
. Creator
. Sowie ein Feld mit beliebigen Namen

Dieser Befehl ersetzt folgende Funktionen:

pdf_set_info_creator()
pdf_set_info_keywords()
pdf_set_info_subject()
pdf_set_info_title()

nach unten nach oben Beispiel

<?PHP
$dokument = pdf_open($datei);

pdf_set_info($dokument, 'Title', 'PHP ¾ - Die Befehlsreferenz');

pdf_set_info($dokument, 'Subject', 'PDF- Funktionen');

pdf_set_info($dokument, 'Author', 'Damir Enseleit');

pdf_set_info($dokument, 'Keywords', 'PDF, Funktionen, Dokument');

pdf_set_info($dokument, 'Creator', 'Damir Enseleit');

pdf_begin_page($dokument, 400, 400);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($datei);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_horiz_scaling

Weiter: pdf_set_leading


Funktionsreferenz / PDF-Funktionen / pdf_set_leading

Letztes Update der Funktion pdf_set_leading: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_leading

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_leading ( int PDF-Dokument, double Abstand )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_leading() kann man in einem PDF-Dokument (PDF-Dokument) den Abstand (Abstand) zwischen Textzeilen angeben, die mit pdf_continue_text() gezeichnet werden. Beachten Sie, dass pdf_set_leading() erst nach der Funktion pdf_set_font() aufgerufen wird, da sonst der Abstand nicht berücksichtigt wird. Es ist zu beachten, dass diese Funktion seit der PHP-Version 4.0.2 als "deprecated" gilt und in späteren Versionen nicht mehr verfügbar sein wird. Sie sollten daher in Zukunft die Funktion pdf_set_value() nutzen und dort als zweiten Parameter "leading" einsetzen.

Siehe auch:

. pdf_continue_text()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'PHP3/4 - Die Befehlsreferenz', 20, 70);

pdf_set_leading($dokument, 20);

pdf_continue_text($dokument, 'pdf_begin_page');

pdf_continue_text($dokument, 'pdf_set_text_pos');

pdf_continue_text($dokument, 'pdf_set_font');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_info

Weiter: pdf_set_parameter


Funktionsreferenz / PDF-Funktionen / pdf_set_parameter

Letztes Update der Funktion pdf_set_parameter: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_parameter

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_parameter ( int PDF-Dokument, string Name, string Wert )

nach unten nach oben Version

(PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_parameter() kann man eine für ein PDF-Dokument (PDF-Dokument) gültige Eigenschaft (Name) vom Typ string auf einen neuen Wert (Wert) setzen.

Für folgende Objekte können Sie Eigenschaften setzen:

. Allgemeine Einstellungen
. Grafik
. Hyperlink
. Text

Für Text gibt es folgende Eigenschaften:

. underline - Text wird unterstrichen
. overline - Text mit einem Überstrich
. strikeout - Text ist durchgestrichen

Siehe auch:

. pdf_get_value()
. pdf_set_value()
. pdf_get_parameter()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Helvetica', 14, 'winansi');

pdf_set_parameter($dokument, 'overline', 'true');

pdf_show_xy($dokument, 'Drüber', 5, 80);

pdf_set_parameter($dokument, 'overline', 'false');

pdf_set_parameter($dokument, 'strikeout', 'true');

pdf_show_xy($dokument, 'Durch', 5, 50);

pdf_set_parameter($dokument, 'strikeout', 'false');

pdf_set_parameter($dokument, 'underline', 'true');

pdf_show_xy($dokument, 'Drunter', 5, 20);

pdf_set_parameter($dokument, 'underline', 'false');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_leading

Weiter: pdf_set_text_pos


Funktionsreferenz / PDF-Funktionen / pdf_set_text_pos

Letztes Update der Funktion pdf_set_text_pos: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_text_pos

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_text_pos ( int PDF-Dokument, double x-Koor, double y-Koor )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_text_pos() legt man die X-Y-Koordinaten (x-Koor, y-Koor) innerhalb eines PDF-Dokuments (PDF-Dokument) fest, an denen die nächste Textausgabe erscheinen wird.

Siehe auch:

. pdf_show()
. pdf_show_xy()
. pdf_set_font()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_set_text_pos($dokument, 20, 50);

pdf_show($dokument, 'PHP3/4 - Die Befehlsreferenz');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_parameter

Weiter: pdf_set_text_rendering


Funktionsreferenz / PDF-Funktionen / pdf_set_text_rendering

Letztes Update der Funktion pdf_set_text_rendering: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_text_rendering

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_text_rendering ( int PDF-Dokument, int Modus )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_text_rendering() legt man innerhalb eines PDF-Dokuments (PDF-Dokument) die Art der Textausgabe (Modus) fest.

Folgende Werte sind für den Parameter Modus zulässig:

. 0 - Gefüllt
. 1 - Umrandung
. 2 - Gefüllt und Umrandung
. 3 - Unsichtbar
. 4 - Gefüllt und Hinzunahme zum Begrenzungspfad
. 5 - Umrandung und Hinzunahme zum Begrenzungspfad
. 6 - Gefüllt und Umrandung - Hinzunahme zum Begrenzungspfad
. 7 - Hinzunahme zum Begrenzungspfad

Es ist zu berücksichtigen, dass diese Funktion seit der PHP-Version 4.0.2 als "deprecated" gilt und in späteren Versionen nicht mehr verfügbar sein wird. Sie sollten daher in Zukunft die Funktion pdf_set_value() nutzen und dort als zweiten Parameter "textrendering" einsetzen.

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 120, 'winansi');

pdf_set_text_rendering($dokument, 1);

pdf_show_xy($dokument, 'P', 55, 10);

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_text_pos

Weiter: pdf_set_text_rise


Funktionsreferenz / PDF-Funktionen / pdf_set_text_rise

Letztes Update der Funktion pdf_set_text_rise: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_text_rise

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_text_rise ( int PDF-Dokument, double Verschiebung )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_text_rise() kann man bei einem Text, welcher z.B. mit pdf_show_xy() erstellt wurde, den vertikalen Verschiebungsfaktor (Verschiebung) bestimmen. Im unteren Beispiel wurde der Text zehnmal auf der gleichen Stelle positioniert und dann jeweils um die Werte 8, 16, 24, 32, 40, 48, 56, 64, 72 und 80 nach oben veschoben. Es ist zu berücksichtigen, dass diese Funktion seit der PHP-Version 4.0.2 als "deprecated" gilt und in späteren Versionen nicht mehr verfügbar sein wird. Sie sollten daher in Zukunft die Funktion pdf_set_value() nutzen und dort als zweiten Parameter "textrise" einsetzen.

Siehe auch:

. pdf_show_xy()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument,200, 100);

pdf_set_font($dokument, 'Times-Roman', 16, 'winansi');

for($x = 1; $x <= 10; $x++){
  $v_wert += 8; //8,16,24,32,40,48,56,64,72,80

  pdf_show_xy($dokument, 'PHP3/4 - Die Befehlsreferenz', 5, 10);

  pdf_set_text_rise($dokument, $v_wert);
}

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_text_rendering

Weiter: pdf_set_transition


Funktionsreferenz / PDF-Funktionen / pdf_set_transition

Letztes Update der Funktion pdf_set_transition: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_transition

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_transition (int PDF-Dokument, int Transition)

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4 >= 4.0b1)

nach unten nach oben Beschreibung

Mit pdf_set_transition() setzt man innerhalb eines PDF-Dokuments (PDF-Dokument) die Art des Übergangs (Transition) zur nächsten Seite. Durch die Transition kann man bestimmen, wie die nächste Seite aufgebaut werden soll - vergleichbar mit einer Power-Point-Präsentation.

Mögliche Werte für Transition:

. 0 - keine Transition
. 1 - neue Seite wird durch zwei über den Bildschirm kriechende Linien erzeugt
. 2 - neue Seite wird durch mehrere über den Bildschirm kriechende Linien erzeugt.
. 3 - neue Seite wird durch einen Kasten erstellt
. 4 - neue Seite wird durch eine über den Bildschirm kriechende Linie erzeugt
. 5 - neue Seite wird durch einen Auflösungseffekt erstellt.
. 6 - neue Seite wird durch einen Auflösungseffekt erstellt, welcher sich über die Seite bewegt.
. 7 - die alte Seite wird durch die neue Seite einfach ersetzt (voreingestellt)

Diesen Effekt kann man nur schwer in einem Bild darstellen. Sie können aber das Skript selber in Aktion sehen, wenn Sie das Beispiel in eine gültige PHP-Datei einbetten.

Siehe auch:

. pdf_set_duration()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 250, 150);

$_1 = pdf_add_outline($dokument, 'PHP3/4', $_x,1);

pdf_add_outline($dokument, 'PHP3', $_1);

pdf_add_outline($dokument, 'PHP4', $_1);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'Text.......', 30, 130);

pdf_end_page($dokument);

pdf_set_transition($dokument, 3);

pdf_begin_page($dokument, 250, 150);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

$_2 = pdf_add_outline($dokument, 'Referenz');

pdf_show_xy($dokument, 'Nur Text..', 30, 130);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_text_rise

Weiter: pdf_set_value


Funktionsreferenz / PDF-Funktionen / pdf_set_value

Letztes Update der Funktion pdf_set_value: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_value

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_value ( int PDF-Dokument, string Name, double Wert )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_value() kann man eine für ein PDF-Dokument (PDF-Dokument) gültige Eigenschaft (Name) vom Typ double auf einen neuen Wert (Wert) setzen.

Für folgende Objekte können Sie Eigenschaften setzen:

. Seiten
. Text

Für Seiten gibt es folgende Eigenschaften:

. pagewidth - Seitenbreite
. pageheight - Seitenhöhe

Für Text gibt es folgende Eigenschaften:

. charspacing - Abstand zwischen den Zeichen
. duration - Anzeigeverzögerung zur nächsten Seite
. horizscaling - Horizontale Ausrichtung
. leading - Zeilenabstand
. textrendering - Wie der Text gerendert werden soll
. textrise - Anhebung des Textes aus der ursprünglichen Lage
. wordspacing - Abstand zwischen den Wörtern

Siehe auch:

pdf_get_value()
pdf_set_parameter()
pdf_get_parameter()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_value($dokument, pagewidth, 250);

pdf_set_value($dokument, pageheight, 150);

pdf_set_value($dokument, charspacing, 15);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'Zeile 1', 10, 130);

pdf_set_value($dokument, leading, 30);

pdf_continue_text($dokument, 'Zeile 2');

pdf_set_value($dokument, wordspacing, 50);

pdf_set_value($dokument, textrise, 10);

pdf_continue_text($dokument, 'Zeile 2');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_transition

Weiter: pdf_set_word_spacing


Funktionsreferenz / PDF-Funktionen / pdf_set_word_spacing

Letztes Update der Funktion pdf_set_word_spacing: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_set_word_spacing

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_set_word_spacing ( int PDF-Dokument, double space )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_set_word_spacing() kann man innerhalb eines PDF-Dokuments (PDF-Dokument) den Raum (Abstand) zwischen zwei Wörtern festlegen. Im unteren Beispiel wurde dreimal der gleiche Text ausgegeben - einmal mit Abstand 0 (normal), einmal mit 10 und einmal mit einem Abstand von 20. Es ist zu berücksichtigen, dass diese Funktion seit der PHP-Version 4.0.2 als "deprecated" gilt und in späteren Versionen nicht mehr verfügbar sein wird. Sie sollten daher in Zukunft die Funktion pdf_set_value() nutzen und dort als zweiten Parameter "wordspacing" einsetzen.

Siehe auch:

. pdf_set_char_spacing()
. pdf_set_leading()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Helvetica', 14, 'winansi');

pdf_set_word_spacing($dokument, 0);

pdf_show_xy($dokument, 'Ein kurzer Text', 5, 75);

pdf_set_word_spacing($dokument, 10);

pdf_show_xy($dokument, 'Ein kurzer Text', 5, 50);

pdf_set_word_spacing($dokument, 20);

pdf_show_xy($dokument, 'Ein kurzer Text', 5, 25);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_value

Weiter: pdf_show


Funktionsreferenz / PDF-Funktionen / pdf_show

Letztes Update der Funktion pdf_show: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_show

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_show ( int PDF-Dokument, string Text )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_show() kann man einen Text (Text) auf die aktuelle Seite eines PDF-Dokuments (PDF-Dokument) schreiben. Vorher müssen Sie mit der Funktion pdf_set_font() den Schrifttyp und mit der Funktion pdf_set_text_pos() die genaue Position des neuen Textes festlegen.

Siehe auch:

. pdf_show_xy()
. pdf_show_boxed()
. pdf_set_text_pos()
. pdf_set_font()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_set_text_pos($dokument, 20, 50);

pdf_show($dokument, 'PHP3/4 - Die Befehlsreferenz');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_set_word_spacing

Weiter: pdf_show_boxed


Funktionsreferenz / PDF-Funktionen / pdf_show_boxed

Letztes Update der Funktion pdf_show_boxed: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_show_boxed

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_show_boxed ( int PDF-Dokument, string text, double x-Koor, double y-Koor, double Breite, double HÃ¶he, string Modus [, string Feature] )

nach unten nach oben Version

(PHP 4, PECL)

void pdf_show_boxed (int PDF-Dokument, string text, double x-Koor, double y-Koor, double Breite, double Höhe, string Modus [, string Feature])
(PHP 4 >= 4.0RC1)
nach unten nach oben Beschreibung

Mit pdf_show_boxed() schreibt man einen Text (text) in die aktuelle Seite eines PDF-Dokuments (PDF-Dokument). Der Text wird in einem (unsichtbaren) Rahmen platziert und bei Bedarf umbrochen. Dabei wird der Rahmen durch die Koordinaten der linken unteren Ecke (xKoor, yKoor), die Breite (Breite) und die Höhe (Höhe) definiert.

Die Textausrichtung (Modus) kann folgende Werte annehmen:

Höhe und Breite des Rahmens ist Null:

. left
. center
. right

Höhe und Breite des Rahmens ist ungleich Null:

. justify
. fulljustify

Wird der optionale Parameter Feature auf "blind" gesetzt, so wird der Text nicht ausgegeben! Sollte der auszugebende Text nicht in den Rahmen passen, erhält man als Rückgabewert der Funktion die Anzahl der Zeichen, welche abgeschnitten wurden.

Beispiel:

$menge = pdf_show_boxed($dokument, 'PHP3/4 - Die Befehlsreferenz PHP3/4 - Die Befehlsreferenz ', 20, 20, 100, 50, 'center');
echo $menge;

"$menge" würde in diesem Fall 44 sein

Siehe auch:

. pdf_show()
. pdf_show_xy()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_boxed($dokument, 'PHP3/4 - Die Befehlsreferenz', 20, 20, 100, 50, 'center');

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_show

Weiter: pdf_show_xy


Funktionsreferenz / PDF-Funktionen / pdf_show_xy

Letztes Update der Funktion pdf_show_xy: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_show_xy

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_show_xy ( int PDF-Dokument, string Text, double x-Koor, double y-Koor )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_show_xy() kann man einen Text (Text) an den Koordinaten (xKoor, yKoor) auf die aktuelle Seite eines PDF-Dokuments (PDF-Dokument) schreiben. Vorher müssen Sie mit der Funktion pdf_set_font() den Schrifttyp des neuen Textes festlegen.

Siehe auch:

. pdf_show()
. pdf_show_boxed()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_show_xy($dokument, 'PHP3/4 - Die Befehlsreferenz', 30, 20);

pdf_end_page($dokument);

$dokument = pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_show_boxed

Weiter: pdf_skew


Funktionsreferenz / PDF-Funktionen / pdf_skew

Letztes Update der Funktion pdf_skew: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_skew

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_skew ( int PDF-Dokument, double alpha, double beta )

nach unten nach oben Version

(PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_skew() schert man das Koordinatensystem für alle folgenden PDF-Funktionen in alpha(x)- und beta(y)-Richtung. Dabei sind die Werte für alpha(x) (alpha) und beta(y) (beta) in Grad anzugeben. Wenn Sie Scherwerte größer 0 einstellen, wird sich bei der Textausgabe mit pdf_show_xy() auch der Ursprung des Textes in X- und Y-Richtung verschieben. Beim unteren Beispiel wurde das Koordinatensystem um 20° in X- und 10° in Y-Richtung geschert. Dabei hat sich der Text um den Wert 6 (sechs) zusätzlich auf der horizontalen X-Achse verschoben.

Ausschnitt - 500% vergrößert

Folgende Parameter sind unzulässig (pdflib error):

. alpha(x) - 90° und 270°
. beta(y) - 90° und 270°

Folgende Parameter ergaben PDF-Fehler (pdf error):

. pdf_skew($dokument,45,45);
. pdf_skew($dokument,135,135);
. pdf_skew($dokument,225,225);

Als Fehlermeldung im Acrobat-Reader wurde Folgendes ausgegeben: "Die Schrift Times Roman konnte nicht gefunden oder erstellt werden.".

Siehe auch:

. pdf_setgray_fill()
. pdf_show_xy()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 24, 'winansi');

pdf_setgray_fill($dokument, 0.8);

pdf_show_xy($dokument, 'Ein kurzer Text', 0, 30);

pdf_skew($dokument, 20, 10);

pdf_setgray_fill($dokument, 0);

pdf_show_xy($dokument, 'Ein kurzer Text', 0, 30);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_show_xy

Weiter: pdf_stringwidth


Funktionsreferenz / PDF-Funktionen / pdf_stringwidth

Letztes Update der Funktion pdf_stringwidth: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_stringwidth

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

double pdf_stringwidth ( int PDF-Dokument, string Text )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_stringwidth() kann man sich die Breite eines Textes (Text) berechnen lassen. Dabei ist darauf zu achten, dass vorher die Funktion pdf_set_font() aufgerufen wird, welche die Schriftgröße und Schriftart bestimmt. Zwischen den Funktionen pdf_stringwidth() und pdf_set_font() darf nicht zusätzlich noch einmal die Funktion pdf_set_font() aufgerufen werden, da pdf_stringwidth() sich auf den letzten Aufruf der Funktion pdf_set_font() bezieht.

Siehe auch:

. pdf_set_font()

nach unten nach oben Beispiel

<?PHP
$text = 'PDF-Funktionen';

$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 22, 'winansi');

pdf_show_xy($dokument, $text ,10, 80);

$width = pdf_stringwidth ($dokument, $text);

pdf_set_font($dokument, 'Times-Roman', 14, 'winansi');

pdf_set_leading($dokument, 30);

pdf_continue_text($dokument, 'Textbreite von $text:');

pdf_set_leading($dokument, 15);

pdf_continue_text($dokument, $width);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen. Sie können sich aber die Textbreite am Browser mit "echo $width;" ausgeben lassen.

Zurück: pdf_skew

Weiter: pdf_stroke


Funktionsreferenz / PDF-Funktionen / pdf_stroke

Letztes Update der Funktion pdf_stroke: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_stroke

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_stroke ( int PDF-Dokument )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_stroke() zeichnet man in einem PDF-Dokument (PDF-Dokument) eine Linie entlang des aktuellen Pfades. Viele Funktionen, welche eine Linie zeichnen, erstellen einen Pfad. Um nachher die Linie auch sehen zu können, muss der Pfad mit der aktuellen Füllfarbe gezeichnet und damit ausgegeben werden. Ohne den Aufruf der Funktion pdf_stroke() wird keine Linie erstellt. Im unteren Beispiel wurde ein horizontaler Pfad gezeichnet.

Siehe auch:

. pdf_closepath()
. pdf_closepath_stroke()
. pdf_rect()
. pdf_lineto()
. pdf_circle()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_setlinewidth($dokument, 3);

pdf_moveto($dokument, 10, 50);

pdf_lineto($dokument, 190, 50);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_stringwidth

Weiter: pdf_translate


Funktionsreferenz / PDF-Funktionen / pdf_translate

Letztes Update der Funktion pdf_translate: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

pdf_translate

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void pdf_translate ( int PDF-Dokument, double x-Koor, double y-Koor )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PECL)

nach unten nach oben Beschreibung

Mit pdf_translate() verschiebt man innerhalb eines PDF-Dokuments (PDF-Dokument) den Ursprung des aktuellen Koordinatensystems auf einen neuen Punkt (x-Koor und y-Koor). Alle folgenden Funktionen beziehen sich dann auf den neuen Koordinatenursprung. Im unten stehenden Beispiel wurde eine Linie vom Punkt 0/0 bis zum Punkt 200/100 gezeichnet. Danach wurde mit der Funktion pdf_translate() der Koordinatenursprung auf den Punkt 100/50 gesetzt (durch einen Punkt gekennzeichnet). Abschließend wurde von dem Punkt 0/0 (Bildmitte - neuer Koordinatenursprung) bis zum Punkt 100/100 eine zusätzliche Linie gezeichnet

Siehe auch:

. pdf_moveto()
. pdf_lineto()
. pdf_stroke()

nach unten nach oben Beispiel

<?PHP
$file = fopen('php.pdf', 'w');

$dokument = pdf_open($file);

pdf_begin_page($dokument, 200, 100);

pdf_set_font($dokument, 'Times-Roman', 80, 'winansi');

pdf_show_xy($dokument, '.', 90, 47);

pdf_moveto($dokument, 0, 0);

pdf_lineto($dokument, 200, 100);

pdf_stroke($dokument);

pdf_translate($dokument, 100, 50);

pdf_moveto($dokument, 0, 0);

pdf_lineto($dokument, 100, 100);

pdf_stroke($dokument);

pdf_end_page($dokument);

pdf_close($dokument);

fclose($file);
?>

nach unten nach oben Ausgabe

Achtung: Bei der Ausgabe des Befehls wird im Browser nichts zurückgegeben. Die obenstehende Grafik wurde im Acrobat-Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.

Zurück: pdf_stroke

Weiter: PHP-Deklaration


Funktionsreferenz / PDF-Funktionen / vorkenntnisse_pdffunktionen

Letztes Update der Funktion vorkenntnisse_pdffunktionen: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

vorkenntnisse_pdffunktionen

Mit der PDF-Bibliothek von Thomas Merz können Sie innerhalb von PHP PDF-Dateien erstellen. Sie finden eine aktuelle Version im Internet unter www.pdflib.com. Dort finden Sie auch eine sehr gute Anleitung zum Einbinden dieser Bibliothek. Falls Sie ein Windows-System nutzen, müssen Sie nur in der php.ini die Erweiterung zum Erstellen von PDF-Dokumenten aktivieren (extension=php_pdf.dll ).

Bei den Längen- und Koordinatenangaben werden PostScript-Punkte genutzt. Dabei entsprechen 72 PostScript-Punkte gewöhnlich 1 Inch, was aber bei verschiedenen Auflösungen variieren kann.
Ursprung des Koordinatensystems ist die linke untere Ecke.

Zurück: MySQL-Funktionen

Weiter: PHP-Deklaration


Funktionsreferenz / PHP-Deklaration / Übersicht PHP-Deklaration

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP-Deklaration

Auf den folgenden Seiten werden die PHP-Deklaration von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter folgenden Abschnitten:
"Integration von PHP": Praxisbuch öffnen
"Einführung in PHP": Praxisbuch öffnen

Die hier gelisteten PHP-Deklaration bestehen aus folgenden Seiten:

kommentare
syntax


Funktionsreferenz / PHP-Deklaration / kommentare

Letztes Update der Funktion kommentare: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

kommentare

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Beispiel 3 Beispiel 3 |

nach unten nach oben Befehl

nach unten nach oben Version

', '

nach unten nach oben Beschreibung

Gut programmierte Skripte sollten immer fundierte Kommentarzeilen beinhalten. So können sich auch in einem größeren Projekt andere Programmierer sehr schnell in die Programmlogik einarbeiten. Sie können Kommentare auf verschiedene Arten einbinden.

nach unten nach oben Beispiel 1

<?PHP
$x = 1; // Startvariable für Programmschleife
$y = 9; // Endvariable für Programmschleife
?>

nach unten nach oben Beispiel 2

<?PHP
$x = 0; # Startvariable für Programmschleife
$y = 5; # Endvariable für Programmschleife
?>

nach unten nach oben Beispiel 3

<?PHP
/*
  $x ist die Startvariable für die Programmschleife
  $y ist die Endvariable für die Programmschleife
*/
$x = 2;
$y = 6;
?>

Zurück: PDF-Funktionen

Weiter: syntax


Funktionsreferenz / PHP-Deklaration / syntax

Letztes Update der Funktion syntax: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

syntax

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu SGML-Syntax Beispiel SGML-Syntax Beispiel | Springe zu XML-Syntax Beispiel XML-Syntax Beispiel | Springe zu ASP-Syntax Beispiel ASP-Syntax Beispiel | Springe zu JavaScript-Stil Beispiel JavaScript-Stil Beispiel | Springe zu Tipp Tipp | Springe zu Trennung von HTML- und PHP-Code Trennung von HTML- und PHP-Code | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

nach unten nach oben Version

nach unten nach oben Beschreibung

Es gibt verschiedene Möglichkeiten, PHP in eine Seite einzubinden. Da aber PHP oftmals auf Unix- bzw. Linux-Systemen arbeitet ist es ratsam den XML-Syntax zu nehmen. Um auch den ASP-Syntax auf diesen Systemen nutzen zu können ist es erforderlich Zugriff auf die Datei php.ini zu haben.

nach unten nach oben SGML-Syntax Beispiel

<?
    // Hier den PHP-Code einfügen
?>

nach unten nach oben XML-Syntax Beispiel

<?PHP
    // Hier den PHP-Code einfügen
?>

oder

<?php
    // Hier den PHP-Code einfügen
?>

nach unten nach oben ASP-Syntax Beispiel

<%
    // Hier den PHP-Code einfügen
%>

nach unten nach oben JavaScript-Stil Beispiel

<script language="php" runat=online>
    // Hier den PHP-Code einfügen
</script>

nach unten nach oben Tipp

Sie können ihren HTML- und PHP-Code so untereinander vermischen. Um aber die Übersicht innerhalb ihres Programmcode nicht zu verlieren ist es ratsam, PHP- vom HTML-Code weitestgehend zu trennen. So könnte man Funktionen oder Berechnungen im Dateikopf abarbeiten und die benötigten Variablen an der Stelle platzieren wo sie gebraucht werden. Dies erleichtert nachher anderen Programmierern sich schnell in ihr Programm einzuarbeiten.

Hier ein kleines Beispiel:

nach unten nach oben Trennung von HTML- und PHP-Code

<?PHP
function mache_etwas($wie_oft){
    for($x = 0; $x < $wie_oft; $x++){
        echo 'Dies ist der ' . $x . '. Durchlauf. <br>';
    }
}
?>
<html>
    <head>
    </head>
    <body>
        Mein erstes Programm:
        <br>
        <?PHP
        mache_etwas(6);
        ?>
    </body>
</html>

nach unten nach oben Ausgabe

Dieses ist der 0. Durchlauf
.
.
Dieses ist der 5. Durchlauf

Zurück: kommentare

Weiter: PHP-Informationen


Funktionsreferenz / PHP-Informationen / extension_loaded

Letztes Update der Funktion extension_loaded: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

extension_loaded

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool extension_loaded ( string name )

nach unten nach oben Version

(PHP 3 >= 3.0.10, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit extension_loaded() kann man feststellen, ob eine Bibliothek (name) geladen ist. Wenn die angegebene Bibliothek geladen ist, wird true, sonst false zurückgegeben.

Siehe auch:

. phpinfo()

nach unten nach oben Beispiel

<?PHP
if(extension_loaded('mysql'))
  echo 'MySQL';
?>

nach unten nach oben Ausgabe

MySQL

Zurück: PHP-Deklaration

Weiter: getenv


Funktionsreferenz / PHP-Informationen / getenv

Letztes Update der Funktion getenv: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getenv

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string getenv ( string varname )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getenv() kann man sich den Wert der Umgebungsvariablen varname zurückgeben lassen.

Siehe auch:

. phpinfo()

nach unten nach oben Beispiel

<?PHP
$ip = getenv('REMOTE_ADDR');
echo $ip;
?>

nach unten nach oben Ausgabe

192.168.99.98

Zurück: extension_loaded

Weiter: getlastmod


Funktionsreferenz / PHP-Informationen / getlastmod

Letztes Update der Funktion getlastmod: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getlastmod

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int getlastmod ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getlastmod() kann man sich die Uhrzeit der letzten Änderung an der aktuellen Skriptdatei zurückgeben lassen. Der Wert wird als UNIX-Timestamp zurückgegeben und kann somit für eine Ausgabe mit date() genutzt werden.

Siehe auch:

. date()
. getmyuid()
. get_current_user()
. getmyinode . getmypid()

nach unten nach oben Beispiel

<?PHP
echo 'Letzte Änderung: ' . date('d.m.Y H:i:s', getlastmod());
?>

nach unten nach oben Ausgabe

Letzte Änderung: 03.06.2001 16:39:25

Zurück: getenv

Weiter: getmygid


Funktionsreferenz / PHP-Informationen / getmygid

Letztes Update der Funktion getmygid: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getmygid

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int getmygid ( void )

nach unten nach oben Version

(PHP 4 >= 4.1.0, PHP 5)

nach unten nach oben Beschreibung

Mit getmygid () kann man sich die GROUP-ID des aktuellen Skripts wiedergeben lassen. Im Fehlerfall liefert diese Funktion FALSE.

Siehe auch:

. getmyuid()
. getmypid()
. get_current_user()
. getmyinode()
. getlastmod()

nach unten nach oben Beispiel

<?PHP
echo getmygid();
?>

nach unten nach oben Ausgabe

0

Zurück: getlastmod

Weiter: getmyinode


Funktionsreferenz / PHP-Informationen / getmyinode

Letztes Update der Funktion getmyinode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getmyinode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int getmyinode ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getmyinode() kann man sich den Inode des aktuellen Skripts zurückgeben lassen.

Siehe auch:

. getmyuid()
. get_current_user()
. getmypid()
. getlastmod()

nach unten nach oben Beispiel

<?PHP
echo getmyinode();
?>

nach unten nach oben Ausgabe

116913

Zurück: getmygid

Weiter: getmypid


Funktionsreferenz / PHP-Informationen / getmypid

Letztes Update der Funktion getmypid: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getmypid

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int getmypid ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getmypid() kann man sich die ID des PHP-Prozesses zurückgeben lassen. Ist PHP als Modul kompiliert, so ist es nicht sicher, dass Skripts unter verschiedenen PID´s laufen können.

Siehe auch:

. getmyuid()
. get_current_user()
. getmyinode()
. getlastmod()

nach unten nach oben Beispiel

<?PHP
echo getmypid();
?>

nach unten nach oben Ausgabe

241

Zurück: getmyinode

Weiter: getmyuid


Funktionsreferenz / PHP-Informationen / getmyuid

Letztes Update der Funktion getmyuid: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getmyuid

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int getmyuid ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getmyuid() kann man sich die aktuelle UID des Besitzers eines PHP-Skripts zurückgeben lassen.

Siehe auch:

. getmypid()
. get_current_user()
. getmyinode()
. getlastmod()

nach unten nach oben Beispiel

<?PHP
echo getmyuid();
?>

nach unten nach oben Ausgabe

500

Zurück: getmypid

Weiter: getrusage


Funktionsreferenz / PHP-Informationen / getrusage

Letztes Update der Funktion getrusage: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getrusage

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array getrusage ( [int who] )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getrusage() kann man sich Informationen über den aktuellen Ressourcenverbrauch des Betriebssystems zurückgeben lassen. Als Rückgabewert erhält man ein assoziatives Array mit den momentanen Werten. Wenn Sie im optionalen Parameter who den Wert 1 übergeben, berücksichtigt die Funktion auch den Ressourcenverbrauch eventueller Kindprozesse. Wenn Sie in who den Wert 0 übergeben oder den Parameter leer lassen, ermittelt die Funktion nur den Ressourcenverbrauch des aktuellen Prozesses. Dieser Befehl wird auf Windows-Plattformen nicht unterstützt.

nach unten nach oben Beispiel

<?PHP
$array = getrusage();
while(list($key, $val) = each($array)){
  echo $key . ' - ' . $val;
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

ru_oublock - 0
ru_inblock - 0
ru_msgsnd - 0
ru_msgrcv - 0
ru_maxrss - 0
ru_ixrss - 0
ru_idrss - 0
ru_minflt - 50
ru_majflt - 69
ru_nsignals - 0
ru_nvcsw - 0
ru_nivcsw - 0
ru_utime.tv_usec - 60000
ru_utime.tv_sec - 0
ru_stime.tv_usec - 10000
ru_stime.tv_sec - 0

Zurück: getmyuid

Weiter: get_cfg_var


Funktionsreferenz / PHP-Informationen / get_cfg_var

Letztes Update der Funktion get_cfg_var: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_cfg_var

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string get_cfg_var ( string varname )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_cfg_var() kann man sich den Wert einer Variablen (varname) der PHP-Konfiguration zurückgeben lassen. Zum Beispiel kann man mittels "cfg_file_path" herausfinden, ob eine Konfigurationadatei verwendet wird und wo diese zu finden ist.

Siehe auch:

. phpinfo()

nach unten nach oben Beispiel

<?PHP
echo get_cfg_var('cfg_file_path');
echo '<br>';
echo get_cfg_var('gpc_order');
echo '<br>';
echo get_cfg_var('sendmail_from');
echo '<br>';
echo get_cfg_var('error_reporting');
?>

nach unten nach oben Ausgabe

/usr/local/lib/php.ini
GPC
me@localhost.com
2039

Zurück: getrusage

Weiter: get_current_user


Funktionsreferenz / PHP-Informationen / get_current_user

Letztes Update der Funktion get_current_user: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_current_user

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string get_current_user ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_current_user() kann man sich den Besitzer der aktuellen Datei zurückgeben lassen.

Siehe auch:

. getmyuid()
. getmypid()
. getmyinode()
. getlastmod()

nach unten nach oben Beispiel

<?PHP
echo get_current_user();
?>

nach unten nach oben Ausgabe

damir

Zurück: get_cfg_var

Weiter: get_defined_constants


Funktionsreferenz / PHP-Informationen / get_defined_constants

Letztes Update der Funktion get_defined_constants: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_defined_constants

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

array get_defined_constants ( [mixed categorize] )

nach unten nach oben Version

(PHP 4 >= 4.1.0, PHP 5)

nach unten nach oben Beschreibung

Mit get_defined_constants () kann man sich die Namen und Werte aller definierten Konstanten anzeigen lassen. Diese beeinhaltet auch alle Konstanten, die mit define() definiert wurden. Aus Darstellungsgründen wurden in den Beispielen nicht alle Konstanten aufgelistet. Bitte beachten Sie auch auf die in den Beispielen angelegte Konstante "MEINE_KONSTANTE". Ab PHP 5 ist es möglich dem optionalen Parameter mixed categorize einen Wert zu übergeben. Das zurückgegebene Array ist dann kategorisch eingeteilt (siehe Beispiel 2). Es spielt dabei keine Rolle welchen Wert man dem Parameter mixed categorize übergibt, ob "a", "b", "TRUE", "SELFPHP" oder "Damir", völlig egal. Ist mixed categorize leer, wird die Einteilung in Kategorien nicht vorgenommen (siehe Beispiel 1).

Siehe auch:

. get_loaded_extensions()
get_defined_functions()
get_defined_vars()

nach unten nach oben Beispiel 1

<?PHP
define ('MEINE_KONSTANTE', 'PHP5 Befehlsreferenz.');
print_r(get_defined_constants());
?>

nach unten nach oben Ausgabe 1

Array
(
  [E_ERROR] => 1
  [E_WARNING] => 2
  [E_PARSE] => 4
  [E_NOTICE] => 8
  [E_CORE_ERROR] => 16
  [E_CORE_WARNING] => 32
  [E_COMPILE_ERROR] => 64
  [E_COMPILE_WARNING] => 128
  [E_USER_ERROR] => 256
  [E_USER_WARNING] => 512
  [E_USER_NOTICE] => 1024
  [E_ALL] => 2047
  [TRUE] => 1
  [FALSE] =>
  [ZEND_THREAD_SAFE] => 1
  [NULL] =>
  [PHP_VERSION] => 4.3.2
  [PHP_OS] => WINNT
  [PHP_SAPI] => cgi-fcgi
  [MEINE_KONSTANTE] => PHP5 Befehlsreferenz.
)

nach unten nach oben Beispiel 2

<?PHP
define('MEINE_KONSTANTE', 'PHP5 Befehlsreferenz.');
print_r(get_defined_constants(TRUE));
?>

nach unten nach oben Ausgabe 2

Array
(
  [internal] => Array
    (
      [E_ERROR] => 1
      [E_WARNING] => 2
      [E_PARSE] => 4
      [E_NOTICE] => 8
      [E_STRICT] => 2048
      [E_CORE_ERROR] => 16
      [E_CORE_WARNING] => 32
      [E_COMPILE_ERROR] => 64
      [E_COMPILE_WARNING] => 128
      [E_USER_ERROR] => 256
      [E_USER_WARNING] => 512
      [E_USER_NOTICE] => 1024
      [E_ALL] => 2047
      [TRUE] => 1
      [FALSE] =>
      [ZEND_THREAD_SAFE] => 1
      [NULL] =>
      [PHP_VERSION] => 5.0.3
    )

  [ftp] => Array
    (
      [FTP_ASCII] => 0
      [FTP_TEXT] => 0
      [FTP_BINARY] => 1
      [FTP_IMAGE] => 1
    )

  [standard] => Array
    (
      [CONNECTION_ABORTED] => 1
      [CONNECTION_NORMAL] => 0
      [CONNECTION_TIMEOUT] => 2
      [INI_USER] => 1
      [INI_PERDIR] => 2
    )

  [tokenizer] => Array
    (
      [T_INCLUDE] => 262
      [T_INCLUDE_ONCE] => 261
      [T_EVAL] => 260
      [T_REQUIRE] => 259
    )

  [gd] => Array
    (
      [IMG_GIF] => 1
      [IMG_JPG] => 2
      [IMG_JPEG] => 2
      [IMG_PNG] => 4
    )

  [user] => Array
    (
      [MEINE_KONSTANTE] => PHP5 Befehlsreferenz.
    )

)

Zurück: get_current_user

Weiter: get_extension_funcs


Funktionsreferenz / PHP-Informationen / get_extension_funcs

Letztes Update der Funktion get_extension_funcs: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_extension_funcs

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_extension_funcs ( string module_name )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_extensions_funcs() kann man sich alle Funktionen zurückgeben lassen, welche im Modul module_name enthalten sind.

Siehe auch:

. get_loaded_extensions()

nach unten nach oben Beispiel

<?PHP
$mod1 = get_extension_funcs('xml');
while(list($key, $val) = each($mod1)){
  echo $key . ' - ' . $val;
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

0 - xml_parser_create
1 - xml_set_object
2 - xml_set_element_handler
3 - xml_set_character_data_handler
4 - xml_set_processing_instruction_handler
5 - xml_set_default_handler
6 - xml_set_unparsed_entity_decl_handler
7 - xml_set_notation_decl_handler
8 - xml_set_external_entity_ref_handler
9 - xml_parse
10 - xml_parse_into_struct
11 - xml_get_error_code
12 - xml_error_string
13 - xml_get_current_line_number
14 - xml_get_current_column_number
15 - xml_get_current_byte_index
16 - xml_parser_free
17 - xml_parser_set_option
18 - xml_parser_get_option
19 - utf8_encode
20 - utf8_decode

Zurück: get_defined_constants

Weiter: get_included_files


Funktionsreferenz / PHP-Informationen / get_included_files

Letztes Update der Funktion get_included_files: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_included_files

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_included_files ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_included_files() kann man sich alle Namen der Dateien zurückgeben lassen, welche über include_once(), include(), require_once() oder require() in ein Skript geladen wurden.

Siehe auch:

. require_once()
. include_once()
. get_required_files()

nach unten nach oben Beispiel

<?PHP
include_once('php.php');
include_once('php1.php');
include_once('php2.php');
$mod1 = get_included_files();
while(list($key, $val) = each($mod1)){
  echo $key . ' - ' . $val;
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

0 - /www/users/neu/php.php
1 - /www/users/neu/php1.php
2 - /www/users/neu/php2.php

Zurück: get_extension_funcs

Weiter: get_loaded_extensions


Funktionsreferenz / PHP-Informationen / get_loaded_extensions

Letztes Update der Funktion get_loaded_extensions: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_loaded_extensions

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel |

nach unten nach oben Befehl

array get_loaded_extensions ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_loaded_extensions() kann man sich ein Array zurückgeben lassen, welches alle Module auflistet, die kompiliert und geladen sind.

Siehe auch:

get_extensions_funcs()

nach unten nach oben Beispiel

<?PHP
$module = get_loaded_extensions();
while(list($key, $val) = each($module)){
  echo $key . ' - ' . $val;
  echo '<br>';
}
?>

. Ausgabe

0 - xml
1 - standard
2 - session
3 - posix
4 - pcre
5 - mysql
6 - apache

Zurück: get_included_files

Weiter: get_magic_quotes_gpc


Funktionsreferenz / PHP-Informationen / get_magic_quotes_gpc

Letztes Update der Funktion get_magic_quotes_gpc: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_magic_quotes_gpc

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

long get_magic_quotes_gpc ( void )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_magic_quotes_gpc() kann man sich die aktuelle Einstellung der Konfigurationsoption "magic_quotes_gpc" zurückgeben lassen. Ist magic_quotes_gpc aktiviert (1), werden automatisch die Zeichen ' (einfaches Anführungszeichen), " (doppeltes Anführungszeichen), \ (Backslash) und NULL mit einem Backslash versehen.

Siehe auch:

. get_magic_quotes_runtime()
. set_magic_quotes_runtime()

nach unten nach oben Beispiel

<?PHP
echo get_magic_quotes_gpc();
?>

nach unten nach oben Ausgabe

1

Zurück: get_loaded_extensions

Weiter: get_magic_quotes_runtime


Funktionsreferenz / PHP-Informationen / get_magic_quotes_runtime

Letztes Update der Funktion get_magic_quotes_runtime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_magic_quotes_runtime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

Long get_magic_quotes_runtime ( void )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_magic_quotes_runtime() kann man sich die aktuelle Einstellung der Konfigurationsoption "magic_quotes_runtime" zurückgeben lassen. Ist magic_quotes_runtime aktiviert (1), werden Anführungszeichen in den Ergebnissen der meisten Funktionen, welche Daten von externer Quelle (inkl. Datenbanken und Textdateien) zurückgeben, mit einem Backslash versehen.

Siehe auch:

. get_magic_quotes_gpc()
. set_magic_quotes_runtime()

nach unten nach oben Beispiel

<?PHP
echo get_magic_quotes_runtime();
?>

nach unten nach oben Ausgabe

0

Zurück: get_magic_quotes_gpc

Weiter: get_required_files


Funktionsreferenz / PHP-Informationen / get_required_files

Letztes Update der Funktion get_required_files: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_required_files

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_required_files ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_required_files() kann man sich alle Namen der Dateien zurückgeben lassen, welche über require() oder require_once() in ein Skript geladen wurden. Seit der Version PHP 4.0.4 gibt die Funktion auch die Namen der Dateien zurück, die via include() oder include_once() geladen wurden.

Siehe auch:

. require_once()
. include_once()
. get_included_files()

nach unten nach oben Beispiel

<?PHP
require_once('php.php');
require_once('php1.php');
require_once('php2.php');
$mod1 = get_required_files();
while(list($key, $val) = each($mod1)){
  echo $key . ' - ' . $val;
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

0 - /www/users/neu/php.php
1 - /www/users/neu/php1.php
2 - /www/users/neu/php2.php

Zurück: get_magic_quotes_runtime

Weiter: ini_get


Funktionsreferenz / PHP-Informationen / Übersicht PHP-Informationen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP-Informationen

Auf den folgenden Seiten werden die PHP-Informationen von PHP beschrieben.

Die hier gelisteten PHP-Informationen bestehen aus folgenden Seiten:

extension_loaded
getenv
getlastmod
getmygid
getmyinode
getmypid
getmyuid
getrusage
get_cfg_var
get_current_user
get_defined_constants
get_extension_funcs
get_included_files
get_loaded_extensions
get_magic_quotes_gpc
get_magic_quotes_runtime
get_required_files
ini_get
ini_get_all
ini_restore
ini_set
phpcredits
phpinfo
phpversion
php_logo_guid
php_sapi_name
php_uname
putenv
restore_include_path
set_include_path
set_magic_quotes_runtime
set_time_limit
zend_logo_guid
zend_version


Funktionsreferenz / PHP-Informationen / ini_get

Letztes Update der Funktion ini_get: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ini_get

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string ini_get ( string varname )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ini_get() kann man sich einzelne Konfigurationsoptionen aus der php.ini anzeigen lassen. Bitte beachten Sie, das Sie den exakten Namen der Option varname angeben müssen, da diese Funktion zwischen Groß- und Kleinschreibung unterscheidet.

Siehe auch:

. get_cfg_var()
. ini_get_all()
. ini_restore()
. ini_set()

nach unten nach oben Beispiel

<?PHP
echo 'safe_mode = ' . ini_get('safe_mode') . "\n";
echo 'max_execution_time = ' . ini_get('max_execution_time') . "\n";
echo 'file_uploads = ' . ini_get('file_uploads') . "\n";
?>

nach unten nach oben Ausgabe

safe_mode = 0
max_execution_time = 30
file_uploads = 1

Zurück: get_required_files

Weiter: ini_get_all


Funktionsreferenz / PHP-Informationen / ini_get_all

Letztes Update der Funktion ini_get_all: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ini_get_all

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array ini_get_all ( [string extension] )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Mit ini_get_all() kann man sich alle Konfigurationsoptionen aus der php.ini anzeigen lassen. Aus Darstellungsgründen wird bei der Ausgabe nur ein Teil angezeigt.

Siehe auch:

. get_cfg_var()
. ini_get_all()
. ini_restore()
. ini_set()
. phpinfo()

nach unten nach oben Beispiel

<?PHP
print_r(ini_get_all());
?>

nach unten nach oben Ausgabe

Array
(
  [allow_call_time_pass_reference] => Array
    (
      [global_value] => 1
      [local_value] => 1
      [access] => 6
    )

  [allow_url_fopen] => Array
    (
      [global_value] => 1
      [local_value] => 1
      [access] => 7
    )

  [always_populate_raw_post_data] => Array
    (
      [global_value] => 0
      [local_value] => 0
      [access] => 6
    )
)

Zurück: ini_get

Weiter: ini_restore


Funktionsreferenz / PHP-Informationen / ini_restore

Letztes Update der Funktion ini_restore: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ini_restore

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void ini_restore ( string varname )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ini_restore() kann man zur Laufzeit eine zuvor im Skript definierte Konfigurationseinstellung varname wieder löschen. Nach erfolgreicher Abarbeitung dieser Funktion beeinhaltet die Option wieder den alten Wert aus der php.ini.

Siehe auch:

. ini_get()
. ini_get_all()
. ini_set()

nach unten nach oben Beispiel

<?PHP
echo 'session.save_path = ' . ini_get('session.save_path') . "\n";
ini_set('session.save_path', 'd:\SessionTemp');
echo 'session.save_path = ' . ini_get('session.save_path') . "\n" ;
ini_restore('session.save_path');
echo 'session.save_path = ' . ini_get('session.save_path');
?>

nach unten nach oben Ausgabe

session.save_path = d:\Programme\Zend\tmp
session.save_path = d:\SessionTemp
session.save_path = d:\Programme\Zend\tmp

Zurück: ini_get_all

Weiter: ini_set


Funktionsreferenz / PHP-Informationen / ini_set

Letztes Update der Funktion ini_set: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ini_set

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string ini_set ( string varname, string newvalue )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ini_set() kann man zur Laufzeit eine Konfigurationseinstellung varname aus der php.ini verändern. Im Fehlerfall liefert diese Funktion FALSE zurück. Weiterhin wird der neue Wert newvalue nicht dauerhaft verändert, sondern gilt nur für die Abarbeitung der eigenen Datei. Bitte beachten Sie, dass Sie nicht alle Einstellungen verändern können.

Siehe auch:

. get_cfg_var()
. ini_get()
. ini_get_all()
. ini_restore()

nach unten nach oben Beispiel

<?PHP
echo 'session.save_path = ' . ini_get('session.save_path') . "\n";
ini_set('session.save_path', 'd:\SessionTemp');
echo 'session.save_path = ' . ini_get('session.save_path') ;
?>

nach unten nach oben Ausgabe

session.save_path = d:\Programme\Zend\tmp
session.save_path = d:\SessionTemp

Zurück: ini_restore

Weiter: phpcredits


Funktionsreferenz / PHP-Informationen / phpcredits

Letztes Update der Funktion phpcredits: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

phpcredits

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 | Springe zu Beispiel 3 Beispiel 3 | Springe zu Ausgabe 3 Ausgabe 3 |

nach unten nach oben Befehl

bool phpcredits ( [int flag] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit phpcredits() kann man sich Informationen über die PHP-Entwickler, Mitwirkenden, Module etc. ausgeben lassen. Die Funktion erstellt eine komplett vormatierte HTML-Seite mit allen Informationen über Ihre Anforderung. Sie können verschiedene Konstanten für den Parameter flag miteinander verbinden, indem Sie zwischen den Konstanten ein Pluszeichen (+) setzen.

Folgende Konstanten sind für den Parameter flag möglich:

. CREDITS_ALL (Vorgabewert)
. CREDITS_DOCS
. CREDITS_FULLPAGE
. CREDITS_GENERAL
. CREDITS_GROUP
. CREDITS_MODULES
. CREDITS_SAPI

Siehe auch:

. phpinfo()
. phpversion()
. php_logo_guid()

nach unten nach oben Beispiel 1

<?PHP
phpcredits(CREDITS_GROUP + CREDITS_DOCS + CREDITS_FULLPAGE);
?>

nach unten nach oben Ausgabe 1

Ausgabe der Mitglieder folgender Gruppen:

PHP Group
PHP Documentation Team

nach unten nach oben Beispiel 2

<?PHP
phpcredits(CREDITS_GENERAL);
?>

nach unten nach oben Ausgabe 2

Ausgabe der Mitglieder folgender Gruppen:

Language Design & Concept
PHP 4.0 Authors

nach unten nach oben Beispiel 3

<?PHP
phpcredits(CREDITS_GENERAL);
?>

nach unten nach oben Ausgabe 3

Ausgabe der Mitglieder folgender Gruppen:

PHP Group
Language Design & Concept
PHP 4.0 Authors
SAPI Modules
Module Authors
PHP Documentation Team

Zurück: ini_set

Weiter: phpinfo


Funktionsreferenz / PHP-Informationen / phpinfo

Letztes Update der Funktion phpinfo: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

phpinfo

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel |

nach unten nach oben Befehl

int phpinfo ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit phpinfo() kann man sich sehr viele Informationen über die momentane Konfiguration von PHP anzeigen lassen. Die Ausgabe wird in einer sehr übersichtlichen Tabelle dargestellt und hier aus Platzgründen nicht angezeigt. Falls Sie nur einen Teil der Informationen ausgeben wollen, können Sie im Parameter what angeben, welche Daten die Funktionen ausgeben soll.

Folgende Konstanten sind definiert, bei Bedarf können Sie auch mehrere mit or kombinieren:

. INFO_GENERAL
. INFO_CREDITS
. INFO_CONFIGURATION
. INFO_MODULES
. INFO_ENVIRONMENT
. INFO_VARIABLES
. INFO_LICENSE
. INFO_ALL (Vorgabewert)

Siehe auch:

. phpversion()

nach unten nach oben Beispiel

<?PHP
phpinfo();
?>

Zurück: phpcredits

Weiter: phpversion


Funktionsreferenz / PHP-Informationen / phpversion

Letztes Update der Funktion phpversion: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

phpversion

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string phpversion ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit phpversion() kann man sich die aktuelle PHP-Version zurückgeben lassen, welche auf dem Server installiert ist.

Siehe auch:

. phpinfo()

nach unten nach oben Beispiel

<?PHP
echo phpversion();
?>

nach unten nach oben Ausgabe

4.0.5

Zurück: phpinfo

Weiter: php_logo_guid


Funktionsreferenz / PHP-Informationen / php_logo_guid

Letztes Update der Funktion php_logo_guid: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

php_logo_guid

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string php_logo_guid ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit php_logo_guid() kann man sich die GUID (Global Unique IDentifier - eine Art Stempel) des PHP-Logos zurückgeben lassen.

nach unten nach oben Beispiel

<?PHP
echo php_logo_guid();
?>

nach unten nach oben Ausgabe

Zurück: phpversion

Weiter: php_sapi_name


Funktionsreferenz / PHP-Informationen / php_sapi_name

Letztes Update der Funktion php_sapi_name: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

php_sapi_name

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string php_sapi_name ( void )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit php_sapi_name() kann ermitteln, über welche Schnittstelle Webserver und PHP verbunden sind. Dabei wird eine Zeichenkette zurückgegeben:

. Läuft PHP als CGI-PHP, so ist das Funktionsergebnis "cgi".
. Läuft PHP als Mod-PHP, so ist das Funktionsergebnis beim Apache "apache".

nach unten nach oben Beispiel

<?PHP
$php_type = php_sapi_name();

if($php_type == 'cgi')
  echo 'Sie benutzen CGI-PHP';
else
  echo 'Sie benutzen Modul-PHP';
?>

nach unten nach oben Ausgabe

Sie benutzen Modul-PHP

Zurück: php_logo_guid

Weiter: php_uname


Funktionsreferenz / PHP-Informationen / php_uname

Letztes Update der Funktion php_uname: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

php_uname

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

string php_uname ( [string mode] )

nach unten nach oben Version

(PHP 4 >= 4.0.2, PHP 5)

nach unten nach oben Beschreibung

Mit php_uname() kann man sich den Namen des Betriebssystems zurückgeben lassen, unter dem das Skript läuft. Diese Funktion ist sehr nützlich, um zu testen, ob Ihr Skript auf dem Betriebssystem einwandfrei laufen würde. So könnten Sie z.B. eine andere Seite laden, die auch für dieses Betriebssystem geeignet ist.

nach unten nach oben Beispiel 1

<?php
echo 'Betriebssystem: ';

echo php_uname() . '<br>';

echo '<hr>';

if(substr(php_uname(), 0, 7) == 'Windows'){
  die('Dieses Skript kann nicht unter Windows ausgeführt werden!');
}
?>

nach unten nach oben Ausgabe 1

Betriebssystem: Windows NT 5.0 build 2195
--------------------------------------------------------------------------------
Dieses Skript kann nicht unter Windows ausgeführt werden!

nach unten nach oben Beispiel 2

<?php
echo 'Betriebssystem: ';

echo php_uname() . '<br>';

echo '<hr>';

if(substr(php_uname(), 0, 5) == 'Linux'){
  echo 'Eine wirklich gute Entscheidung';
}
?>

nach unten nach oben Ausgabe 2

Betriebssystem: Linux futureworld 2.2.14 #1 Sat Mar 25 00:45:35 GMT 2000 i586 unknown
--------------------------------------------------------------------------------
Eine wirklich gute Entscheidung

Zurück: php_sapi_name

Weiter: putenv


Funktionsreferenz / PHP-Informationen / putenv

Letztes Update der Funktion putenv: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

putenv

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void putenv ( string setting )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit putenv() kann man den Wert einer Umgebungsvariablen (setting) setzen, welche ihre Gültigkeit bis zum Skriptende behält.

nach unten nach oben Beispiel

<?PHP
$uniqid = 1234567;
echo putenv('UNIQID=' . $uniqid);
echo '<br>';
echo getenv('UNIQID');
?>

nach unten nach oben Ausgabe

1
1234567

Zurück: php_uname

Weiter: restore_include_path


Funktionsreferenz / PHP-Informationen / restore_include_path

Letztes Update der Funktion restore_include_path: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

restore_include_path

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void restore_include_path ( void )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Mit restore_include_path() kann man zur Laufzeit einen zuvor gesetzten Wert für den "Include-Pfad" aus der php.ini wieder löschen. Dabei wird der Wert wieder auf den Ursprung gesetzt. Falls Sie eine PHP-Version kleiner als 4.3.0 haben, so nutzen Sie bitte den Befehl ini_restore().

Siehe auch:

. ini_restore()
. set_include_path()
. get_include_path()
. include()

nach unten nach oben Beispiel

<?PHP
echo get_include_path() . "\n";
set_include_path('d:\include');
echo get_include_path() . "\n";
restore_include_path();
echo get_include_path();
?>

nach unten nach oben Ausgabe

.;c:\php4\pear
d:\include
.;c:\php4\pear

Zurück: putenv

Weiter: set_include_path


Funktionsreferenz / PHP-Informationen / set_include_path

Letztes Update der Funktion set_include_path: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

set_include_path

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string set_include_path ( string new_include_path )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Mit set_include_path() kann man zur Laufzeit einen neuen Pfad new_include_path für zu includierende Dateien setzen. Falls Sie eine PHP-Version kleiner als 4.3.0 haben, so nutzen Sie bitte den Befehl ini_set().

Siehe auch:

. ini_set()
. get_include_path()
. restore_include_path()
. include()

nach unten nach oben Beispiel

<?PHP
echo get_include_path() . "\n";
set_include_path('d:\include');
echo get_include_path() . "\n";
?>

nach unten nach oben Ausgabe

.;c:\php4\pear
d:\include

Zurück: restore_include_path

Weiter: set_magic_quotes_runtime


Funktionsreferenz / PHP-Informationen / set_magic_quotes_runtime

Letztes Update der Funktion set_magic_quotes_runtime: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

set_magic_quotes_runtime

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

long set_magic_quotes_runtime ( int new_setting )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit set_magic_quotes_runtime() kann man den Wert für die Konfigurationsoption "magic_quotes_runtime" setzen (0 für deaktiviert, 1 für aktiviert). Ist magic_quotes_runtime aktiviert (1), werden Anführungszeichen in den Ergebnissen der meisten Funktionen, welche Daten von externer Quelle (inkl. Datenbanken und Textdateien) zurückgeben, mit einem Backslash versehen.

Siehe auch:

. get_magic_quotes_gpc()
. get_magic_quotes_runtime()

nach unten nach oben Beispiel

<?PHP
set_magic_quotes_runtime(1);
echo '<br>';
echo get_magic_quotes_runtime();
?>

nach unten nach oben Ausgabe

1

Zurück: set_include_path

Weiter: set_time_limit


Funktionsreferenz / PHP-Informationen / set_time_limit

Letztes Update der Funktion set_time_limit: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

set_time_limit

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void set_time_limit ( int seconds )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit set_time_limit() kann man die Zeit (seconds) in Sekunden festlegen, die ein Skript laufen darf. Wird die Zeit überschritten, so wird das Skript vom Parser abgebrochen und ein Fehler zurückgegeben. Standardmäßig sind 30 Sekunden eingestellt, es sei denn, dass ein anderer Wert für max_execution in der Konfigurationsdatei (php3.ini) eingetragen wurde. Ist die Standardeinstellung von 30 Sekunden gesetzt und man gibt mit set_time_limit() nochmals 10 Sekunden an, so läuft das Skript maximal 40 Sekunden. Falls PHP im Safemode läuft, so hat set_time_limit() keinen Effekt (das ist bei vielen Providern der Fall).

nach unten nach oben Beispiel

<?PHP
set_time_limit(5);

$x = 1;

while($x > 0){
  echo $x++;
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

1
. // Aus Darstellungsgründen werden alle Werte zwischen
. // 1 und 197857 ignoriert.
197857

Fatal error: Maximum execution time of 5 seconds exceeded in /www/users/neu/index.php on line 9

Zurück: set_magic_quotes_runtime

Weiter: zend_logo_guid


Funktionsreferenz / PHP-Informationen / zend_logo_guid

Letztes Update der Funktion zend_logo_guid: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

zend_logo_guid

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string zend_logo_guid ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit zend_logo_guid() kann man sich die GUID des Zend-Logos zurückgeben lassen.

nach unten nach oben Beispiel

<?PHP
echo zend_logo_guid();
?>

nach unten nach oben Ausgabe

Zurück: set_time_limit

Weiter: zend_version


Funktionsreferenz / PHP-Informationen / zend_version

Letztes Update der Funktion zend_version: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

zend_version

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string zend_version ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit zend_version() kann man sich die Version der aktuell genutzten ZEND-Engine zurückgeben lassen.

Siehe auch:

. phpinfo()
. phpcredits()
. php_logo_guid()
. phpversion()

nach unten nach oben Beispiel

<?php
echo 'Zend-Engine-Version: ' . zend_version();
?>

nach unten nach oben Ausgabe

Zend-Engine-Version: 1.0.5

Zurück: zend_logo_guid

Weiter: Reguläre Ausdrücke (POSIX)


Funktionsreferenz / Reguläre Ausdrücke (POSIX) / ereg

Letztes Update der Funktion ereg: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ereg

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int ereg ( string Suchmuster, string Zeichenkette [, array regs] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ereg() kann man in einer Zeichenkette (Zeichenkette) nach Übereinstimmungen suchen, welche durch den regulären Ausdruck in Suchmuster angegeben wurden. Wurde der Parameter regs angegeben, werden alle Treffer in einem Array gespeichert. Eine Kopie der ursprünglichen Zeichenkette wird immer in regs[0] gespeichert. Bei der Suche wird zwischen Groß- und Kleinschreibung unterschieden. Die Funktion gibt das Ergebnis true zurück, falls sie das Suchmuster in der Zeichenkette findet, sonst false.

Siehe auch:

. eregi()
. ereg_replace()
. eregi_replace()

nach unten nach oben Beispiel

<?PHP
$datum = '2001-05-12';

if(ereg('([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})', $datum, $regs)){
  echo $regs[3] . '.' . $regs[2] . '.' . $regs[1];
}else{
  echo 'Ungültiges Datumsformat: ' . $datum;
}

echo '<br>'.$regs[0].'<br>';

if(ereg('PHP', 'SELFPHP3'))
  echo 'PHP gefunden';
?>

nach unten nach oben Ausgabe

12.05.2001
2001-05-12
PHP gefunden

Zurück: PHP-Informationen

Weiter: eregi


Funktionsreferenz / Reguläre Ausdrücke (POSIX) / eregi

Letztes Update der Funktion eregi: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

eregi

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int eregi ( string Suchmuster, string Zeichenkette [, array regs] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit eregi() kann man in einer Zeichenkette (Zeichenkette) nach Übereinstimmungen suchen, die durch den regulären Ausdruck in Suchmuster angegeben wurden. Wurde der Parameter regs angegeben, werden alle Treffer in einem Array gespeichert. Eine Kopie der ursprünglichen Zeichenkette wird immer in regs[0] gespeichert. Bei der Suche wird nicht zwischen Groß- und Kleinschreibung unterschieden. Die Funktion gibt das Ergebnis true zurück, falls sie das Suchmuster in der Zeichenkette findet, sonst false.

Siehe auch:

. ereg()
. ereg_replace()
. eregi_replace()

nach unten nach oben Beispiel

<?PHP
$datum = '2001-050-01';
if(eregi('([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})', $datum, $regs)){
  echo "$regs[3].$regs[2].$regs[1]";
}else{
  echo 'Ungültiges Datumsformat: ' . $datum;
}
echo '<br>';
if(eregi('php', 'SELFPHP3'))
  echo 'php gefunden';
?>

nach unten nach oben Ausgabe

Ungültiges Datumsformat: 2001-050-01
php gefunden

Zurück: ereg

Weiter: eregi_replace


Funktionsreferenz / Reguläre Ausdrücke (POSIX) / eregi_replace

Letztes Update der Funktion eregi_replace: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

eregi_replace

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string eregi_replace ( string Suchmuster, string Ersatz, string Zeichenkette )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit eregi_replace() kann man in einer Zeichenkette (Zeichenkette) nach einem Suchmuster (Suchmuster) suchen und dieses durch einen bestimmten Ausdruck (Ersatz) ersetzen lassen. Wird kein Suchtreffer gefunden, wird der String ohne Änderungen zurückgegeben. Dabei unterscheidet die Funktion nicht zwischen Groß- und Kleinschreibung (siehe letztes Beispiel). Wenn Sie für Ersatz eine Zahl (123.....) nutzen wollen, sollten Sie diese in einfache oder doppelte Hochkommas setzen, da die Funktion ereg_replace() die Zahl sonst als Ordinalwert eines Zeichens interpretiert (siehe Beispiele).

Siehe auch:

. ereg()
. eregi()
. ereg_replace()

nach unten nach oben Beispiel

<?PHP
$var = 'http://www.selfphp3.de';
echo $var;
echo '<br>';
$var = eregi_replace('(http://)(www.)(.*)(.de)', '\1\2selfphp4\4', $var);
echo $var;

echo '<br><br>';

$var_1 = 'Dies ist eine weitere Möglichkeit';
echo $var_1;
echo '<br>';
$var_1 = eregi_replace('ist', 'war', $var_1);
echo $var_1;

echo '<br><br>';

echo '<b>Folgender Code erzielt nicht das gewünschte Ergebnis:</b>';
echo '<br>';
$menge = 2;
$str = 'Ich hätte gerne ein Eis mit zwei Kugeln';
echo $str;
echo '<br>';
$str = eregi_replace('zwei', $menge, $str);
echo $str;

echo '<br><br>';

echo '<b>Folgender Code erzielt das gewünschte Ergebnis:</b>';
echo '<br>';
$menge = '2';
$str = 'Ich hätte gerne ein Eis mit zwei Kugeln';
echo $str;
echo '<br>';
$str = eregi_replace('zwei', $menge, $str);
echo $str;

echo '<br><br>';

$str = 'ICH BIN GROSS';
echo $str;
echo '<br>';
$str = eregi_replace('bin', 'WAR', $str);
echo $str;
?>

nach unten nach oben Ausgabe

http://www.selfphp3.de
http://www.selfphp4.de

Dies ist eine weitere Möglichkeit
Dies war eine weitere Möglichkeit

Folgender Code erzielt nicht das erwünschte Ergebnis:
Ich hätte gerne ein Eis mit zwei Kugeln
Ich hätte gerne ein Eis mit Kugeln

Folgender Code erzielt das gewünschte Ergebnis:
Ich hätte gerne ein Eis mit zwei Kugeln
Ich hätte gerne ein Eis mit 2 Kugeln

ICH BIN GROSS
ICH WAR GROSS

Zurück: eregi

Weiter: ereg_replace


Funktionsreferenz / Reguläre Ausdrücke (POSIX) / ereg_replace

Letztes Update der Funktion ereg_replace: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ereg_replace

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string ereg_replace ( string Suchmuster, string Ersatz, string Zeichenkette )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ereg_replace() kann man in einer Zeichenkette (Zeichenkette) nach einem Suchmuster (Suchmuster) suchen und dieses durch einen bestimmten Ausdruck (Ersatz) ersetzen lassen. Wird kein Suchtreffer gefunden, so wird der String ohne Änderungen zurückgegeben. Dabei unterscheidet die Funktion zwischen Groß-und Kleinschreibung (siehe letztes Beispiel). Wenn Sie für Ersatz eine Zahl (123.....) nutzen wollen, sollten Sie sie in einfache oder doppelte Hochkommas setzen, da die Funktion ereg_replace() die Zahl sonst als Ordinalwert eines Zeichens interpretiert (siehe Beispiele).

Siehe auch:

. ereg()
. eregi()
. eregi_replace()

nach unten nach oben Beispiel

<?PHP
$var = 'http://www.selfphp3.de';
echo $var;
echo '<br>';
$var = ereg_replace('(http://)(www.)(.*)(.de)', '\1\2selfphp4\4', $var);
echo $var;

echo '<br><br>';

$var_1 = 'Dies ist eine weitere Möglichkeit';
echo $var_1;
echo '<br>';
$var_1 = ereg_replace('ist', 'war', $var_1);
echo $var_1;

echo '<br><br>';

echo '<b>Folgender Code erzielt nicht das gewünschte Ergebnis:</b>';
echo '<br>';
$menge = 2;
$str = 'Ich hätte gerne ein Eis mit zwei Kugeln';
echo $str;
echo '<br>';
$str = ereg_replace('zwei', $menge, $str);
echo $str;

echo '<br><br>';

echo '<b>Folgender Code erzielt das gewünschte Ergebnis:</b>';
echo '<br>';
$menge = '2';
$str = 'Ich hätte gerne ein Eis mit zwei Kugeln';
echo $str;
echo '<br>';
$str = ereg_replace('zwei', $menge, $str);
echo $str;

echo '<br><br>';

$str = 'ICH BIN GROSS';
echo $str;
echo '<br>';
$str = ereg_replace('bin', 'WAR', $str);
echo $str;
?>

nach unten nach oben Ausgabe

http://www.selfphp3.de
http://www.selfphp4.de

Dies ist eine weitere Möglichkeit
Dies war eine weitere Möglichkeit

Folgender Code erzielt nicht das erwünschte Ergebnis:
Ich hätte gerne ein Eis mit zwei Kugeln
Ich hätte gerne ein Eis mit Kugeln

Folgender Code erzielt das gewünschte Ergebnis:
Ich hätte gerne ein Eis mit zwei Kugeln
Ich hätte gerne ein Eis mit 2 Kugeln

ICH BIN GROSS
ICH BIN GROSS

Zurück: eregi_replace

Weiter: split


Funktionsreferenz / Reguläre Ausdrücke (POSIX) / Übersicht Reguläre Ausdrücke (POSIX)

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Reguläre Ausdrücke (POSIX)

Auf den folgenden Seiten werden die Reguläre Ausdrücke (POSIX) von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Reguläre Ausdrücke": Praxisbuch öffnen

Die hier gelisteten Funktionen für Reguläre Ausdrücke bestehen aus folgenden Seiten:

ereg
eregi
eregi_replace
ereg_replace
split
spliti
sql_regcase


Funktionsreferenz / Reguläre Ausdrücke (POSIX) / split

Letztes Update der Funktion split: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

split

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array split ( string Suchmuster, string Zeichenkette [, int BeschrÃ¤nkung] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit split() kann man eine Zeichenkette (Zeichenkette) anhand eines regulären Ausdrucks in ein Array zerlegen lassen. Dabei wird der reguläre Ausdruck innerhalb des Suchmusters (Suchmuster) bestimmt und auf die Zeichenkette angewendet. Bei dem Suchmuster wird zwischen Groß- und Kleinschreibung unterschieden. Die Zeichenkette wird nach jedem Suchtreffer geteilt, es sei denn, dass Sie eine maximale Anzahl (Beschränkung) für die Zerlegung angegeben haben. Sind mehr Suchtreffer vorhanden, als in Beschränkung angegeben, so wird der Rest der Zeichenkette in dem letzten Array-Element abgelegt. Es ist darauf zu achten, dass wie auch bei "normalen" regulären Ausdrücken gewisse Zeichen, die eine besondere Bedeutung haben, geschützt werden müssen. Weiterhin sollten Sie diese Funktion nur nutzen, wenn Sie auch wirklich reguläre Ausdrücke brauchen, da diese Funktion die Engine für reguläre Ausdrücke benötigt; eine schnellere Alternative ohne reguläre Ausdrücke ist die Funktion explode().

Siehe auch:

. spliti()
. explode()
. implode()

nach unten nach oben Beispiel

<?PHP
$datei = 'image.jpg';
$endung = split('[.]', $datei);
echo 'Es handelt sich um eine ' . $endung[1] . ' -Datei';

echo '<br>';

$var = 'Nehmen Sie hier besser explode()';
$array = split(' ', $var, 3);
echo '1: ' . $array[0] . ' 2: ' . $array[1] . ' 3: ' . $array[2];

echo '<br>';

$datum = '29.07.2001';
$array_1 = split('[./-]', $datum);
echo 'Tag: ' . $array_1[0] . ' Monat: ' . $array_1[1] . ' Jahr: ' . $array_1[2];
?>

nach unten nach oben Ausgabe

Es handelt sich um eine jpg -Datei
1: Nehmen 2: Sie 3: hier besser explode()
Tag: 29 Monat: 07 Jahr: 2001

Zurück: ereg_replace

Weiter: spliti


Funktionsreferenz / Reguläre Ausdrücke (POSIX) / spliti

Letztes Update der Funktion spliti: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

spliti

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array spliti ( string Suchmuster, string Zeichenkette [, int BeschrÃ¤nkung] )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit spliti() kann man eine Zeichenkette (Zeichenkette) anhand eines regulären Ausdrucks in ein Array zerlegen lassen. Dabei wird der reguläre Ausdruck innerhalb des Suchmusters (Suchmuster) bestimmt und auf die Zeichenkette angewendet. Bei dem Suchmuster wird nicht zwischen Groß- und Kleinschreibung unterschieden (siehe zweites Beispiel). Die Zeichenkette wird nach jedem Suchtreffer geteilt, es sei denn, dass Sie eine maximale Anzahl (Beschränkung) für die Zerlegung angegeben haben. Sind mehr Suchtreffer vorhanden, als in Beschränkung angegeben, so wird der Rest der Zeichenkette in dem letzten Array-Element abgelegt. Es ist darauf zu achten, dass wie auch bei "normalen" regulären Ausdrücken gewisse Zeichen, die eine besondere Bedeutung haben, geschützt werden müssen. Weiterhin sollten Sie diese Funktion nur nutzen, wenn Sie auch wirklich reguläre Ausdrücke brauchen, da diese Funktion die Engine für reguläre Ausdrücke benötigt; eine schnellere Alternative ohne reguläre Ausdrücke ist die Funktion explode().

Siehe auch:

. split()
. explode()
. implode()

nach unten nach oben Beispiel

<?PHP
$datei = 'image.jpg';
$endung = spliti('[.]', $datei);
echo 'Es handelt sich um eine ' . $endung[1] . ' -Datei';

echo '<br>';

$var = '1X2X3X4X5X6X7X8X9X0';
$array = spliti('[a-z]', $var);
for($x = 0; $x < count($array); $x++){
  echo $array[$x] . ', ';
}

echo '<br>';

$datum = '29.07.2001';
$array_1 = spliti('[./-]', $datum);
echo 'Tag: ' . $array_1[0] . ' Monat: ' . $array_1[1] . ' Jahr: ' . $array_1[2];
?>

nach unten nach oben Ausgabe

Es handelt sich um eine jpg -Datei
1, 2, 3, 4, 5, 6, 7, 8, 9, 0,
Tag: 29 Monat: 07 Jahr: 2001

Zurück: split

Weiter: sql_regcase


Funktionsreferenz / Reguläre Ausdrücke (POSIX) / sql_regcase

Letztes Update der Funktion sql_regcase: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

sql_regcase

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string sql_regcase ( string Zeichenkette )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit sql_regcase() kann man aus einer Zeichenkette (Zeichenkette) einen regulären Ausdruck erzeugen, welcher für eine Suche durch andere Funktionen genutzt werden kann. Dabei wird der erstellte reguläre Ausdruck ohne Berücksichtigung von Groß- und Kleinschreibung erzeugt. Jedes Zeichen wird dabei in eckigen Klammern einmal groß und einmal klein geschrieben, es sei denn, dass dies nicht möglich ist - dann wird zweimal das ursprüngliche Zeichen zurückgegeben.

nach unten nach oben Beispiel

<?PHP
$var = 'Befehlsreferenzen';
$var_1 = 'PHP 3/4';
$var_2 = 'Selfphp';
echo sql_regcase($var);

echo '<br>';

echo sql_regcase($var_1);

echo '<br>';

echo sql_regcase($var_2);

echo '<br>';

$datei = 'B';
$datei_1 = 'Tobias';
$reg = sql_regcase($datei);
echo $reg;

echo '<br>';

if($array=split($reg,$datei_1)){
  echo 'Suchmuster gefunden<br>';

  for($x = 0; $x < count($array); $x++){
    echo $array[$x];
    echo '<br>';
  }
}
else
  echo 'Keine Übereinstimmung';
?>

nach unten nach oben Ausgabe

[Bb][Ee][Ff][Ee][Hh][Ll][Ss][Rr][Ee][Ff][Ee][Rr][Ee][Nn][Zz][Ee][Nn]
[Pp][Hh][Pp] 3/4
[Ss][Ee][Ll][Ff][Pp][Hh][Pp]
[Bb]
Suchmuster gefunden
To
ias

Zurück: spliti

Weiter: Session-Funktionen


Funktionsreferenz / Session-Funktionen / Übersicht Session-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Session-Funktionen

Auf den folgenden Seiten werden die Session-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Session-Management via PHP": Praxisbuch öffnen

Die hier gelisteten Session-Funktionen bestehen aus folgenden Seiten:

session_cache_expire
session_cache_limiter
session_decode
session_destroy
session_encode
session_get_cookie_params
session_id
session_is_registered
session_module_name
session_name
session_regenerate_id
session_register
session_save_path
session_set_cookie_params
session_start
session_unregister
session_unset


Funktionsreferenz / Session-Funktionen / session_cache_expire

Letztes Update der Funktion session_cache_expire: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_cache_expire

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int session_cache_expire ( [int neue_cache_verfallszeit] )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Mit session_cache_expire() kann man sich die den Wert der aktuellen Cachespeicherung aus der Konfigurationsdatei (php.ini) zurückgeben lassen. Wird der optionale Parameter neue_cache_verfallszeit benutzt, so wird der vorhandene Wert neu gesetzt (in Minuten). Bitte beachten Sie, dass zu Beginn einer Anfrage der Wert auf den in der Konfigurationsdatei angegebenen, zurückgesetzt wird. Somit müssen Sie session_cache_expire() vor der Funktion session_start() aufrufen!

Siehe auch:

. Session_start()
. Session_cache_limiter()

nach unten nach oben Beispiel

<?PHP
session_cache_expire(50);
$cachespeicherung = session_cache_expire();

session_start();

echo 'Aktuelle Cachespeicherung: ' . $cachespeicherung . ' Minuten';
?>

nach unten nach oben Ausgabe

Aktuelle Cachespeicherung: 50 Minuten

Zurück: Reguläre Ausdrücke (POSIX)

Weiter: session_cache_limiter


Funktionsreferenz / Session-Funktionen / session_cache_limiter

Letztes Update der Funktion session_cache_limiter: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_cache_limiter

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string session_cache_limiter ( [string Cacheverwaltung] )

nach unten nach oben Version

(PHP 4 >= 4.0.3, PHP 5)

nach unten nach oben Beschreibung

Mit session_cache_limiter() kann man sich die Bezeichnung der aktuellen Cacheverwaltung zurückgeben lassen. Ist der optionale Parameter Cacheverwaltung gesetzt, so wird dieser neue Wert gesetzt.

Mögliche Werte für Cacheverwaltung sind:

. nocache - Clientseitige Speicherung im Cache ist nicht erlaubt
. public - Speicherung im Cache ist erlaubt
. private - wie public, nur restriktiver

Sie müssen session_cache_limiter() bei jeder Anfrage neu aufrufen, da die Cacheverwaltung zu Beginn auf den Wert zurückgesetzt wird, welcher in der Konfigurationsoption session.cache_limiter eingetragen ist. Zusätzlich ist darauf zu achten, dass Sie session_cache limiter() vor session_start() aufrufen müssen.

Siehe auch:

. session_start()

nach unten nach oben Beispiel

<?PHP
session_cache_limiter('public');
$cache = session_cache_limiter();
echo 'Aktuelle Cacheverwaltung: "' . $cache . '"';
?>

nach unten nach oben Ausgabe

Aktuelle Cacheverwaltung: "public"

Zurück: session_cache_expire

Weiter: session_decode


Funktionsreferenz / Session-Funktionen / session_decode

Letztes Update der Funktion session_decode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_decode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool session_decode ( string Daten )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_decode() kann man einen String (data) mit Sitzungsdaten dekodieren und ihn für eine weitere Verwendung bereitstellen. Dabei werden die gespeicherten Variablen in der Session registriert. Sollte keine Session vorhanden sein, so wird eine angelegt. So könnte man z.B. diesen String aus einer Datenbank lesen und wieder als Variablen bereitstellen.

Siehe auch:

. session_encode()

nach unten nach oben Beispiel

<?PHP
session_register('titel', 'version', 'jahr');

$titel = 'SELFPHP';

$version = '1.00';

$jahr = 2001;

$database = session_encode();

echo $database;

echo '<br>';

@session_destroy();

unset($titel, $version, $jahr);

echo 'Buchprojekt: ' . $titel . ' ' . $version . ' ' . $jahr;

echo '<br>';

session_decode($database);

echo 'Buchprojekt: ' . $titel . ' ' . $version . ' ' . $jahr;
?>

nach unten nach oben Ausgabe

titel|s:7:"SELFPHP";version|s:4:"1.00";jahr|i:2001;
Buchprojekt:
Buchprojekt: SELFPHP 1.00 2001

Zurück: session_cache_limiter

Weiter: session_destroy


Funktionsreferenz / Session-Funktionen / session_destroy

Letztes Update der Funktion session_destroy: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_destroy

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool session_destroy ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_destroy() beendet man eine aktuelle Session und löscht alle Daten, die innerhalb der Session genutzt wurden. Zusätzlich wird auch die Session-ID gelöscht. Im Erfolgsfall gibt diese Funktion True, sonst False zurück.

Siehe auch:

. session_id()
. session_start()

nach unten nach oben Beispiel

<?PHP
if(session_start())
  echo 'Session wurde erstellt!';

echo '<br>';

if(session_id())
  echo session_id();

echo '<br>';

session_destroy();

if(!session_id())
  echo 'Session-ID wurde zerstört';
?>

nach unten nach oben Ausgabe

Session wurde erstellt!
17c84cdd8b78a3cdc7f72c36d745d021
Session-ID wurde zerstört

Zurück: session_decode

Weiter: session_encode


Funktionsreferenz / Session-Funktionen / session_encode

Letztes Update der Funktion session_encode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_encode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string session_encode ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_encode() kodiert man Variablen, welche in der Session initialisiert wurden. Dabei werden die Variablen und ihr aktueller Wert in einen String umgewandelt. Dieses Verfahren ist nützlich, um die Variablen über die Session hinaus zu behalten - eine Speicherung in eine Datei oder Datenbank ist in diesem Zusammenhang sinnvoll.

Siehe auch:

. session_decode()

nach unten nach oben Beispiel

<?PHP
session_register('array', 'typ', 'benutzer');
$typ = 1;
$benutzer = 'user';
$array = array('SELFPHP', '1.00', 2001);
$database = session_encode();
echo $database;
?>

nach unten nach oben Ausgabe

array|a:3:{i:0;s:7:"SELFPHP";i:1;s:4:"1.00";i:2;i:2001;}typ|i:1;benutzer|s:4:"user";

Zurück: session_destroy

Weiter: session_get_cookie_params


Funktionsreferenz / Session-Funktionen / session_get_cookie_params

Letztes Update der Funktion session_get_cookie_params: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_get_cookie_params

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array session_get_cookie_params ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_get_cookie_params() kann man sich die derzeit gültigen Cookie-Parameter zurückgeben lassen.

Das zurückgegebene Array enthält folgende Elemente:

. lifetime - Lebensdauer des Cookies
. path - Speicherpfad des Cookies
. domain - Domain des Cookies

Siehe auch:

. session_set_cookie_params()

nach unten nach oben Beispiel

<?PHP
$cookie = session_get_cookie_params();
while(list($key, $val) = each($cookie)){
  echo $key . ': ' . $val;
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

lifetime: 0
path: /
domain: localhost

Zurück: session_encode

Weiter: session_id


Funktionsreferenz / Session-Funktionen / session_id

Letztes Update der Funktion session_id: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_id

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string session_id ( [string ID] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_id() wird die ID der aktuellen Session geliefert. Mit dem optionalen Parameter id kann man auch eine neue Session-ID setzen.

nach unten nach oben Beispiel

<?PHPsession_start();
echo session_id();
echo '<br>';
echo $PHPSESSID;
?>

nach unten nach oben Ausgabe

7f7cd009ff13bd2764c219467c9a8cec
7f7cd009ff13bd2764c219467c9a8cec

Zurück: session_get_cookie_params

Weiter: session_is_registered


Funktionsreferenz / Session-Funktionen / session_is_registered

Letztes Update der Funktion session_is_registered: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_is_registered

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool session_is_registered ( string Name )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_is_registered() kann man überprüfen, ob eine Variable (name) innerhalb einer Session registriert wurde. Falls die Variable registriert ist, gibt die Funktion true, sonst false zurück.

Siehe auch:

. session_register()
. session_unregister()

nach unten nach oben Beispiel

<?PHP
session_start();
$vari = 'Mein Inhalt';
$arg = 'Die Befehlsreferenz';
if(session_register('vari'))
  echo 'Variable registriert!<br>';

if(session_is_registered('vari'))
  echo session_encode();

echo '<br>';

if(!session_is_registered('arg'))
  echo 'Variable ist nicht registriert!';
?>

nach unten nach oben Ausgabe

Variable registriert!
vari|s:11:"Mein Inhalt";
Variable ist nicht registriert!

Zurück: session_id

Weiter: session_module_name


Funktionsreferenz / Session-Funktionen / session_module_name

Letztes Update der Funktion session_module_name: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_module_name

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string session_module_name ( [string Modul] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_module_name() kann man sich den Namen des aktuellen Session-Moduls zurückgeben lassen. Möchte man sein eigenes Modul verwenden, so ist der optionale Parameter für Module (module) anzugeben. Die aktuelle Session und deren Variablen gehen dabei verloren.

Siehe auch:

. session_destroy()
. session_start()

nach unten nach oben Beispiel

<?PHP
echo session_module_name();
?>

nach unten nach oben Ausgabe

files

Zurück: session_is_registered

Weiter: session_name


Funktionsreferenz / Session-Funktionen / session_name

Letztes Update der Funktion session_name: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_name

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string session_name ( [string Name] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_name() kann man sich den Namen der aktuellen Session zurückgeben lassen. Der Session-Name referenziert die aktuelle Session-ID in Cookies und URLs und sollte nur aus alphanumerischen Zeichen bestehen. Man kann der Session mit dieser Funktion einen neuen Namen (name) zuweisen. Wird dies nicht gemacht, erhält die Session den Wert, welcher in session.name gespeichert ist.

Siehe auch:

. session_register()
. session_start()

nach unten nach oben Beispiel

<?PHP
echo session_name();
session_name('SESSION');
echo '<br>';
echo session_name();
?>

nach unten nach oben Ausgabe

PHPSESSID
SESSION

Zurück: session_module_name

Weiter: session_regenerate_id


Funktionsreferenz / Session-Funktionen / session_regenerate_id

Letztes Update der Funktion session_regenerate_id: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_regenerate_id

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool session_regenerate_id ( [bool alte_session_löschen] )

nach unten nach oben Version

(PHP 4 >= 4.3.2, PHP 5)

nach unten nach oben Beschreibung

Mit session_regenerate_id() kann man die aktuelle Session-ID durch eine Neue ersetzen. Dabei übernimmt die neue Session-ID die aktuellen Session-Informationen. Diese Funktion gibt im Erfolgsfall TRUE, ansonsten FALSE zurück.

Siehe auch:

. session_id()
. session_start()
. session_name()

nach unten nach oben Beispiel

<?PHP
session_start();
$old = session_id() . "\n";
session_regenerate_id();
$new =  session_id();
echo $old . $new;
?>

nach unten nach oben Ausgabe

6cc93d1795cad9e8b46ce8b88f2c130b
43e37dacdf91d4b5d8f2bba4868b8178

Zurück: session_name

Weiter: session_register


Funktionsreferenz / Session-Funktionen / session_register

Letztes Update der Funktion session_register: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_register

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool session_register ( mixed Name [, mixed ...] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_register() registriert man eine oder mehrere Variablen (name usw.) innerhalb einer Session. Im Erfolgsfall gibt diese Funktion true zurück. Mit session_encode() kann man auf den Variableninhalt zugreifen.

Siehe auch:

. session_encode()
. session_unregister()

nach unten nach oben Beispiel

<?PHP
session_start();
$vari = 'Mein Inhalt';
if(session_register('vari'))
  echo 'Variable registriert!';
?>

nach unten nach oben Ausgabe

Variable registriert!

Zurück: session_regenerate_id

Weiter: session_save_path


Funktionsreferenz / Session-Funktionen / session_save_path

Letztes Update der Funktion session_save_path: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_save_path

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string session_save_path ( [string Pfad] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_save_path() kann man sich den aktuellen Speicherpfad der Session zurückgeben lassen. Möchte man statt des vorgegebenen Pfads einen anderen Pfad verwenden, so kann man den gewünschten Pfad im optionalen Parameter path übergeben. Dieser Pfad gilt allerdings nur für das laufende Skript - muss also bei jeder Seite neu definiert werden.

Siehe auch:

. session_id()

nach unten nach oben Beispiel

<?PHP
echo session_save_path();
?>

nach unten nach oben Ausgabe

/tmp

Zurück: session_register

Weiter: session_set_cookie_params


Funktionsreferenz / Session-Funktionen / session_set_cookie_params

Letztes Update der Funktion session_set_cookie_params: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_set_cookie_params

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void session_set_cookie_params ( int Lebensdauer [, string Pfad [, string Domain [, bool secure]]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_set_cookie_params() kann man verschiedene Parameter eines Cookies bestimmen. Die Funktion wirkt sich nur im aktuellen Skript aus.

Folgende Parameter sind zulässig:

. lifetime - Lebensdauer des Cookies
. path - Speicherpfad des Cookies (optional)
. domain - Domain des Cookies (optional)

Siehe auch:

. session_get_cookie_params()

nach unten nach oben Beispiel

<?PHP
session_set_cookie_params(1600, '/tmp', 'www.selfphp3.de');
$cookie = session_get_cookie_params();
while(list($key, $val) = each($cookie)){
  echo $key . ': ' . $val;
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

lifetime: 1600
path: /tmp
domain: www.selfphp3.de

Zurück: session_save_path

Weiter: session_start


Funktionsreferenz / Session-Funktionen / session_start

Letztes Update der Funktion session_start: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_start

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool session_start ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_start() erstellt man eine neue Session oder führt eine schon bestehende Session fort, deren ID über eine GET-Variable oder ein Cookie übermittelt wurde. Im Erfolgsfall gibt die Funktion true zurück.

Siehe auch:

. session_id()
. session_destroy()

nach unten nach oben Beispiel

<?PHP
if(session_start())
  echo 'Session wurde erstellt!';
?>

nach unten nach oben Ausgabe

Session wurde erstellt!

Zurück: session_set_cookie_params

Weiter: session_unregister


Funktionsreferenz / Session-Funktionen / session_unregister

Letztes Update der Funktion session_unregister: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_unregister

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool session_unregister ( string Name )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_unregister() hebt man die Registrierung einer Variablen (name) wieder auf. Im Erfolgsfall gibt diese Funktion true zurück.

Siehe auch:

. session_register()

nach unten nach oben Beispiel

<?PHP
session_start();
$vari = 'Mein Inhalt';
if(session_register('vari'))
  echo 'Variable registriert!<br>';

if(session_unregister('vari'))
  echo 'Registrierung aufgehoben!';
?>

nach unten nach oben Ausgabe

Variable registriert!
Registrierung aufgehoben!

Zurück: session_start

Weiter: session_unset


Funktionsreferenz / Session-Funktionen / session_unset

Letztes Update der Funktion session_unset: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

session_unset

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void session_unset ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit session_unset() hebt man die Registrierung aller Variablen auf, welche in der aktuellen Session angelegt wurden.

Siehe auch:

. session_encode()

nach unten nach oben Beispiel

<?PHP
session_start();

$vari = 'Mein Inhalt';

if(session_register('vari'))
  echo 'Variable registriert!<br>';

echo session_encode();

echo '<br>';

session_unset();

echo session_encode();
?>

nach unten nach oben Ausgabe

Variable registriert!
vari|s:11:"Mein Inhalt";
!vari|

Zurück: session_unregister

Weiter: Sonstige-Funktionen


Funktionsreferenz / Sonstige-Funktionen / connection_aborted

Letztes Update der Funktion connection_aborted: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

connection_aborted

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei zahlen.txt Inhalt der Datei zahlen.txt | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int connection_aborted ( void )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mir connection_aborted() können Sie innerhalb einer Funktion, welche Sie mit register_shutdown_function() installiert haben, überprüfen, ob das Skript normal beendet oder durch den User abgebrochen wurde. Wurde ein Abbruch durch den User registriert, so gibt connection_aborted() true zurück. Diese Funktion ist sehr nützlich, um noch Daten, welche durch den Abbruch verloren gehen würden, z.B in eine Datei zu schreiben. Es ist darauf zu achten, dass Sie innerhalb der Funktion nicht mit print oder echo arbeiten, da nichts mehr an den Browser gesendet wird. Im unteren Beispiel wurde ein "Mini-Shop" dargestellt, welcher die Kategorie, das Produkt und die Zeit bei einem Abbruch durch den User in eine Datei schreibt. Dieses könnte zu statistischen Zwecken herangezogen werden. Die For-Schleife diente nur zu Testzwecken, um das Skript eine Weile zu beschäftigen, damit man einen Abbruch tätigen konnte.

Siehe auch:

. connection_status()
. connection_timeout()

nach unten nach oben Inhalt der Datei zahlen.txt

Monitore||17"-Monitor||Monday 30th of July 2001 09:05:24 PM
Monitore||17"-Monitor||Monday 30th of July 2001 09:07:55 PM

nach unten nach oben Beispiel

<?PHP
register_shutdown_function('countdown');

$produktseite = 'Monitore';
$produkt = '17"-Monitor';
$zeit = date('l dS of F Y h:i:s A');

echo 'Ein simpler Shop<br>';

function countdown(){
  if(connection_aborted()){
    global $produktseite, $produkt, $zeit;

    $werte = $produktseite . '||' . $produkt . '||' . $zeit . "\n";
    $fp = fopen('statistik.txt', 'a');
    fwrite($fp, $werte);
    fclose($fp);
  }
}

for($x = 1; $x <= 555555; $x++){
  echo $x . '<br>';
}
?>

nach unten nach oben Ausgabe

Ein simpler Shop
1
2
3
4
5

Zurück: Session-Funktionen

Weiter: connection_status


Funktionsreferenz / Sonstige-Funktionen / connection_status

Letztes Update der Funktion connection_status: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

connection_status

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei zahlen.txt Inhalt der Datei zahlen.txt | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 | Springe zu Inhalt der Datei zahlen.txt Inhalt der Datei zahlen.txt | Springe zu Beispiel 3 Beispiel 3 | Springe zu Ausgabe 3 Ausgabe 3 |

nach unten nach oben Befehl

int connection_status ( void )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit connection_status() kann man sich den internen Verbindungsstatus von PHP zurückgeben lassen.

Folgende drei (bzw. vier - siehe unten) Zustandsmöglichkeiten können eintreten:

. 0 - NORMAL
. 1 - ABORTED
. 2 - TIMEOUT
. 3 - ABORTED und TIMEOUT

Ein aktives PHP-Skript hat normalerweise den Status NORMAL, es sei denn, dass durch irgendein Vorkommnis dieser Status geändert wird. Dabei gibt es mehrere Möglichkeiten. Zum einen kann der User das laufende Skript abbrechen und somit den Status auf ABORTED setzen, oder es kann vorkommen, dass das Skript länger läuft, als das eingestellte Zeitlimit zulässt (Standard-Timeout in der Apache-Konfigurationsdatei ist 30 Sekunden, oder über set_time_limit() eine vorgegebene Zeit). Bei Überschreiten dieses Limits wird der Verbindungsstatus auf TIMEOUT gesetzt. Anhand dieser drei Werte kann man nun entscheiden, wie man mit diesem Status umgehen möchte. Oftmals will man gerade beim Abbruch durch den User noch wichtige Daten retten. Beachten Sie bitte, dass die Funktion connection_status() gleichzeitig den Staus ABORTED und TIMEOUT besitzen kann. Dies geschieht gerade dann, wenn man mit der Funkton ignore_user_abort() den Benutzerabbruch unterbindet. Dennoch kann es zu einem TIMEOUT kommen. In diesem Fall gibt die Funktion den Wert 3 (ABORTED + TIMEOUT) zurück, weil neben dem Timeout auch der (folgenlose) Benutzerabbruch registriert wurde.

Siehe auch:

connevtion_aborted()
. connection_timeout()
. register_shutdown_function()

nach unten nach oben Inhalt der Datei zahlen.txt

Timeout - Monitore||17"-Monitor||Monday 30th of July 2001 10:32:38 PM

nach unten nach oben Beispiel 1

<?PHP
register_shutdown_function('countdown');
set_time_limit(10);

$produktseite = 'Monitore';
$produkt = '17"-Monitor';
$zeit = date('l dS of F Y h:i:s A');

for($x = 1; $x <= 55555555; $x++){
  echo $x . '<br>';
}

echo 'Ein simpler Shop<br>';

function countdown(){
  $var = connection_status();
  switch($var){
    case 0:
      echo 'Alles OK - weiter gehts!';
    break;

    case 1:
      global $produktseite, $produkt, $zeit;
      $werte = $produktseite . '||' . $produkt . '||' . $zeit . "\n";
      $fp = fopen('statistik.txt', 'a');
      fwrite($fp, $werte);
      fclose($fp);
    break;

    case 2:
      global $produktseite, $produkt, $zeit;
      $werte = 'Timeout - ' . $produktseite . '||' . $produkt . '||' . $zeit . "\n";
      $fp = fopen('timeout.txt', 'a');
      fwrite($fp, $werte);
      fclose($fp);
      break;
   }
}
?>

nach unten nach oben Ausgabe 1

1
2
3
.
.
.
51290
51291

Fatal error: Maximum execution time of 10 seconds exceeded in e:/apache/htdocs/php/index.php on line 9

nach unten nach oben Beispiel 2

<?PHP
register_shutdown_function('countdown');

$produktseite = 'Monitore';
$produkt = '17"-Monitor';
$zeit = date('l dS of F Y h:i:s A');

for($x = 1; $x <= 5; $x++){
  echo $x . '<br>';
}

echo 'Ein simpler Shop<br>';

function countdown(){
  $var = connection_status();
  switch($var){
    case 0:
      echo 'Alles OK - weiter gehts!';
    break;

    case 1:
      global $produktseite, $produkt, $zeit;
      $werte = $produktseite . '||' . $produkt . '||' . $zeit . "\n";
      $fp = fopen('statistik.txt', 'a');
      fwrite($fp,$werte);
      fclose($fp);
    break;

    case 2:
      global $produktseite, $produkt, $zeit;
      $werte = 'Timeout - ' . $produktseite . '||' . $produkt . '||' . $zeit . "\n";
      $fp = fopen('timeout.txt', 'a');
      fwrite($fp, $werte);
      fclose($fp);
    break;
  }
}
?>

nach unten nach oben Ausgabe 2

1
2
3
4
5
Ein simpler Shop
Alles OK - weiter gehts!

nach unten nach oben Inhalt der Datei zahlen.txt

Monitore||17"-Monitor||Monday 30th of July 2001 10:30:15 PM

nach unten nach oben Beispiel 3

<?PHP
// Wie Beispiel 1, allerdings ein Browserabbruch durch den User
// vor Verstreichen der 10 Sekunden
?>

nach unten nach oben Ausgabe 3

1
2
3
.
.
.
26926
26927
26928

Zurück: connection_aborted

Weiter: connection_timeout


Funktionsreferenz / Sonstige-Funktionen / connection_timeout

Letztes Update der Funktion connection_timeout: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

connection_timeout

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei zahlen.txt Inhalt der Datei zahlen.txt | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int connection_timeout ( void )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4 <= 4.0.4)

nach unten nach oben Beschreibung

Mit connection_timeout() kann man feststellen, ob ein Skript durch ein Timeout beendet wurde. Dieser Status wird eintreten, wenn das eingestellte Zeitlimit überschritten wird. Standard-Timeout in der Apache-Konfigurationsdatei ist 30 Sekunden, oder über set_time_limit() eine vorgegebene Zeit. Diese Funktion ist ab der PHP-Version 4.0.5 nicht mehr vorhanden.

Siehe auch:

connevtion_aborted()
. connection_status()
. register_shutdown_function()

nach unten nach oben Inhalt der Datei zahlen.txt

Monitore||17"-Monitor||Monday 30th of July 2001 10:45:26 PM

nach unten nach oben Beispiel

<?PHP
register_shutdown_function('countdown');
set_time_limit(2);
$produktseite = 'Monitore';
$produkt = '17"-Monitor';
$zeit = date('l dS of F Y h:i:s A');
for($x = 1; $x <= 666666666; $x++){
  echo $x . '<br>';
}
echo 'Ein simpler Shop<br>';
function countdown(){
  $var = connection_timeout();
  switch($var){
    case 1:
      global $produktseite, $produkt, $zeit;
      $werte = $produktseite . '||' . $produkt . '||' . $zeit . "\n";
      $fp = fopen('timeout.txt', 'a');
      fwrite($fp, $werte);
      fclose($fp);
    break;

    default:
      echo 'Alles OK - weiter gehts!';
    break;
  }
}
?>

nach unten nach oben Ausgabe

1
2
3
.
.
.
55983
55984

Fatal error: Maximum execution time of 2 seconds exceeded in e:\apache\htdocs/php/index.php on line 8

Zurück: connection_status

Weiter: define


Funktionsreferenz / Sonstige-Funktionen / define

Letztes Update der Funktion define: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

define

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

int define ( string name, mixed value [, int case_insensitive] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit define() definiert man eine Konstante mittels eines Namens (name) und weist dieser einen Wert (value) zu. Der optionale Parameter case_insensitive bestimmt, ob bei dieser Konstante zwischen Groß- und Kleinschreibung unterschieden wird. Voreingestellt ist die Unterscheidung für Groß- und Kleinschreibung (kann auch mit 1 gesetzt werden). Im Erfolgsfall gibt diese Funktion true, sonst false zurück. Die Definition einer Konstanten erfolgt ähnlich wie bei Variablen, außer dass Folgendes zu berücksichtigen ist: Eine Konstante beginnt nicht mit dem Dollar-Zeichen ($). Der Zugriff auf eine Konstante kann von überall her erfolgen und unterliegt nicht den Auswertungskriterien von Variablen. Wurde eine Konstante einmal definiert, so kann sie weder umdefiniert noch zurückgesetzt werden (siehe 2. Beispiel). Eine Konstante kann nur eindimensionale Werte aufnehmen. So können z.B. keine Arrays aufgenommen werden.

Siehe auch:

. defined()

nach unten nach oben Beispiel 1

<?PHP
define('SELFPHP', 'Version 1.0.0');
echo SELFPHP;
?>

nach unten nach oben Ausgabe 1

Version 1.0.0

nach unten nach oben Beispiel 2

<?PHP
define('SELFPHP', 'Version 1.0.0');
echo SELFPHP;
echo '<br>';
define('SELFPHP', 'Version 1.0.1');
echo SELFPHP;
?>

nach unten nach oben Ausgabe 2

Version 1.0.0
Version 1.0.0

Zurück: connection_timeout

Weiter: defined


Funktionsreferenz / Sonstige-Funktionen / defined

Letztes Update der Funktion defined: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

defined

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

int defined ( string name )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit defined() kann man überprüfen, ob eine Konstante (name) definiert wurde und somit existiert. Im Erfolgsfall gibt die Funktion true, sonst false zurück. Beachten Sie, dass bei der Definition einer Konstanten mit define() als Vorgabe (d.h. wenn Sie kein drittes Argument angeben) zwischen Groß- und Kleinschreibung unterschieden wird (siehe 2. Beispiel).

Siehe auch:

. define()

nach unten nach oben Beispiel 1

<?PHP
define('SELFPHP', 'Version 1.0.0');
echo SELFPHP;

echo '<br>';

if(defined('SELFPHP'))
  echo 'Die Konstante SELFPHP wurde definiert';
else
  echo 'Die Konstante SELFPHP wurde nicht definiert';
?>

nach unten nach oben Ausgabe 1

Version 1.0.0
Die Konstante SELFPHP wurde definiert

nach unten nach oben Beispiel 2

<?PHP
define('SELFPHP', 'Version 1.0.0');
echo SELFPHP;

echo '<br>';

if(defined('selfphp'))
  echo 'Die Konstante SELFPHP wurde definiert';
else
  echo 'Die Konstante SELFPHP wurde nicht definiert';
?>

nach unten nach oben Ausgabe 2

Version 1.0.0
Die Konstante SELFPHP wurde nicht definiert

Zurück: define

Weiter: die


Funktionsreferenz / Sonstige-Funktionen / die

Letztes Update der Funktion die: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

die

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

void die ( string message )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit die() kann man ein laufendes Skript abbrechen und eine eigene Fehlermeldung (message) an den Browser senden. Diese Funktion wird oftmals genutzt, um zu überprüfen, ob eine Datei geöffnet werden konnte oder eine Verbindung zu einer Datenbank aufgenommen wurde. Eine Rückkehr zur Skriptausführung ist nach dem Aufruf von die() nicht mehr möglich.

Siehe auch:

. exit()

Zu Beispiel 1:

Bei diesem Beispiel wurde versucht, eine Datei zu öffnen, die nicht existiert. Da dieser Vorgang gescheitert ist, wurde mit die() das Programm abgebrochen und die eigene Fehlermeldung ausgegeben. Beachten Sie, dass auch eine interne Fehlermeldung von PHP mit ausgegeben wird.

Zu Beispiel 2:

Bei diesem Beispiel wurde versucht, eine Datei zu öffnen, die nicht existiert. Da dieser Vorgang gescheitert ist, wurde mit die() das Programm abgebrochen und die eigene Fehlermeldung ausgegeben. Anders als bei dem ersten Beispiel wurde hier die interne Fehlermeldung von PHP unterdrückt. Dies können Sie erreichen, indem Sie dem Funktionsaufruf von fopen() ein "@" voranstellen. In der Entwicklungsphase ist das nicht sinnvoll, da Sie nicht feststellen können, wo der Fehler aufgetreten ist. Erst beim Online-Stellen des Skripts ist es sinnvoll, das "@" hinzuzufügen, um dem User eine gut formatierte Fehlermeldung anzeigen zu können.

nach unten nach oben Beispiel 1

<?PHP
$file = '/www/user/php.php';
$file_name = fopen($file, 'r')
          or die('Konnte Datei <b>' . $file . '</b> nicht öffnen');
fclose($file);
?>

nach unten nach oben Ausgabe 1

Warning: fopen("/www/user/php.php","r") - No such file or directory in /www/users/test_php/index.php on line 3
Konnte Datei /www/user/php.php nicht öffnen

nach unten nach oben Beispiel 2

<?PHP
$file = '/www/user/php.php';
$file_name = @fopen($file, 'r')
          or die('Konnte Datei <b>' . $file . '</b> nicht öffnen');
fclose($file);
?>

nach unten nach oben Ausgabe 2

Konnte Datei /www/user/php.php nicht öffnen

Zurück: defined

Weiter: eval


Funktionsreferenz / Sonstige-Funktionen / eval

Letztes Update der Funktion eval: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

eval

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed eval ( string code_str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit eval() kann man versuchen, den Inhalt eines Strings (code_str) als PHP-Code auszuführen. Das ist oftmals sehr nützlich, wenn man PHP-Code aus einer Datenbank liest.

Folgende Kriterien müssen erfüllt sein:

Der String muss gültigen PHP-Code enthalten.
Es müssen syntaktisch richtige Begrenzungszeichen (;) enthalten sein (siehe Beispiel bei eval).
Außerdem sollten Sie beachten, dass die Werte von Variablen, welche in eval() geändert wurden, auch im Hauptskript Bestand haben werden.

nach unten nach oben Beispiel

<?PHP
$var_1 = 'Briefmarke';
$var_2 = 'Mauritius';
$text = 'Wer kennt nicht die wertvolle $var_1 von $var_2.';
echo $text;
echo '<br>';
eval("$text = \"$text\";");
echo $text;
?>

nach unten nach oben Ausgabe

Wer kennt nicht die wertvolle $var_1 von $var_2.
Wer kennt nicht die wertvolle Briefmarke von Mauritius.

Zurück: die

Weiter: exit


Funktionsreferenz / Sonstige-Funktionen / exit

Letztes Update der Funktion exit: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

exit

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel2 Beispiel2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

void exit ( void )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit exit() kann man die Ausführung eines Skripts beenden. Dabei ist darauf zu achten, dass das Skript nicht mehr fortgesetzt werden kann.

Siehe auch:

. die()

Zu Beispiel 1:

Bei diesem Beispiel stimmte der Username und das Passwort überein - das Skript wird normal ausgeführt.

Zu Beispiel 2:

Bei diesem Beispiel stimmte das Passwort nicht mit der Vorgabe überein und die Funktion exit() wurde aufgerufen. Alles, was vor der Funktion aufgerufen wurde, wird an den Browser ausgegeben. Danach wird das Skript beendet.

nach unten nach oben Beispiel 1

<?PHP
$passwort = 'wolf';
$user = 'admin';
if($user == 'admin' && $passwort == 'wolf')
  echo 'Hallo Admin<br>';
else
  exit;

echo 'Admin ist eingeloggt!';
?>

nach unten nach oben Ausgabe 1

Login:
Hallo Admin
Admin ist eingeloggt!

nach unten nach oben Beispiel2

<?PHP
$passwort = "wolf";
$user = "admin";

if($user == 'admin' && $passwort == 'cool')
  echo 'Hallo Admin<br>';
else
  exit;

echo 'Admin ist eingeloggt!';
?>

nach unten nach oben Ausgabe 2

Login:

Zurück: eval

Weiter: get_browser


Funktionsreferenz / Sonstige-Funktionen / get_browser

Letztes Update der Funktion get_browser: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_browser

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

object get_browser ( [string user_agent] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_browser() kann man die Möglichkeiten des Browsers eines Benutzers ermitteln. Sobald ein Browser auf ein Skript zugreift, wird der Wert von "$HTTP_USER_AGENT" ausgelesen. Die Funktion get_browser() sucht einen entsprechenden Eintrag in der "browscap.ini". Sollte nun die Browser-Version in der Datei vorhanden sein, so werden alle Möglichkeiten des Browsers in ein Objekt eingetragen. Es wird dabei nicht berücksichtigt, ob der User in seinem Browser bestimmte Möglichkeiten deaktiviert hat. Es wird nur aufgezeigt, welche Möglichkeiten der Browser unterstützt. Sie können auch mit dem optionalen Parameter user_agent eine Option zum Ermitteln der Browser-Version festlegen. Ist dieser Parameter nicht gesetzt, so wird PHP mittels "$HTTP_USER_AGENT" den Browser-Typ ermitteln.

In der folgenden Tabelle sehen Sie eine Beispielausgabe für einen Browser. Sie können sich aber alle möglichen Ausgaben in der Datei browscap.ini ansehen. Beachten Sie bitte, dass Sie als Systemadministrator diese Datei immer pflegen und auf dem neuesten Stand halten sollten. Hierzu brauchen Sie nur in einer Suchmaschine als Suchbegriff "browscap.ini" einzugeben und Sie werden sehr schnell die neueste Version finden.

Damit PHP auch weiß, wo die Datei liegt, muss sie in der php.ini eingetragen werden:

[browscap]
browscap = c:\winnt\system32\inetsrv\browscap.ini

Eigenschaftenbeispiel

-----------------------------------------------------------------------------
|      Eigenschaft     |             Beispiel für ein Browser               |
-----------------------------------------------------------------------------
| browser_name_pattern | Mozilla/4.0 (compatible; MSIE 4.01; MSIECrawler;*) |
-----------------------------------------------------------------------------
| parent               | IE 4.0                                             |
-----------------------------------------------------------------------------
| platform             | Win95                                              |
-----------------------------------------------------------------------------
| minorver             | 01                                                 |
-----------------------------------------------------------------------------
| browser              | IE                                                 |
-----------------------------------------------------------------------------
| Version              | 4.0                                                |
-----------------------------------------------------------------------------
| majorver             | 5                                                  |
-----------------------------------------------------------------------------
| frames               | True                                               |
-----------------------------------------------------------------------------
| tables               | True                                               |
-----------------------------------------------------------------------------
| cookies              | True                                               |
-----------------------------------------------------------------------------
| backgroundsounds     | True                                               |
-----------------------------------------------------------------------------
| vbscript             | True                                               |
-----------------------------------------------------------------------------
| javascript           | True                                               |
-----------------------------------------------------------------------------
| javaapplets          | True                                               |
-----------------------------------------------------------------------------
| ActiveXControls      | True                                               |
-----------------------------------------------------------------------------
| Win16                | False                                              |
-----------------------------------------------------------------------------
| beta                 | False                                              |
-----------------------------------------------------------------------------
| AK                   | False                                              |
-----------------------------------------------------------------------------
| SK                   | False                                              |
-----------------------------------------------------------------------------
| AOL                  | False                                              |
-----------------------------------------------------------------------------
| crawler              | False                                              |
-----------------------------------------------------------------------------
| MSN                  | False                                              |
-----------------------------------------------------------------------------
| CDF                  | True                                               |
-----------------------------------------------------------------------------
| DHTML                | True                                               |
-----------------------------------------------------------------------------
| XML                  | True                                               |
-----------------------------------------------------------------------------

nach unten nach oben Beispiel

<?php
function list_array($array){
  while(list ($key, $value) = each ($array)){
    $str .= $key . ': ' . $value";
    $str .= '<br>';
  }
  return $str;
}

echo $HTTP_USER_AGENT;

echo '<br>';

$browser = get_browser();
echo list_array((array)$browser);
?>

nach unten nach oben Ausgabe

[Mozilla/5.0 (compatible; MSIE 5.0MSFinal; Windows 2000)]
parent: IE 5.0
platform: WinNT
browser: IE
Version: 5.0
majorver: 5
minorver: 0
frames: 1
tables: 1
cookies: 1
backgroundsounds: 1
vbscript: 1
javascript: 1
javaapplets: 1
ActiveXControls: 1
Win16:
beta:
AK:
SK:
AOL:
crawler:
MSN:
CDF: 1
DHTML: 1
XML: 1

Zurück: exit

Weiter: highlight_file


Funktionsreferenz / Sonstige-Funktionen / highlight_file

Letztes Update der Funktion highlight_file: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

highlight_file

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei kreisberechnung.php Inhalt der Datei kreisberechnung.php | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void highlight_file ( string filename )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit highlight_file() kann man sich die Syntax einer PHP-Skriptdatei (filename) farbig hervorheben und auf den Browser ausgeben lassen. Dabei werden als Farben die in PHP eingebauten Syntax-Highlighter-Farben genutzt. Es ist darauf zu achten, dass Sie keine absoluten Pfade für die Datei angeben. Hier im Buch sehen Sie in der Ausgabe nicht die farbige Syntaxmarkierung. Sie können aber anhand des unten stehenden Quellcodes die Wirkungsweise der Funktion nachvollziehen. Zusätzlich befindet sich auf der CD-ROM bei dem Befehl highlight_file() die Ausgabe in farbiger Darstellung.

Siehe auch:

. highlight_string()
. show_source()

nach unten nach oben Inhalt der Datei kreisberechnung.php

$pi = pi();
$r = 15;

$kreis_flaeche = $pi * pow($r, 2);
$kreis_flaeche = round($kreis_flaeche, 2);

$kreis_umfang = $pi * 2 * $r;
$kreis_umfang = round($kreis_umfang, 2);

echo '<b>Kreisberechnung:</b><br>';
echo 'r = ' .  $r . ' mm <br>';
echo 'Pi = ' .  $pi . '<br>';
echo 'Fläche = ' . $kreis_flaeche . ' mm² <br>';
echo 'Umfang = ' . $kreis_umfang . ' mm <br>';

nach unten nach oben Beispiel

<?PHP
highlight_file('kreisberechnung.php');
?>

nach unten nach oben Ausgabe

<?PHP
$pi = pi();
$r = 15;

$kreis_flaeche = $pi * pow($r, 2);
$kreis_flaeche = round($kreis_flaeche, 2);

$kreis_umfang = $pi * 2 * $r;
$kreis_umfang = round($kreis_umfang, 2);

echo '<b>Kreisberechnung:</b><br>';
echo 'r = ' .  $r . ' mm <br>';
echo 'Pi = ' .  $pi . '<br>';
echo 'Fläche = ' . $kreis_flaeche . ' mm² <br>';
echo 'Umfang = ' . $kreis_umfang . ' mm <br>';
?>

Zurück: get_browser

Weiter: highlight_string


Funktionsreferenz / Sonstige-Funktionen / highlight_string

Letztes Update der Funktion highlight_string: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

highlight_string

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void highlight_string ( string str )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit highlight_string() kann man sich die Syntax einer PHP-Befehlssequenz (str) farbig hervorheben und auf den Browser ausgeben lassen. Dabei werden als Farben die in PHP eingebauten Syntax-Highlighter-Farben genutzt. Hier im Buch sehen Sie in der Ausgabe nicht die farbige Syntaxmarkierung. Sie können sich aber den unten stehenden Quellcode in eine HTML-Datei einbinden und ausgeben lassen. Zusätzlich befindet sich auf der CD-ROM bei dem Befehl highlight_string() die Ausgabe in farbiger Darstellung.

Siehe auch:

. highlight_file()
. show_source()

nach unten nach oben Beispiel

<?PHP
$php = '<?PHP
        $string = "Selfphp";
        $vers = "1.0.1";
        echo $string . $vers;
        ?>';
highlight_string($php);
?>

nach unten nach oben Ausgabe

<?PHP
        $string = "Selfphp";
        $vers = "1.0.1";
        echo $string . $vers;
        ?>

Zurück: highlight_file

Weiter: ignore_user_abort


Funktionsreferenz / Sonstige-Funktionen / ignore_user_abort

Letztes Update der Funktion ignore_user_abort: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ignore_user_abort

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei zahlen.txt Inhalt der Datei zahlen.txt | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Inhalt der Datei zahlen.txt Inhalt der Datei zahlen.txt | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

int ignore_user_abort ( [int setting] )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ignore_user_abort() kann man ermitteln oder einstellen, ob der Verbindungsabbruch eines Clients die aktuelle Skriptausführung abbrechen soll. Übergeben Sie dazu im Parameter setting den Wert true (Verbindungsabbruch soll die Skriptausführung nicht beenden) oder false (Verbindungsabbruch soll die Skriptausführung beenden). Wenn Sie der Funktion kein Argument übergeben, erhalten Sie die aktuelle Einstellung als Ergebnis zurück. Bevor Sie ignore_user_abort() aufrufen, sollten Sie mit register_shutdown_function() festlegen, welche Funktion nach dem Abbruch durch den User noch ausgeführt werden soll. Diese Funktion ist oftmals sehr nützlich, um keine Datenverluste zu erhalten und wichtige Informationen noch abspeichern zu können.

Siehe auch:

. register_shutdown_function()

Zu Beispiel 1:

Bei dem Beispiel wurde ein kleiner Countdown realisiert, welcher im Sekundenabstand von 1-5 zählt. Nach der Ausgabe der Zahl 3 wurde mittels dem STOP-Button des Browser das aktuelle Skript abgebrochen (siehe Ausgabe). Der Inhalt der Datei zahlen.txt konnte allerdings nur noch die Zahlen 1-4 aufweisen - die Zahl 5 fehlt.

Zu Beispiel 2:

Bei dem Beispiel wurde ein kleiner Countdown realisiert, welcher im Sekundenabstand von 1-5 zählt. Nach der Ausgabe der Zahl 2 wurde mittels dem STOP-Button des Browser das aktuelle Skript abgebrochen (siehe Ausgabe). Dennoch lief im Hintergrund (für den User nicht sichtbar) das Skript weiter und schrieb alle Informationen (1-5) in die Datei (siehe Inhalt der Datei zahlen.txt).

nach unten nach oben Inhalt der Datei zahlen.txt

1234

nach unten nach oben Beispiel 1

<?PHP
echo 'Ein simpler Countdown<br>';

function countdown(){
  for($x = 1; $x <= 5; $x++){
    $fp = fopen('zert.txt', 'a');
    flush();
    usleep(1000000);
    echo $x . '<br>';
    $zahlen = $x;
    fwrite($fp, $zahlen);
    fclose($fp);
  }
}

countdown();
?>

nach unten nach oben Ausgabe 1

Ein simpler Countdown
1
2
3

nach unten nach oben Inhalt der Datei zahlen.txt

12345

nach unten nach oben Beispiel 2

<?PHP
register_shutdown_function('countdown');
ignore_user_abort();
echo 'Ein simpler Countdown<br>';

function countdown(){
  for($x = 1; $x <= 5; $x++){
    $fp = fopen('zert.txt', 'a');
    flush();
    usleep(1000000);
    echo $x . '<br>';
    $zahlen = $x;
    fwrite($fp, $zahlen);
    fclose($fp);
  }
}

countdown();
?>

nach unten nach oben Ausgabe 2

Ein simpler Countdown
1
2

Zurück: highlight_string

Weiter: ini_alter


Funktionsreferenz / Sonstige-Funktionen / Übersicht Sonstige-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Sonstige-Funktionen

Auf den folgenden Seiten werden "Sonstige-Funktionen" beschrieben.

Die hier gelisteten "Sonstige-Funktionen" bestehen aus folgenden Seiten:

connection_aborted
connection_status
connection_timeout
define
defined
die
eval
exit
get_browser
highlight_file
highlight_string
ignore_user_abort
ini_alter
leak
show_source
sleep
uniqid
usleep


Funktionsreferenz / Sonstige-Funktionen / ini_alter

Letztes Update der Funktion ini_alter: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ini_alter

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string ini_alter (string varname, string newvalue)

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung
Mit ini_alter() kann man eine in der php.ini bestimmte Konfigurationsoption (varname) auf einen neuen Wert (newvalue) setzen. Im Erfolgsfall gibt diese Funktion den alten Wert zurück, sonst false.

Siehe auch:

. ini_get()
. ini_restore()
. ini_set()

nach unten nach oben Beispiel

<?PHP
echo ini_get('highlight.string');
echo '<br>';
echo ini_alter('highlight.string', '#DD00FF');
echo '<br>';
echo ini_get('highlight.string');
echo '<br>';
echo ini_get('highlight.comment');
echo '<br>';
echo ini_alter('highlight.comment', '#FF80DD');
echo '<br>';
echo ini_get('highlight.comment');
?>

nach unten nach oben Ausgabe

#DD0000
#DD0000
#DD00FF
#FF8000
#FF8000
#FF80DD

Zurück: ignore_user_abort

Weiter: leak


Funktionsreferenz / Sonstige-Funktionen / leak

Letztes Update der Funktion leak: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

leak

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel |

nach unten nach oben Befehl

void leak (int bytes)

nach unten nach oben Version

(PHP 3, PHP 4 >= 4.0b1)

nach unten nach oben Beschreibung

Mit leak() kann man die angegebene Speichergröße (bytes) in Byte belegen. Diese Funktion ist sehr nützlich beim Debuggen des Speicher-Managers, der "leak"-Speicher wieder frei gibt, sobald alle Prozesse beendet wurden.

nach unten nach oben Beispiel

<?PHP
leak(2000000);
?>

Zurück: ini_alter

Weiter: show_source


Funktionsreferenz / Sonstige-Funktionen / show_source

Letztes Update der Funktion show_source: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

show_source

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Inhalt der Datei php.php Inhalt der Datei php.php | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void show_source ( string filename )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit show_source() kann man sich die Syntax einer PHP-Skriptdatei (filename) farbig hervorheben und auf den Browser ausgeben lassen. Dabei werden als Farben die in PHP eingebauten Syntax-Highlighter-Farben genutzt. Hier im Buch sehen Sie in der Ausgabe nicht die farbige Syntaxmarkierung. Sie können aber anhand des unten stehenden Quellcodes die Wirkungsweise der Funktion nachvollziehen. Zusätzlich befindet sich auf der CD-ROM bei dem Befehl show_source() die Ausgabe in farbiger Darstellung.

Siehe auch:

. highlight_string()
. highlight_file()

nach unten nach oben Inhalt der Datei php.php

echo ini_get('highlight.string');
echo '<br>';
echo ini_alter('highlight.string', '#DD00FF');
echo '<br>';
echo ini_get('highlight.string');
echo '<br>';
echo ini_get('highlight.comment');
echo '<br>';
echo ini_alter('highlight.comment', '#FF80DD');
echo '<br>';
echo ini_get('highlight.comment');

nach unten nach oben Beispiel

<?PHP
show_source('php.php');
?>

nach unten nach oben Ausgabe

<?PHP
echo ini_get('highlight.string');
echo '<br>';
echo ini_alter('highlight.string', '#DD00FF');
echo '<br>';
echo ini_get('highlight.string');
echo '<br>';
echo ini_get('highlight.comment');
echo '<br>';
echo ini_alter('highlight.comment', '#FF80DD');
echo '<br>';
echo ini_get('highlight.comment');
?>

Zurück: leak

Weiter: sleep


Funktionsreferenz / Sonstige-Funktionen / sleep

Letztes Update der Funktion sleep: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

sleep

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

void sleep ( int seconds )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit sleep() kann man Skriptausführung für eine gewisse Zeit (seconds) unterbrechen. Die Zeit wird dabei in Sekunden angegeben. Sobald die Zeit verstrichen ist, wird die Ausführung des Skripts wieder aufgenommen. Beachten Sie, dass ohne die Funktion flush() erst abgewartet wird, bis die Zeit verstrichen ist - erst dann wird die komplette Seite an den Browser gesendet (siehe Beispiel 2).

Siehe auch:

. usleep()
. flush()

nach unten nach oben Beispiel 1

<?PHP
echo 'Selfphp<br>';
echo 'Diese und die nächste Zeile werden auch noch an den Browser gesendet.<br>';
echo 'Jetzt passiert 3 Sekunden gar nichts.<br>';

flush();
sleep(3);

echo '<br>';
echo 'Die 3 Sekunden sind vorbei und erst jetzt<br>';
echo 'wird dieser Text ausgegeben.';
?>

nach unten nach oben Ausgabe 1

Selfphp
Diese und die nächste Zeile werden auch noch an den Browser gesendet.
Jetzt passiert 3 Sekunden gar nichts.

Die 3 Sekunden sind vorbei und erst jetzt
wird dieser Text ausgegeben.

nach unten nach oben Beispiel 2

<?PHP
echo 'Selfphp<br>';
echo 'Diese und die nächsten Zeilen werden erstnach 3 Sekunden an den Browser gesendet.<br>';

sleep(3);

echo '<br>';
echo 'Die 3 Sekunden sind vorbei und erst jetzt<br>';
echo 'wird der komplette Text ausgegeben.';
?>

nach unten nach oben Ausgabe 2

Selfphp
Diese und die nächsten Zeilen werden erst nach 3 Sekunden an den Browser gesendet.

Die 3 Sekunden sind vorbei und erst jetzt
wird der komplette Text ausgegeben.

Zurück: show_source

Weiter: uniqid


Funktionsreferenz / Sonstige-Funktionen / uniqid

Letztes Update der Funktion uniqid: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

uniqid

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string uniqid ( string prefix [, boolean lcg] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit uniqid() kann man eine eindeutige ID mit dem gegebenen Präfix (prefix) erstellen lassen. Dabei basiert die erstellte ID auf der aktuellen Zeit in Mikrosekunden. Das Präfix kann dabei eine Länge von 114 Zeichen haben und wird der ID vorangestellt.

Das Präfix ist oftmals sehr nützlich, wenn Sie auf verschiedenen Servern IDs erstellen und nicht Gefahr laufen wollen, dass dies zur gleichen Mikrosekunde geschieht. Wenn der optionale Parameter lcg den Wert true hat, fügt die Funktion am Ende der ID einen zusätzlichen LCG-Wert an, womit die IDs noch einmaliger werden. Bei IDs ohne Präfix ist die Zeichenkette 13 Zeichen lang, während sie mit LCG-Wert 23 Zeichen lang ist. Um wirklich eindeutige IDs zu generieren, sollten Sie zusätzlich mit md5() arbeiten (siehe Beispiel $zahl_5).

Siehe auch:

. md5()
. rand()

nach unten nach oben Beispiel

<?PHP
echo $zahl_1 = uniqid('');
echo '<br>';
echo $zahl_2 = uniqid('', TRUE);
echo '<br>';
echo $zahl_3 = uniqid('Selfphp', TRUE);
echo '<br>';
echo $zahl_4 = md5(uniqid (''));
echo '<br>';
echo $zahl_5 = md5(uniqid(rand()));
?>

nach unten nach oben Ausgabe

3b642d8fb347b
3b642d8fb36015.66211530
Selfphp3b642d8fb37277.76257455
d9b3fe674303124257b0af086fac4325
c831d3184dd81024889ad923abf573f2

Zurück: sleep

Weiter: usleep


Funktionsreferenz / Sonstige-Funktionen / usleep

Letztes Update der Funktion usleep: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

usleep

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 | Springe zu Beispiel3 Beispiel3 | Springe zu Ausgabe3 Ausgabe3 |

nach unten nach oben Befehl

void usleep ( int micro_seconds )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit usleep() kann man ein Skript für eine angegebene Zeit in Mikrosekunden (micro_seconds) anhalten. Dabei wird die Zeit, die man angegeben hat, abgewartet und erst dann die Ausgabe zum Browser gesendet. Möchte man Zeichenketten, die vor der Funktion usleep() ausgegeben wurden, direkt an den Browser senden, so müssen Sie zusätzlich die Funktion flush() verwenden.

Die Funktion usleep() wird auf einem Windows-System nichts bewirken, da sie dort nicht unterstützt wird.

Siehe auch:

. sleep()
. flush()

Zu Beispiel 1:

Bei diesem Beispiel werden die ersten beiden Zeichenkette mit echo an den Browser ausgegeben und sind sofort für den User sichtbar. Danach stoppt das Skript für genau 5 Sekunden und beginnt danach wieder die restliche Abarbeitung des Skripts. Dabei werden dann die beiden letzten Zeichenketten an den Browser gesendet.

Zu Beispiel 2:

Dieses Beispiel zeigt einen einfachen Countdown. Dabei werden im Abstand von 1 Sekunde die Zeichenketten an den Browser ausgegeben. Der User sieht dann im Sekundenabstand, wie der Countdown von 5 nach 1 runterzählt.

Zu Beispiel 3:

Bei dem dritten Beispiel wird das Skript für 5 Sekunden angehalten und erst dann werden alle Zeichenketten (auch die, die vor der Funktion usleep() aufgerufen wurden) an den Browser gesendet.

nach unten nach oben Beispiel 1

<?PHP
echo 'Selfphp<br>';
echo 'Diese und die nächste Zeile werden auch noch an dem Browser gesendet.<br>';
echo 'Jetzt passiert 5 Sekunden gar nichts.<br>';

flush();
usleep(5000000);

echo '<br>';
echo 'Die 5 Sekunden sind vorbei und erst jetzt<br>';
echo 'wird dieser Text ausgegeben.';
?>

nach unten nach oben Ausgabe 1

Selfphp
Diese und die nächste Zeile werden auch noch an dem Browser gesendet.
Jetzt passiert 5 Sekunden gar nichts.

Die 5 Sekunden sind vorbei und erst jetzt
wird dieser Text ausgegeben.

nach unten nach oben Beispiel 2

<?PHP
echo 'Ein simpler Countdown<br>';
for($x = 5; $x > 0; $x--){
  flush();
  usleep(1000000);
  echo $x . '<br>';
}
?>

nach unten nach oben Ausgabe 2

Ein simpler Countdown
5
4
3
2
1

nach unten nach oben Beispiel3

<?PHP
echo 'Selfphp<br>';
usleep(5000000);
echo 'Die Befehlsreferenz';
?>

nach unten nach oben Ausgabe3

Selfphp
Die Befehlsreferenz

Zurück: uniqid

Weiter: String-Funktionen


Funktionsreferenz / String-Funktionen / addcslashes

Letztes Update der Funktion addcslashes: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

addcslashes

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string addcslashes ( string str, string charlist )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit addcslashes() kann man eigene vordefinierte Sonderzeichen (charlist) mit einem Backslash "\" schützen lassen. Der String (string) wird danach modifiziert zurückgegeben.

Siehe auch:

. htmlspecialchars()
. quotemeta()
. stripcslashes()
. stripslashes()

nach unten nach oben Beispiel

<?PHP
$string = '#Sicher+ist*sicher!';
$string_new = addcslashes($string , '#+*!');
echo $string . '<br>' . $string_new;
?>

nach unten nach oben Ausgabe

#Sicher+ist*sicher!
\#Sicher\+ist\*sicher\!

Zurück: Sonstige-Funktionen

Weiter: addslashes


Funktionsreferenz / String-Funktionen / addslashes

Letztes Update der Funktion addslashes: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

addslashes

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string addslashes ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit addslashes() werden alle Vorkommen von bestimmten Zeichen mit einem Backslash "\" geschützt. Dies ist vor allem für Datenbankabfragen wichtig. Der String (str) wird danach modifiziert zurückgegeben.

Folgende Zeichen werden geschützt:

. einfache Anführungszeichen (')
. doppelte Anführungszeichen (")
. Backslash (\)
. NUL (Null-Byte)

Siehe auch:

. htmlspecialchars()
. quotemeta()
. stripslashes()

nach unten nach oben Beispiel

<?PHP
$string = "Mein 'erster' \Pokal";
$string_new = addslashes($string);
echo $string . '<br>' . $string_new;
?>

nach unten nach oben Ausgabe

Mein 'erster' \Pokal
Mein \'erster\' \Pokal

Zurück: addcslashes

Weiter: bin2hex


Funktionsreferenz / String-Funktionen / bin2hex

Letztes Update der Funktion bin2hex: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

bin2hex

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string bin2hex ( string str )

nach unten nach oben Version

(PHP 3 >= 3.0.9, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit bin2hex() werden Binärdaten (str) in hexadezimale Daten konvertiert und modifiziert zurückgegeben.

nach unten nach oben Beispiel

<?PHP
echo bin2hex('PHP');
?>

nach unten nach oben Ausgabe

504850

Zurück: addslashes

Weiter: chop


Funktionsreferenz / String-Funktionen / chop

Letztes Update der Funktion chop: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

chop

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string chop (string str)

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit chop() kann man nicht sichtbare Zeichen am Ende einer Zeichenkette (str) entfernen. So werden unter anderem Leerzeichen und Zeilenumbrüche (\n) entfernt.

Sie auch:

. trim()
. ltrim()
. rtrim()

nach unten nach oben Beispiel

<?PHP
$string_a = 'PHP ';
$string_b = '3/4';
$string_c = chop($string_a);
echo $string_a . $string_b;
echo '<br>';
echo $string_c . $string_b;
?>

nach unten nach oben Ausgabe

PHP 3/4
PHP3/4

Zurück: bin2hex

Weiter: chr


Funktionsreferenz / String-Funktionen / chr

Letztes Update der Funktion chr: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

chr

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string chr ( int ascii )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit chr() kann man sich das ASCII-Zeichen mit der angegebenen Nummer (ascii) zurückgeben lassen. Bei ASCII handelt es sich um einen 8-Bit-Zeichensatz, bei dem jeder Zahl von 0-255 genau ein Zeichen zugewiesen ist.

Der Zeichensatz gliedert sich wie folgt:

• 0-31 Steuerzeichen
• 32-127 Amerikanische Tastaturzeichen
• 128-255 Sonderzeichen und Umlaute

nach unten nach oben Beispiel

<?PHP
echo chr(128);
echo '<br>';
echo chr(169);
echo '<br>';
echo chr(174);
?>

nach unten nach oben Ausgabe

€
©
®

Zurück: chop

Weiter: chunk_split


Funktionsreferenz / String-Funktionen / chunk_split

Letztes Update der Funktion chunk_split: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

chunk_split

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string chunk_split ( string body [, int chunklen [, string end]] )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit chunk_split() kann man eine Zeichenkette (string) in kleinere Stücke aufteilen. Dabei gibt man im Parameter chunklen an, welche Länge die Zeichenketten im Ergebnis-String maximal haben sollen. Diese Funktion ist von Vorteil, wenn Sie base64_encode-Ausgaben in die RFC2045-Entsprechung konvertieren müssen. Gibt man keinen Parameter für (chunklen) an, so wird automatisch nach 76 Zeichen die Zeichenkette geteilt. Der weitere Parameter (end) ist optional und hat als automatische Vorgabe "\r\n". Die Funktion chunk_split ist wesentlich schneller als ereg_replace.

Siehe auch:

. base64_encode()

nach unten nach oben Beispiel

<?PHP
echo chunk_split('12345', 1, '<br>');
?>

nach unten nach oben Ausgabe

1
2
3
4
5

Zurück: chr

Weiter: convert_cyr_string


Funktionsreferenz / String-Funktionen / convert_cyr_string

Letztes Update der Funktion convert_cyr_string: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

convert_cyr_string

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string convert_cyr_string ( string str, string from, string to )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit convert_cyr_string() kann man eine Zeichenkette (str) von einem kyrillischen
Zeichensatz (from) in den neuen Zeichensatz (to) konvertieren. Für den
Zeichensatz gibt man als Abkürzung des Zeichensatzes die unten stehenden Buchstaben ein.

Der Zeichensatz gliedert sich wie folgt:

. k - koi8-r
. w - windows-1251
. i - iso8859-5
. a - x-cp866
. d - x-cp866
. m - x-mac-cyrillic

nach unten nach oben Beispiel

<?PHP
echo convert_cyr_string('äüö', w, k);
echo '<br>';
echo convert_cyr_string('äüö', w, i);
echo '<br>';
echo convert_cyr_string('äüö', w, a);
echo '<br>';
echo convert_cyr_string('äüö', w, d);
echo '<br>';
echo convert_cyr_string('äüö', w, m);
?>

nach unten nach oben Ausgabe

ÄØÃ
Ôìæ
¤ìæ
¤ìæ
äüö

Zurück: chunk_split

Weiter: count_chars


Funktionsreferenz / String-Funktionen / count_chars

Letztes Update der Funktion count_chars: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

count_chars

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed count_chars ( string string [, int mode] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit count_chars() können Sie zählen, wie oft in einer Zeichenkette (string) jedes Zeichen der ASCII-Zeichentabelle (0 - 255) vorkommt. Der Parameter mode legt fest, in welcher Form die Funktion ihre Ergebnisse zurückgibt. Wird der optionale Parameter (mode) nicht angegeben, so wird die Grundeinstellung "0" genommen.

Folgende Werte sind für den Parameter mode zulässig:

• 0 - Funktionsergebnis ist ein Array. Es enthält alle 255 Zeichen mit der Häufigkeit des Zeichens.

• 1 - Funktionsergebnis ist ein Array. Es enthält nur die Zeichen, die in dem zu untersuchenden String vorkommen, mit der Häufigkeit des Zeichens.

• 2 - Funktionsergebnis ist ein Array. Es enthält nur die Zeichen, die in dem zu untersuchenden String nicht vorkommen.

• 3 - Funktionsergebnis ist ein String. Dieser String enthält alle Zeichen, die in dem zu untersuchenden String vorkommen.

• 4 - Funktionsergebnis ist ein String. Dieser String enthält alle Zeichen, die in dem zu untersuchenden String nicht vorkommen.

nach unten nach oben Beispiel

<?PHP
$array = array('PHP', 'ASP', 'Perl', 'Java', 'XML');

for($y = 0; $y <= 4; $y++){
  $string = count_chars($array[$y],$y);

  switch($y){
    case 0:
      echo '<b>Parameter: ' . $y . '</b><br>';
      for($x = 0; $x <= 255; $x++){
        if($string[$x])
          echo 'Zeichen '. chr($x) . ' - Vorkommen: ' . $string[$x] . ' x<br>';
      }
    break;

    case 1:
      echo '<b>Parameter: ' . $y . '</b><br>';
      for($x = 0; $x <= 255; $x++){
        if($string[$x])
          echo 'Zeichen ' . chr($x) . ' - Vorkommen: ' . $string[$x] . ' x<br>';
      }
    break;

    case 2:
      echo '<b>Parameter: '.$y . '</b><br>';
        for($x = 0; $x <= 255; $x++){
          if(!$string[$x])
            echo chr($x);
        }
    break;

    case 3:
      echo '<b><br>Parameter: ' . $y . '</b><br>';
      echo $string . '<br>';
    break;

    case 4:
      echo '<b>Parameter: ' . $y . '</b><br>';
      echo $string . '<br>';
    break;
  }
}
?>

nach unten nach oben Ausgabe

Parameter: 0
Zeichen H - Vorkommen: 1 x
Zeichen P - Vorkommen: 2 x
Parameter: 1
Zeichen A - Vorkommen: 1 x
Zeichen P - Vorkommen: 1 x
Zeichen S - Vorkommen: 1 x
Parameter: 2
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ"…†‡ˆ‰Š‹ŒŽ''""o--˜™š›œžŸ ¡¢£¤¥¦§¨©ª"®¯°±²³´µ·¸¹º"¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
Parameter: 3
Jav
Parameter: 4
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKNOPQRSTUVWYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ"…†‡ˆ‰Š‹ŒŽ''""o--˜™š›œžŸ ¡¢£¤¥¦§¨©ª"®¯°±²³´µ·¸¹º"¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ

Zurück: convert_cyr_string

Weiter: crc32


Funktionsreferenz / String-Funktionen / crc32

Letztes Update der Funktion crc32: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

crc32

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int crc32 ( string str )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit crc32() kann man aus einem String (str) den polynomischen CRC32-Wert berechnen lassen. Diese zyklisch redundante polynomische Prüfsumme, welche eine Länge von 32 Bit besitzt, wird genutzt, um die Integrität von übermittelten Daten zu prüfen. Dadurch wird eine wesentlich bessere Datenübertragungssicherheit gewährleistet.

Siehe auch:

. md5()

nach unten nach oben Beispiel

<?PHP
$var = 'PHP 3/4 - Die Befehlsreferenz';
echo crc32($var);
?>

nach unten nach oben Ausgabe

1300494289

Zurück: count_chars

Weiter: crypt


Funktionsreferenz / String-Funktionen / crypt

Letztes Update der Funktion crypt: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

crypt

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string crypt ( string str [, string salt] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit crypt() verschlüsselt man eine Zeichenkette (str) unter Verwendung der Standard-DES-Verschlüsselung von UNIX. Der optionale Parameter (salt) hat zur Folge, dass ein 2-Zeichen-String (salt) als Basis der Verschlüsselung genommen wird. Bei dem erstellten und verschlüsselten String handelt es sich um einen Einwegschlüssel, welcher nicht mehr umkehrbar ist.

Auf Systemen, welche mehrere Verschlüsselungsarten mittels der crypt-Funktion anbieten, verrät der Wert der folgenden Konstanten, welche Arten zur Verfügung stehen:

. CRYPT_STD_DES - Standard DES-Schlüssel (salt = 2)
. CRYPT_EXT_DES - Erweiterter DES-Schlüssel (salt = 9)
. CRYPT_MD5 - MD5-Schlüssel (salt = 12)
. CRYPT_BLOWFISH - Erweiterter DES-Schlüssel (salt=16)

Siehe auch:

. md5()

nach unten nach oben Beispiel

<?PHP
echo crypt('PHP ¾ - Die Befehlsreferenz');
?>

nach unten nach oben Ausgabe

CbCJjFbkdhYeo

Zurück: crc32

Weiter: echo


Funktionsreferenz / String-Funktionen / echo

Letztes Update der Funktion echo: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

echo

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void echo ( string arg1 [, string ...] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit echo() werden alle Strings (arg1) ausgegeben. Da es sich bei echo() um keine
Funktion handelt, können Sie die Klammern einfach weglassen.

Siehe auch:

. print()
. printf()
. flush()

nach unten nach oben Beispiel

<?PHP
$string = 'PHP ¾ - Die Befehlsreferenz';
echo $string;
echo '<br>';
echo 'PHP ¾ <br>';
echo 'Auch über mehrere <br>Zeilen anwendbar';
?>

nach unten nach oben Ausgabe

PHP ¾ - Die Befehlsreferenz
PHP ¾
Auch über mehrere
Zeilen anwendbar

Zurück: crypt

Weiter: explode


Funktionsreferenz / String-Funktionen / explode

Letztes Update der Funktion explode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

explode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array explode ( string separator, string string [, int limit] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit explode() zerlegt man eine Zeichenkette (string) anhand eines vordefinierten Trennzeichens (separator). Der Parameter limit ist optional und bewirkt, dass nur maximal limit Elemente im Ergebnis-Array zurückgegeben werden; das letzte Element des Ergebnis-Arrays enthält dann den Rest des Strings. Alle Elemente des zuvor zerlegten Strings werden in einem Array zurückgegeben - der ursprüngliche String bleibt erhalten.

Siehe auch:

. split()
. implode()

nach unten nach oben Beispiel

<?PHP
$string = 'PHP ¾ - Die Befehlsreferenz';
echo $string;
echo '<br>';
$array = explode(' ', $string);

for($x = 0; $x < count($array); $x++){
  echo $array[$x];
}
?>

nach unten nach oben Ausgabe

PHP ¾ - Die Befehlsreferenz
PHP3/4-DieBefehlsreferenz

Zurück: echo

Weiter: get_html_translation_table


Funktionsreferenz / String-Funktionen / get_html_translation_table

Letztes Update der Funktion get_html_translation_table: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_html_translation_table

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_html_translation_table ( [int table [, int quote_style]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_html_translation_table() können Sie auf die intern genutzte Zeichentabelle zugreifen, welche von den Funktionen htmlspecialchars() und htmlentities() als Grundlage für die Zeichenformatierung genommen wird. So können Sie mit strtr() Sonderzeichen in ihre HTML-Code-Entsprechung umwandeln. Die Umkehrung erhalten Sie mit array_flip(), welche den ursprünglichen Zustand wiederherstellt.

Siehe auch:

. htmlspecialchars()
. htmlentities()
. strtr()
. array_flip()

nach unten nach oben Beispiel

<?PHP
$mod = get_html_translation_table(HTML_SPECIALCHARS);
$string = '20 < 21 & 22 > 20';
echo strtr($string, $mod);
echo '<br>';
$mod = array_flip($mod);
echo strtr($string, $mod);
?>

nach unten nach oben Ausgabe

20 < 21 & 22 > 20
20 < 21 & 22 > 20

Achtung - Dieses gehört nicht zur Ausgabe. Der HTML-Quellcode sieht für die obere Ausgabe wie folgt aus:

20 &lt; 21 &amp; 22 &gt; 20
20 < 21 & 22 > 20

Zurück: explode

Weiter: htmlentities


Funktionsreferenz / String-Funktionen / get_meta_tags

Letztes Update der Funktion get_meta_tags: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_meta_tags

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_meta_tags ( string filename [, int use_include_path] )

nach unten nach oben Version

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_meta_tags() kann man sich alle Metatags aus einer Datei (filename) oder von einer URL (filename) in ein Array ausgeben lassen. Die Durchforstung aller Metatags endet dabei erst dann, sobald der Bereich erreicht wurde. Der optionale Parameter use_include_path wird, sobald er aus 1 gesetzt wird, auch innerhalb des "Standard include path" nach der Datei suchen.

Siehe auch:

. htmlentities()
. urlencode()

nach unten nach oben Beispiel

<?PHP
//$tags = get_meta_tags('http://www.selfphp.de/');
$tags = get_meta_tags('selfphp.htm');
print_r($tags);
?>

nach unten nach oben Ausgabe

Array
(
  [description] => SELFPHP 1.2 - Bei Selfphp handelt...
  [keywords] => SELFPHP, PHP3 , PHP4
  [author] => Damir Enseleit, mail@selfphp3.de
  [dc_publisher] => Damir Enseleit, mail@selfphp3.de
  [dc_date] => 2001-07-15T09:20+02:00
  [dc_identifier] => http://www.selfphp.info/index.php
  [dc_language] => de
  [dc_rights] => editorial/copyright.php
  [self_firstdate] => 2001-07-15T09:30+02:00
  [self_version] => 1
  [self_pagetype] => Information
  [self_path] => .
)

Zurück: Sonstige-Funktionen

Weiter: URL-Funktionen


Funktionsreferenz / String-Funktionen / htmlentities

Letztes Update der Funktion htmlentities: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

htmlentities

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string htmlentities ( string string [, int quote_style [, string charset]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit htmlentities() werden alle Sonderzeichen und HTML-Tags in den dafür vorgesehenen HTML-Code umgewandelt. Der zweite Parameter (quote_style) ist optional und erst ab der Version 3.0.17 bzw. 4.0.3 verfügbar. Dieser bewirkt, dass Anführungszeichen mit berücksichtigt werden. Standardmäßig ist der Wert ENT_COMPAT aktiviert.

Mögliche Angaben für quote_style:

. ENT_COMPAT - Umwandlung von doppelten Anführungszeichen
. ENT_QUOTES - Umwandlung beider Arten (einfache und doppelte Anführungszeichen)
. ENT_NOQUOTES - Keine Anführungszeichen werden umgewandelt

Siehe auch:

. htmlspecialchars()
. nl2br()

nach unten nach oben Beispiel

<?PHP
$string = '<B>PHP ¾</B>&Die Befehlsrefenz';
echo htmlentities($string);
?>

nach unten nach oben Ausgabe

<B>PHP ¾</B>&Die Befehlsrefenz

Achtung - Dieses gehört nicht zur Ausgabe. Der HTML-Quellcode sieht für die obere Ausgabe wie folgt aus:

&lt;B&gt;PHP ¾&lt;/B&gt;&amp;Die Befehlsrefenz

Zurück: get_html_translation_table

Weiter: htmlspecialchars


Funktionsreferenz / String-Funktionen / htmlspecialchars

Letztes Update der Funktion htmlspecialchars: 23.03.2006 11:13:46

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

htmlspecialchars

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string htmlspecialchars ( string string [, int quote_style [, string charset]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit htmlspecialchars() werden bestimmte Sonderzeichen in den dafür vorgesehenen HTML-Code umgewandelt. Der zweite Parameter (quote_style) ist optional und erst ab der Version 3.0.17 bzw. 4.0.3 verfügbar. Dieser bewirkt, dass Anführungszeichen mit berücksichtigt werden. Standardmäßig ist der Wert ENT_COMPAT aktiviert. Falls Sie eine vollständige Umwandlung der HTML-Zeichen benötigen, so nutzen Sie die Funktion htmlentities().

Mögliche Angaben für quote_style:

. ENT_COMPAT - Umwandlung von doppelten Anführungszeichen
. ENT_QUOTES - Umwandlung beider Arten (einfache und doppelte Anführungszeichen)
. ENT_NOQUOTES - Keine Anführungszeichen werden umgewandelt

Folgende Umwandlung wird unterstützt:

. Einfache Anführungszeichen (') - aus dem einfachen Anführungszeichen wird ein '
. Doppelte Anführungszeichen (") - aus dem doppelten Anführungszeichen wird ein "
. Kaufmännisches Und (&) - aus dem kaufmännischen Und wird ein &
. Kleiner als (<) - aus dem kleiner als wird ein <
. Größer als (>) - aus dem größer als wird ein >

Siehe auch:

. htmlentities()
. nl2br()

nach unten nach oben Beispiel

<?PHP
$string = '\' " & < >';
echo htmlspecialchars($string, ENT_QUOTES);
?>

nach unten nach oben Ausgabe

' " & < >

Achtung - Dieses gehört nicht zur Ausgabe. Der HTML-Quellcode sieht für die obere Ausgabe wie folgt aus:

&#039; " &amp; &lt; &gt;

Zurück: htmlentities

Weiter: implode


Funktionsreferenz / String-Funktionen / implode

Letztes Update der Funktion implode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

implode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string implode ( string glue, array pieces )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit implode() fügt man ein Array (pieces) anhand eines Trennzeichens (glue) zu einem String zusammen. Dabei werden die Array-Elemente nacheinander an den String angehängt.

Siehe auch:

. explode()
. join()
. split()

nach unten nach oben Beispiel

<?PHP
$array = array('PHP', '3/4', '- Die Befehlsreferenz');
echo implode(' ', $array);
echo '<br>';
echo implode('', $array);
echo '<br>';
echo implode('#', $array);
?>

nach unten nach oben Ausgabe

PHP ¾ - Die Befehlsreferenz
PHP3/4- Die Befehlsreferenz
PHP#3/4#- Die Befehlsreferenz

Zurück: htmlspecialchars

Weiter: join


Funktionsreferenz / String-Funktionen / Übersicht String-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

String-Funktionen

Auf den folgenden Seiten werden die String-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Stringfunktionen": Praxisbuch öffnen

Die hier gelisteten String-Funktionen bestehen aus folgenden Seiten:

addcslashes
addslashes
bin2hex
chop
chr
chunk_split
convert_cyr_string
count_chars
crc32
crypt
echo
explode
get_html_translation_table
htmlentities
htmlspecialchars
implode
join
levenshtein
ltrim
md5
metaphone
nl2br
ord
parse_str
print
printf
quoted_printable_decode
quotemeta
rtrim
setlocale
similar_text
soundex
sprintf
sscanf
strcasecmp
strchr
strcmp
strcspn
stripcslashes
stripslashes
strip_tags
stristr
strlen
strnatcasecmp
strnatcmp
strncmp
strpos
strrchr
strrev
strrpos
strspn
strstr
strtok
strtolower
strtoupper
strtr
str_pad
str_repeat
str_replace
str_rot13
str_shuffle
str_split
str_word_count
substr
substr_count
substr_replace
trim
ucfirst
ucwords
wordwrap


Funktionsreferenz / String-Funktionen / join

Letztes Update der Funktion join: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

join

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string join ( string glue, array pieces )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit join() fügt man ein Array (pieces) anhand eines Trennzeichens (glue) zu einem String zusammen. Dabei werden die Array-Elemente nacheinander an den String angehängt.

Siehe auch:

. explode()
. implode()
. split()

nach unten nach oben Beispiel

<?PHP
$array = array('PHP', '3/4', '- Die Befehlsreferenz');
echo join(' ', $array);
echo '<br>';
echo join('', $array);
echo '<br>';
echo join('#', $array);
?>

nach unten nach oben Ausgabe

PHP ¾ - Die Befehlsreferenz
PHP3/4- Die Befehlsreferenz
PHP#3/4#- Die Befehlsreferenz

Zurück: implode

Weiter: levenshtein


Funktionsreferenz / String-Funktionen / levenshtein

Letztes Update der Funktion levenshtein: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

levenshtein

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int levenshtein ( string str1, string str2 )

nach unten nach oben Version

(PHP 3 >= 3.0.17, PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit levenshtein() kann man den Unterschied zweier Strings (str1 und str2) berechnen. Dabei wird berechnet, wie viele Vorgänge (Einfügen, Austauschen oder Löschen) benötigt werden, um aus dem ersten String (str1) den zweiten String (str2) zu erzeugen. Sollte einer der Strings länger als 255 Zeichen sein, so wird -1 zurückgegeben.

Siehe auch:

. soundex()
. similar_text()
. metaphone()

nach unten nach oben Beispiel

<?PHP
$var_1 = 'Müller';
$var_2 = 'Füller';
$var_3 = 'ranke';
$var_4 = 'schlanke';
echo 'Um aus ' . $var_1 . ' ' . $var_2 . ' zu machen, wird ' . levenshtein($var_1, $var_2) . ' Vorgang benötigt.<br>';
echo 'Um aus ' . $var_3 . ' ' . $var_4 . ' zu machen, werden ' . levenshtein($var_3, $var_4) . ' Vorgänge benötigt.';
?>

nach unten nach oben Ausgabe

Um aus Müller Füller zu machen, wird 1 Vorgang benötigt.
Um aus ranke schlanke zu machen, werden 3 Vorgänge benötigt.

Zurück: join

Weiter: ltrim


Funktionsreferenz / String-Funktionen / ltrim

Letztes Update der Funktion ltrim: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ltrim

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string ltrim ( string str [, string charlist] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ltrim() entfernt man Leerraum am Anfang einer Zeichenkette (str). Der String wird modifiziert zurückgegeben.

Folgende Zeichen gelten gelten als Leerraum:

. Das Leerzeichen
. \n
. \r
. \t
. \v
. {AusgabeReferenz}

Siehe auch:

. chop()
. rtrim()
. trim()

nach unten nach oben Beispiel

<?PHP
$string_a = 'PHP';
$string_b = ' ¾';
$string_c = ltrim($string_b);
echo $string_a . $string_b;
echo '<br>';
echo $string_a . $string_c;
?>

nach unten nach oben Ausgabe

PHP ¾
PHP3/4

Zurück: levenshtein

Weiter: md5


Funktionsreferenz / String-Funktionen / md5

Letztes Update der Funktion md5: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

md5

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string md5 ( string str [, bool raw_output] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit md5() verschlüsselt man einen String (str) nach der MD5-Methode. Diese Möglichkeit der Verschlüsselung wird häufig genutzt, um eindeutige Sessions zu generieren.

Siehe auch:

. crc32()

nach unten nach oben Beispiel

<?PHP
$string = 'PHP3/4';
echo md5($string);
?>

nach unten nach oben Ausgabe

8f12d9cbe7e46a556ca5361ba59be47d

Zurück: ltrim

Weiter: metaphone


Funktionsreferenz / String-Funktionen / metaphone

Letztes Update der Funktion metaphone: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

metaphone

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string metaphone ( string str [, int phones] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit metaphone() berechnet man den Metaphone-Schlüssel eines Strings (str). Dieser Schlüssel kann zum Vergleich zweier Strings genommen werden, um die Ähnlichkeit beider Zeichenketten zu überprüfen.

Diese Funktion erzielt wesentlich bessere Ergebnisse als soundex(), da sie die englische Aussprache berücksichtigt.

Siehe auch:

. soundex()

nach unten nach oben Beispiel

<?PHP
$var_1 = 'Eine gelbe Zitrone';
$var_2 = 'Citroen';
$var_3 = 'Visual Basic';
$var_4 = 'base';
//--> Unterseite
echo $var_1 . ': ' . metaphone($var_1);
echo '<br>';
echo $var_2 . ': ' . metaphone($var_2);
echo '<br>';
echo $var_3 . ': ' . metaphone($var_3);
echo '<br>';
echo $var_4 . ': ' . metaphone($var_4);
echo '<br>';

echo '<br>--------------------------------------------------------------<br><br>';

if(strpos(metaphone($var_1), metaphone($var_2)))
  echo $var_1 . ' und ' . $var_2 . ' zeigen Ähnlichkeiten';
else
  echo $var_1 . 'und' . $var_2 . 'zeigen keine Ähnlichkeiten';

echo '<br>';

if(strpos(metaphone($var_3), metaphone($var_4)))
  echo $var_3 . 'und' . $var_4 . 'zeigen Ähnlichkeiten';
else
  echo $var_3 . 'und' . $var_4 . 'zeigen keine Ähnlichkeiten';
?>

nach unten nach oben Ausgabe

Eine gelbe Zitrone: ENJLBSTRN
Citroen: STRN
Visual Basic: FSLBSK
base: BS

--------------------------------------------------------------

Eine gelbe Zitrone und Citroen zeigen Ähnlichkeiten
Visual Basic und base zeigen Ähnlichkeiten

Zurück: md5

Weiter: nl2br


Funktionsreferenz / String-Funktionen / nl2br

Letztes Update der Funktion nl2br: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

nl2br

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string nl2br ( string string )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit nl2br() kann man aus einem String (string) sämtliche Zeilenumbrüche in die HTML-Entsprechung
umwandeln lassen. So bleibt eine Textformatierung, die innerhalb eines Formulars vorgenommen wurde, weiterhin bestehen.

Siehe auch:

. htmlspecialchars()
. htmlentities()
. wordwrap()

nach unten nach oben Beispiel

<?PHP
$string = '1.Zeile' . "\n" . '2.Zeile' . "\n" . '3.Zeile';
echo nl2br($string);
?>

nach unten nach oben Ausgabe

1.Zeile
2.Zeile
3.Zeile

Zurück: metaphone

Weiter: ord


Funktionsreferenz / String-Funktionen / ord

Letztes Update der Funktion ord: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ord

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int ord ( string string )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ord() kann man sich den ASCII-Wert eines Zeichens (string) zurückgeben lassen.

Siehe auch:

. chr()

nach unten nach oben Beispiel

<?PHP
$string = 'm';
echo ord($string);
?>

nach unten nach oben Ausgabe

109

Zurück: nl2br

Weiter: parse_str


Funktionsreferenz / String-Funktionen / parse_str

Letztes Update der Funktion parse_str: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

parse_str

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void parse_str ( string str [, array arr] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit parse_str() durchsucht man eine Zeichenkette (str), als ob sie ein Query-String wäre und mittels GET übertragen wurde. Als Ergebnis erhält man wie bei einer GET-Übertragung die Variablen mit ihrem Inhalt. Der zweite Parameter (arr) ist optional und speichert die Variablenwerte als Elemente des Arrays.

nach unten nach oben Beispiel

<?PHP
$uri = 'befehl=parse_str&counter=112&id[]=12';
parse_str($uri);
echo $befehl;
echo '<br>';
echo $counter;
echo '<br>';
echo $id[0];
?>

nach unten nach oben Ausgabe

parse_str
112
12

Zurück: ord

Weiter: print


Funktionsreferenz / String-Funktionen / print

Letztes Update der Funktion print: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

print

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int print ( string arg )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit print() wird der String (arg) ausgegeben. Da es sich bei print() um keine Funktion handelt, können Sie die Klammern einfach weglassen.

Siehe auch:

. echo()
. printf()
. flush()

nach unten nach oben Beispiel

<?PHP
$string = 'PHP ¾ - Die Befehlsreferenz';
echo $string;
echo '<br>';
print 'PHP ¾ <br>';
print 'Auch über mehrere <br>Zeilen anwendbar';
?>

nach unten nach oben Ausgabe

PHP ¾ - Die Befehlsreferenz
PHP ¾
Auch über mehrere
Zeilen anwendbar

Zurück: parse_str

Weiter: printf


Funktionsreferenz / String-Funktionen / printf

Letztes Update der Funktion printf: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

printf

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int printf ( string format [, mixed args [, mixed ...]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit printf() kann man Parameter (args) nach einem bestimmten Muster (format) formatieren und ausgeben lassen. Dabei beschreibt das Muster genau, wo und wie die Parameter zu formatieren sind.

Mögliche Formatierungsangaben:

. % - Legt die zu formatierende Stelle fest.
. b - Der Wert wird als Integer interpretiert und binär ausgegeben.
. c - Der Wert wird als Integer interpretiert und als ASCII-Zeichen ausgegeben.
. d - Der Wert wird als Integer interpretiert und als Dezimalzahl ausgegeben.
. f - Der Wert wird als Double interpretiert und als Fließkommazahl ausgegeben.
. o - Der Wert wird als Integer interpretiert und als Oktalzahl ausgegeben.
. s - Der Wert wird als String interpretiert und als String ausgegeben.
. x - Der Wert wird als Integer interpretiert und als Hexadezimalwert in Kleinbuchstaben ausgegeben.
. X - Der Wert wird als Integer interpretiert und als Hexadezimalwert in Großbuchstaben ausgegeben.

nach unten nach oben Beispiel

<?PHP
echo sprintf('%b','169');
echo '<br>';
echo sprintf('%c','169');
echo '<br>';
echo sprintf('%06d','169');
echo '<br>';
echo sprintf('%01.2f','169');
echo '<br>';
echo sprintf('%o','169');
echo '<br>';
echo sprintf('%s','169');
echo '<br>';
echo sprintf('%x','169');
echo '<br>';
echo sprintf('%X','169');
?>

nach unten nach oben Ausgabe

10101001
©
000169
169.00
251
169
a9
A9

Zurück: print

Weiter: quoted_printable_decode


Funktionsreferenz / String-Funktionen / quoted_printable_decode

Letztes Update der Funktion quoted_printable_decode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

quoted_printable_decode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string quoted_printable_decode ( string str )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit quoted_printable_decode() konvertiert man einen "quoted-printable"-String (str) in einen 8-Bit-String. Diese Funktion ähnelt der Funktion imap_qprint(), allerdings benötigen Sie für die Funktion quoted_printable_decode() nicht das IMAP-Modul. Diese Funktion eignet sich besonders für die Konvertierung von E-Mails, welche mit dem ASCII-Zeichensatz von 128 Zeichen und 7 Bit erstellt wurden.

nach unten nach oben Beispiel

<?PHP
$var = 'Wäre ich ein Holzfäller, so müßte ich Bäume fällen.';
echo imap_8bit($var);
echo '<br>';
$var_neu = quoted_printable_decode ($var);
echo $var_neu;
?>

nach unten nach oben Ausgabe

W=E4re ich ein Holzf=E4ller, so m=FC=DFte ich B=E4ume f=E4llen.
Wäre ich ein Holzfäller, so müßte ich Bäume fällen.

Zurück: printf

Weiter: quotemeta


Funktionsreferenz / String-Funktionen / quotemeta

Letztes Update der Funktion quotemeta: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

quotemeta

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string quotemeta ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit quotemeta() versieht man alle Meta-Zeichen innerhalb eines Strings (str) mit einem Backslash (\).

Folgende Zeichen werden erkannt:

. . - Punkt
. \ - Backslash
. + - Pluszeichen
. * - Sternchen
. ? - Fragezeichen
. [] - eckige Klammern
. ^ - Dach
. () - runde Klammern
. $ - Dollar-Zeichen

Siehe auch:

. addslashes()
. htmlentities()
. htmlspecialchars()
. nl2br()
. stripslashes()

nach unten nach oben Beispiel

<?PHP
$var = '. + * ? ^ $ \ [ ] ( )';
echo quotemeta($var);
?>

nach unten nach oben Ausgabe

\. \+ \* \? \^ $ \ \[ \] \( \)

Zurück: quoted_printable_decode

Weiter: rtrim


Funktionsreferenz / String-Funktionen / rtrim

Letztes Update der Funktion rtrim: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rtrim

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string rtrim ( string str [, string charlist] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rtrim() kann man Leerzeichen oder Zeilenumbrüche am Ende eines Strings (str) entfernen.

Siehe auch:

. chop()
. ltrim()
. trim()

nach unten nach oben Beispiel

<?PHP
$string_a = "PHP ";
$string_b = "3/4  Die Befehlsreferenz";
$string_c = rtrim($string_a);
$string_d = rtrim($string_b);
$string_b = nl2br($string_b);
echo $string_a . $string_b;
echo "<br>";
echo $string_c . $string_d;
?>

nach unten nach oben Ausgabe

PHP ¾
Die Befehlsreferenz
PHP3/4 Die Befehlsreferenz

Zurück: quotemeta

Weiter: setlocale


Funktionsreferenz / String-Funktionen / setlocale

Letztes Update der Funktion setlocale: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

setlocale

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string setlocale ( mixed category, string locale [, string ...] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit setlocale() kann man die Lokalisierungseinstellungen der angegebenen Kategorie (category) auf ein bestimmtes Land (locale) setzen. Die Auswahl des Landes ist optional; falls der Wert local leer ist (""), so wird der Wert der entsprechenden Umgebungsvariablen genommen. Ist local "0", werden die Einstellungen nicht verändert, sondern der zuvor gesetzte Wert zurückgegeben.

Folgende Kategorien stehen zur Auswahl:

. LC_ALL - für alle Einstellungen
. LC_COLLATE - Vergleich von Strings (Zeichenketten)
. LC_CTYPE - Umwandlung von Strings (Zeichenkette), z.B. strtoupper()
. LC_MONETARY - für Währungsangaben
. LC_NUMERIC - für Dezimaltrennzeichen (numerische Operatoren)
. LC_TIME - für Datum- und Zeitformatierungen bei strftime()

Siehe auch:

. strftime()

nach unten nach oben Beispiel

<?PHP
setlocale('LC_TIME', 'de_DE');
echo strftime('%A, %e %B %Y, in Deutschland');
echo '<br>';
setlocale('LC_TIME', 'fr_CA');
echo strftime('%A, %e %B %Y , in Frankreich');
echo '<br>';
setlocale('LC_TIME', 'fi_FI');
echo strftime('%A, %e %B %Y , in Finnland');
echo '<br>';
setlocale('LC_TIME', 'it_IT');
echo strftime('%A, %e %B %Y , in Italien');
echo '<br>';
setlocale('LC_TIME', 'tr_TR');
echo strftime('%A, %e %B %Y , in Türkei');
echo '<br>';
setlocale('LC_TIME', 'nl_NL');
echo strftime('%A, %e %B %Y , in Niederlande');
echo '<br>';
setlocale ('LC_TIME', 'hu_HU');
echo strftime('%A, %e %B %Y , in Ungarn');
echo '<br>';
setlocale ('LC_TIME', 'pl_PL');
echo strftime('%A, %e %B %Y , in Polen');
echo '<br>';
?>

nach unten nach oben Ausgabe

Sonntag, 22 Juli 2001, in Deutschland
dimanche, 22 juillet 2001 , in Frankreich
sunnuntai, 22 heinäkuu 2001 , in Finnland
domenica, 22 luglio 2001 , in Italien
Pazar, 22 Temmuz 2001 , in Türkei
zondag, 22 juli 2001 , in Niederlande
VASÁRNAP, 22 JÚLIUS 2001 , in Ungarn
niedziela, 22 lipiec 2001 , in Polen

Zurück: rtrim

Weiter: similar_text


Funktionsreferenz / String-Funktionen / similar_text

Letztes Update der Funktion similar_text: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

similar_text

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int similar_text ( string first, string second [, float percent] )

nach unten nach oben Version

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit similar_text() kann man die Ähnlichkeit von zwei Strings (Zeichenketten) (first und second) berechnen. Wenn Sie im dritten Parameter eine Variable übergeben, so wird similar_text() darin einen Prozentwert zurückgeben. Im unteren Beispiel wurde die Prozentausgabe zusätzlich mit sprintf() formatiert.

Folgende Kategorien stehen zur Auswahl:

. printf()
. sprintf()

nach unten nach oben Beispiel

<?PHP
$var_1 = 'SELFPHP - Die Befehlsreferenz';
$var_2 = 'PHP 3/4 - Die Befehlsreferenz';
$menge = similar_text($var_1,$var_2);
echo 'Gefundene Übereinstimmungen: ' . $menge;
echo '<br>';
similar_text($var_1,$var_2,$prozent);
$prozent = sprintf('%01.2f', $prozent);
echo 'Gefundene Übereinstimmungen: ' . $prozent . '%';
?>

nach unten nach oben Ausgabe

Gefundene Übereinstimmungen: 25
Gefundene Übereinstimmungen: 86.21%

Zurück: setlocale

Weiter: soundex


Funktionsreferenz / String-Funktionen / soundex

Letztes Update der Funktion soundex: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

soundex

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string soundex ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit soundex() kann man die Laut-Ähnlichkeit eines Strings (str) berechnen lassen. Diese Funktion ist nützlich, wenn man nicht genau die Schreibweise eines gesuchten Strings kennt.

Siehe auch:

. metaphone()

nach unten nach oben Beispiel

<?PHP
$var = soundex('Befehlsreferenz');
echo '$var - Befehlsreferenz<br>';
$var = soundex('Befehlsreferenzen');
echo '$var - Befehlsreferenzen<br>';
$var = soundex('Befehl');
echo '$var - Befehl<br>';
$var = soundex('Referenz');
echo '$var - Referenz<br>';
?>

nach unten nach oben Ausgabe

B142 - Befehlsreferenz
B142 - Befehlsreferenzen
B140 - Befehl
R165 - Referenz

Zurück: similar_text

Weiter: sprintf


Funktionsreferenz / String-Funktionen / sprintf

Letztes Update der Funktion sprintf: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

sprintf

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string sprintf ( string format [, mixed args] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit sprintf() kann man Parameter (args) nach einem bestimmten Muster (format) formatieren lassen. Im Gegensatz zu printf() wird der String nicht sofort ausgegeben, sondern kann in einer Variablen gespeichert werden.

Der Musterstring format enthält Platzhalter, die mit einem Prozentzeichen eingeleitet werden. Die Funktion ersetzt diese Platzhalter durch die entsprechend formatierten Werte aus den nächsten Parametern. Die Platzhalter bestehen aus folgenden Elementen:

Ein optionales Füllzeichen, welches den String nach rechts auffüllt. Dabei kann das Füllzeichen eine Null (0) oder ein Leerzeichen sein. Andere Füllzeichen können durch Voranstellen eines einfachen Hochkommas (') definiert werden. Eine optionale Angabe der Textausrichtung. Voreingestellt ist rechts, bei links muss ein Bindestrich (-) angegeben werden. Ein optionaler Wert für die Längenangabe. Ein optionaler Wert für die Anzahl der Nachkommastellen - wird allerdings nur beim Typ "double" unterstützt. Eine Angabe des Typs (siehe unten)

Folgende Typangaben sind möglich:

. % - Es wird das Prozentzeichen eingesetzt
. b - Der Parameter wird als Integer interpretiert und binär ausgegeben.
. c - Der Parameter wird als Integer interpretiert und als ASCII-Zeichen ausgegeben.
. d - Der Parameter wird als Integer interpretiert und als Dezimalwert ausgegeben.
. f - Der Parameter wird als Double interpretiert und als Fließkommazahl ausgegeben.
. o - Der Parameter wird als Integer interpretiert und als Oktalzahl ausgegeben.
. s - Der Parameter wird als String interpretiert und als String ausgegeben.
. x - Der Parameter wird als Integer interpretiert und als Hexadezimalwert mit Kleinbuchstaben ausgegeben.
. X - Der Parameter wird als Integer interpretiert und als Hexadezimalwert mit Großbuchstaben ausgegeben.

Siehe auch:

. printf()
. sscanf()
. number_format()

nach unten nach oben Beispiel

<?PHP
$zahl_1 = 10.068;
$zahl_2 = 12.2;
$wert = $zahl_1 + $zahl_2;
echo $wert;
echo "<br>";
$wert = sprintf("%01.2f", $wert);
echo $wert;
?>

nach unten nach oben Ausgabe

22.268
22.27

Zurück: soundex

Weiter: sscanf


Funktionsreferenz / String-Funktionen / sscanf

Letztes Update der Funktion sscanf: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

sscanf

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed sscanf ( string str, string format [, string var1] )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit sscanf() kann man aus einem String (str) mittels der Formatierungsanweisung (format) Daten extrahieren. Die extrahierten Werte werden als Funktionsergebnis in Form eines Arrays zurückgegeben, es sei denn, dass eine ausreichende Anzahl Variablen (ab dem dritten Parameter) übergegeben wurde. Ist dies der Fall, so werden die extrahierten Daten in diese Variablen eingetragen.

Siehe auch:

. fscanf()
. printf()
. sprintf()

nach unten nach oben Beispiel

<?PHP
$artnum = 'Artikelnr.:738926738';
$preis = 'Preis: 99,00 DM';

$artnum = sscanf($artnum, 'Artikelnr.:%d');
$preis = sscanf($preis, '%s %s %s', $a, $b, $c);

echo 'Das Buch mit der ISBN-Nr. ' . $artnum[0] . ' kostet ' . $b . ' ' . $c;
?>

nach unten nach oben Ausgabe

Das Buch mit der ISBN-Nr. 738926738 kostet 99,00 DM

Zurück: sprintf

Weiter: strcasecmp


Funktionsreferenz / String-Funktionen / strcasecmp

Letztes Update der Funktion strcasecmp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strcasecmp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strcasecmp ( string str1, string str2 )

nach unten nach oben Version

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strcasecmp() kann man zwei Zeichenketten (str1 und str2) auf Binärbasis miteinander vergleichen. Achten Sie darauf, dass bei dem Vergleich nicht zwischen Groß- und Kleinschreibung unterschieden wird.

Folgende Werte werden zurückgegeben:

. < 0 - str1 ist kleiner als str2
. = 0 - str1 ist gleich str2
. > 0 - str1 ist größer als str2

Siehe auch:

. ereg()
. strcmp()
. substr()
. stristr()
. strstr()

nach unten nach oben Beispiel

<?PHP
$var_1 = 'php3 - Die Befehlsreferenz';
$var_2 = 'PHP3 - DIE BEFEHLSREFERENZ';
$wert = strcasecmp($var_1, $var_2);
if($wert < 0)
  echo '<b>' . $var_1 . '</b> ist kleiner als <b>' . $var_2 . '</b>';
elseif($wert == 0)
  echo '<b>' . $var_1 . '</b> ist gleich <b>' . $var_2 . '</b>';
elseif($wert > 0)
  echo '<b>' . $var_1 . '</b> ist größer als <b>' . $var_2 . '</b>';
?>

nach unten nach oben Ausgabe

php3 - Die Befehlsreferenz ist gleich PHP3 - DIE BEFEHLSREFERENZ

Zurück: sscanf

Weiter: strchr


Funktionsreferenz / String-Funktionen / strchr

Letztes Update der Funktion strchr: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strchr

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strchr ( string haystack, string needle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strchr() kann man innerhalb einer Zeichenkette (haystack) ein Zeichen oder einen String (needle) finden. Als Ergebnis gibt die Funktion die Zeichenkette ab dem ersten Vorkommen des gesuchten Zeichens bzw. des gesuchten Strings zurück.

Siehe auch:

. strstr()

nach unten nach oben Beispiel

<?PHP
$text = 'Heute ist ein wirklich schöner Tag.';
$suche = 'ein';
$var = strchr($text, $suche);
echo $var;
?>

nach unten nach oben Ausgabe

ein wirklich schöner Tag.

Zurück: strcasecmp

Weiter: strcmp


Funktionsreferenz / String-Funktionen / strcmp

Letztes Update der Funktion strcmp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strcmp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strcmp ( string str1, string str2 )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strcmp() kann man zwei Zeichenketten (str1 und str2) auf Binärbasis miteinander vergleichen. Achten Sie darauf, dass bei dem Vergleich zwischen Groß- und Kleinschreibung unterschieden wird.

Folgende Werte werden zurückgegeben:

. < 0 - str1 ist kleiner als str2
. = 0 - str1 ist gleich str2
. > 0 - str1 ist größer als str2

Siehe auch:

. ereg()
. strcasecmp()
. substr()
. stristr()
. strncmp()
. strstr()

nach unten nach oben Beispiel

<?PHP
$var_1 = 'php3';
$var_2 = 'PHP3';

$wert = strcmp($var_1, $var_2);

if($wert < 0)
echo '<b>' . $var_1' . </b> ist kleiner als <b>' . $var_2 . '</b>';
elseif($wert == 0)
echo '<b>' . $var_1 . '</b> ist gleich <b>' . $var_2 . '</b>';
elseif($wert > 0)
echo '<b>' . $var_1 . '</b> ist größer als <b>' . $var_2 . '</b>';
?>

nach unten nach oben Ausgabe

php3 ist größer als PHP3

Zurück: strchr

Weiter: strcspn


Funktionsreferenz / String-Funktionen / strcspn

Letztes Update der Funktion strcspn: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strcspn

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strcspn ( string str1, string str2 [, int start [, int length]] )

nach unten nach oben Version

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strcspn() kann man feststellen, wann in einem String (str1) das erste Mal ein Zeichen aus einer Menge von Zeichen (str2) vorkommt. Dabei wird die Länge bis zum ersten Auftreten eines der Zeichen als Integer-Wert zurückgegeben. Im unteren Beispiel wurde als Suchkriterium "abcdz" genommen. Das "z" kommt als erstes dieser Zeichen in dem String vor, deshalb ist das Ergebnis der Wert 18.

Siehe auch:

. strspn()

nach unten nach oben Beispiel

<?PHP
$var_1 = 'Die Befehlsreferenz';
$str = 'abcdz';
$wert = strcspn($var_1, $str);
echo $wert;
?>

nach unten nach oben Ausgabe

18

Zurück: strcmp

Weiter: stripcslashes


Funktionsreferenz / String-Funktionen / stripcslashes

Letztes Update der Funktion stripcslashes: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

stripcslashes

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string stripcslashes ( string str )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit stripcslashes() kann man Backslashes, die durch die Funktion addcslashes() vor zu schützende Zeichen gestellt wurden, wieder aus einem String (str) entfernen lassen.

Siehe auch:

. addcslashes()

nach unten nach oben Beispiel

<?PHP
$text = "#--## ©2001 by SELFPHP ##--#";
$str = addcslashes($text,"#-");
echo $text;
echo "<br>";
echo $str;
echo "<br>";
$str = stripcslashes($text);
echo $str;
?>

nach unten nach oben Ausgabe

#--## ©2001 by SELFPHP ##--#
\#\-\-\#\# ©2001 by SELFPHP \#\#\-\-\#
#--## ©2001 by SELFPHP ##--#

Zurück: strcspn

Weiter: stripslashes


Funktionsreferenz / String-Funktionen / stripslashes

Letztes Update der Funktion stripslashes: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

stripslashes

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string stripslashes ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit stripslashes() kann man Schrägstriche, die durch die Funktion addslashes() vor zu schützende Zeichen gestellt wurden, wieder aus einem String entfernen lassen.

Siehe auch:

. addslashes()

nach unten nach oben Beispiel

<?PHP
$text = '\'©2001\' by "SELFPHP"';
$str = addslashes($text);
echo $text;
echo '<br>';
echo $str;
echo '<br>';
$str = stripslashes($text);
echo $str;
?>

nach unten nach oben Ausgabe

'©2001' by "SELFPHP"
\'©2001\' by \"SELFPHP\"
'©2001' by "SELFPHP"

Zurück: stripcslashes

Weiter: strip_tags


Funktionsreferenz / String-Funktionen / strip_tags

Letztes Update der Funktion strip_tags: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strip_tags

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strip_tags ( string str [, string allowable_tags] )

nach unten nach oben Version

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strip_tags() kann man versuchen, innerhalb einer Zeichenkette (str) HTML- und PHP-Tags entfernen zu lassen. Mit dem optionalen Parameter (tags) können bestimmte HTML- und PHP-Tags als zulässig deklariert werden. Bei sinnlosen oder unvollständigen Tags werden Fehler ausgegeben.

nach unten nach oben Beispiel

<?PHP
$str = '<b>Bitte besuchen Sie auch folgende Seiten:</b> ';
$url = '<a href=http://www.selfphp3.de>SELFPHP</a><br>';
$text = $str . $url;
echo $text;
echo strip_tags($text);
?>

nach unten nach oben Ausgabe

Bitte besuchen Sie auch folgende Seiten: SELFPHP
Bitte besuchen Sie auch folgende Seiten: SELFPHP

Zurück: stripslashes

Weiter: stristr


Funktionsreferenz / String-Funktionen / stristr

Letztes Update der Funktion stristr: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

stristr

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string stristr ( string haystack, string needle )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit stristr() kann man innerhalb einer Zeichenkette (haystack) nach einem String oder einem einzelnen Zeichen (needle) suchen. Bei der Untersuchung wird Groß- und Kleinschreibung ignoriert. Als Ergebnis gibt die Funktion die Zeichenkette ab dem ersten Vorkommen des gesuchten Zeichens bzw. des gesuchten Strings zurück. Wird für needle eine Zahl angegeben, so sucht die Funktion das Zeichen mit dem entsprechenden ASCII-Wert. Wird kein Suchtreffer ermittelt, so gibt die Funktion false zurück. Im unteren ersten Beispiel wurde nach einer Zeichenkette gesucht, während bei dem zweiten zu untersuchenden String die Zahl 105 (entspricht in der ASCII-Tabelle dem Buchstaben i) als Suchkriterium angegeben wurde.

Siehe auch:

. strchr()
. strrchr()
. substr()
. ereg()

nach unten nach oben Beispiel

<?PHP
$text = 'Ab heute lerne ich PHP.';
$suche = 'LERNE';
$var = stristr($text, $suche);
echo $var;
echo '<br>';
$text_1 = 'Ab heute lerne ich PHP.';
$suche_1 = 105;
$var_1 = stristr($text_1, $suche_1);
echo $var_1;
?>

nach unten nach oben Ausgabe

lerne ich PHP.
ich PHP.

Zurück: strip_tags

Weiter: strlen


Funktionsreferenz / String-Funktionen / strlen

Letztes Update der Funktion strlen: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strlen

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strlen ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strlen() kann man sich die Länge einer Zeichenkette (str) zurückgeben lassen.

nach unten nach oben Beispiel

<?PHP
$text = 'SELFPHP - Die Befehlsreferenz';
$laenge = strlen($text);
echo $laenge;
?>

nach unten nach oben Ausgabe

29

Zurück: stristr

Weiter: strnatcasecmp


Funktionsreferenz / String-Funktionen / strnatcasecmp

Letztes Update der Funktion strnatcasecmp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strnatcasecmp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strnatcasecmp ( string str1, string str2 )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strnatcasecmp() kann man Zeichenketten (str1 und str2) nach einer natürlichen Sortierreihenfolge vergleichen (d.h. so, wie ein Mensch sortieren würde). Bei der natürlichen Sortierreihenfolge wird nicht unbedingt jedes Zeichen verglichen, wie der Computer bei einem String-Vergleich macht. So ist bei einem Vergleich die Zahl 10 "kleiner" als die Zahl 2, da jedes Zeichen miteinander verglichen wird und die ersten Zeichen nun mal die 1 und die 2 sind, wobei die Zahl 1 kleiner als 2 ist. Bei den Vergleichen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Folgende Werte werden zurückgegeben:

. < 0 - str1 ist kleiner als str2
. = 0 - str1 ist gleich str2
. > 0 - str1 ist größer als str2

Siehe auch:

. ereg()
. strcasecmp()
. substr()
. stristr()
. strcmp()
. strncmp()
. strnatcmp()
. strstr()

nach unten nach oben Beispiel

<?PHP
$array = array('Zahl 1', 'Zahl 3', 'ZAhl 10', 'Zahl 20');

$array_1 = $array;

usort($array, 'strnatcmp');

echo 'Natürliche Sortierung / Mit Groß- /Kleinschreibung:<br>';

for($x = 0; $x < count($array); $x++){
  echo $array[$x];
  echo '<br>';
}

usort($array, 'strnatcasecmp');

echo '<br>Natürliche Sortierung / Ohne Groß- /Kleinschreibung:<br>';

for($x = 0; $x < count($array_1); $x++){
  echo $array_1[$x];
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

Natürliche Sortierung / Mit Groß-/Kleinschreibung:
ZAhl 10
Zahl 1
Zahl 3
Zahl 20

Natürliche Sortierung / Ohne Groß-/Kleinschreibung:
Zahl 1
Zahl 3
ZAhl 10
Zahl 20

Zurück: strlen

Weiter: strnatcmp


Funktionsreferenz / String-Funktionen / strnatcmp

Letztes Update der Funktion strnatcmp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strnatcmp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strnatcmp ( string str1, string str2 )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strnatcmp() kann man Zeichenketten (str1 und str2) nach einer natürlichen Sortierreihenfolge vergleichen (d.h. so, wie ein Mensch sortieren würde). Bei der natürlichen Sortierreihenfolge wird nicht unbedingt jedes Zeichen verglichen, so wie das der Computer bei einem String-Vergleich macht. So ist bei einem Vergleich die Zahl 10 "kleiner" als die Zahl 2, da jedes Zeichen miteinander verglichen wird und die ersten Zeichen nun mal die 1 und die 2 sind, wobei die Zahl 1 kleiner als 2 ist. Bei den Vergleichen wird zwischen Groß- und Kleinschreibung unterschieden.

Folgende Werte werden zurückgegeben:

. < 0 - str1 ist kleiner als str2
. = 0 - str1 ist gleich str2
. > 0 - str1 ist größer als str2

Siehe auch:

. ereg()
. strcasecmp()
. substr()
. stristr()
. strcmp()
. strncmp()
. strnatcasecmp()
. strstr()

nach unten nach oben Beispiel

<?PHP
$array = array('Zahl 1', 'Zahl 3', 'ZAhl 10', 'Zahl 20');
$var_1 = 2;
$var_2 = 10;
$array_1 = $array;
usort($array, 'strcmp');
echo 'Normale Sortierung / Array:<br>';

for($x = 0; $x < count($array); $x++){
  echo $array[$x];
  echo '<br>';
}

usort($array, 'strnatcmp');
echo '<br>Natürliche Sortierung / Array:<br>';

for($x = 0; $x < count($array_1); $x++){
  echo $array_1[$x];
  echo "<br>";
}

$wert = strnatcmp($var_1, $var_2);
echo '<br>Natürliche Sortierung / Variable:<br>';

if ($wert < 0)
  echo '<b>' . $var_1 . '</b> ist kleiner als <b>' . $var_2 . '</b>';
elseif ($wert == 0)
  echo '<b>' . $var_1 . '</b> ist gleich <b>' . $var_2 . '</b>';
elseif ($wert > 0)
  echo '<b>' . $var_1 . '</b> ist größer als <b>' . $var_2 . '</b>';
?>

nach unten nach oben Ausgabe

Normale Sortierung / Array:
ZAhl 10
Zahl 1
Zahl 20
Zahl 3

Natürliche Sortierung / Array:
Zahl 1
Zahl 3
ZAhl 10
Zahl 20

Natürliche Sortierung / Variable:
2 ist kleiner als 10

Zurück: strnatcasecmp

Weiter: strncmp


Funktionsreferenz / String-Funktionen / strncmp

Letztes Update der Funktion strncmp: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strncmp

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strncmp ( string str1, string str2, int len )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strncmp() kann man zwei Zeichenketten (str1 und str2) auf Binärbasis miteinander vergleichen. Dabei kann man mit dem Parameter len die Länge der zu untersuchenden Zeichenkette bestimmen. Sollte einer der Strings kürzer sein als der angegebene Wert, so wird dessen Länge als Grundlage des Vergleichs genommen. Achten Sie darauf, dass bei dem Vergleich zwischen Groß- und Kleinschreibung unterschieden wird.

Folgende Werte werden zurückgegeben:

. < 0 - str1 ist kleiner als str2
. = 0 - str1 ist gleich str2
. > 0 - str1 ist größer als str2

Siehe auch:

. ereg()
. strcasecmp()
. substr()
. stristr()
. strcmp()
. strstr()

nach unten nach oben Beispiel

<?PHP
$var_1 = 'SELFPHP - PHP3/4';
$var_2 = 'SELF3/4';

$wert = strncmp($var_1, $var_2, 4);

if($wert == 0)
  echo '<b>' . $var_1 . '</b> ist gleich als <b>' . $var_2 . '</b>';
?>

nach unten nach oben Ausgabe

SELFPHP - PHP3/4 ist gleich als SELF3/4

Zurück: strnatcmp

Weiter: strpos


Funktionsreferenz / String-Funktionen / strpos

Letztes Update der Funktion strpos: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strpos

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strpos ( string haystack, string needle [, int offset] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strpos() kann man innerhalb einer Zeichenkette (haystack) das erste Vorkommen eines Zeichens (needle) oder einer Zeichenkette (needle) suchen. Als Rückgabewert der Funktion erhält man einen numerischen Wert, welcher der Position des Suchtreffers entspricht, sonst wird false zurückgegeben. Mit dem optionalen Parameter offset bestimmt man die Startposition, ab der gesucht werden soll. Falls needle kein String sein sollte, so wird der Inhalt als Integer-Wert interpretiert und das ASCII-Zeichen mit dem entsprechenden Wert gesucht.

Siehe auch:

. strrpos()
. strrchr()
. substr()
. stristr()
. strstr()

nach unten nach oben Beispiel

<?PHP
$text = 'PHP 3/4 - Die Befehlsreferenz';
$first = strpos($text, '4');
$second =  strpos($text, 'f', 18);
$third = strpos($text, 'Die');
echo $first;
echo '<br>';
echo $second;
echo '<br>';
echo $third;
?>

nach unten nach oben Ausgabe

6
23
10

Zurück: strncmp

Weiter: strrchr


Funktionsreferenz / String-Funktionen / strrchr

Letztes Update der Funktion strrchr: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strrchr

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strrchr ( string haystack, string needle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strrchr() kann man innerhalb einer Zeichenkette (haystack) das letzte Vorkommen eines Zeichens (needle) suchen und sich den restlichen Teil des Strings ab der letzten Position des zu suchenden Zeichens zurückgeben lassen. Enthält needle mehr als ein Zeichen, so wird nur das erste Zeichen als Suchmuster genommen. Als Rückgabewert der Funktion erhalten Sie den restlichen String (inkl. needle), sonst false. Falls needle kein String sein sollte, so wird der Inhalt als Integer-Wert interpretiert und das ASCII-Zeichen mit dem entsprechenden Wert gesucht.

Siehe auch:

. substr()
. stristr()
. strstr()

nach unten nach oben Beispiel

<?PHP
$text = 'PHP 3/4 - Die Befehlsreferenz';
$treffer = strrchr($text, 'r');
echo $treffer;
echo '<br>';
?>

nach unten nach oben Ausgabe

renz

Zurück: strpos

Weiter: strrev


Funktionsreferenz / String-Funktionen / strrev

Letztes Update der Funktion strrev: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strrev

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strrev ( string string )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strrev() kann man eine Zeichenkette (string) umdrehen. Die als Argument übergebene Variable bleibt dabei unberührt.

nach unten nach oben Beispiel

<?PHP
$text = 'PHP 3/4 - Die Befehlsreferenz';
echo $text;
echo '<br>';
echo strrev ($text);
echo '<br>';
echo $text;
echo '<br>';
?>

nach unten nach oben Ausgabe

PHP 3/4 - Die Befehlsreferenz
znereferslhefeB eiD - 4/3 PHP
PHP 3/4 - Die Befehlsreferenz

Zurück: strrchr

Weiter: strrpos


Funktionsreferenz / String-Funktionen / strrpos

Letztes Update der Funktion strrpos: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strrpos

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strrpos ( string haystack, string needle [, int offset] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strrpos() kann man innerhalb einer Zeichenkette (haystack) das letzte Vorkommen eines Zeichens (needle) finden. Als Rückgabewert der Funktion erhält man einen numerischen Wert, welcher der Position des Suchtreffers entspricht, sonst wird false zurückgegeben. Gibt man für needle mehr als ein Zeichen an, so wird nur das erste Zeichen berücksichtigt. Falls needle kein String sein sollte, so wird der Inhalt als Integer-Wert interpretiert und das ASCII-Zeichen mit dem entsprechenden Wert gesucht.

Siehe auch:

. strpos()
. strrchr()
. substr()
. stristr()
. strstr()

nach unten nach oben Beispiel

<?PHP
$text = 'PHP 3/4 - Die Befehlsreferenz';
$first = strrpos($text, 101);
$second = strrpos($text, 'f');
$third  = strrpos($text, 'ef');
echo $first;
echo '<br>';
echo $second;
echo '<br>';
echo $third ;
?>

nach unten nach oben Ausgabe

26
23
26

Zurück: strrev

Weiter: strspn


Funktionsreferenz / String-Funktionen / strspn

Letztes Update der Funktion strspn: 30.06.2006 07:34:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strspn

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int strspn ( string str1, string str2 [, int start [, int length]] )

nach unten nach oben Version

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strspn() kann man zählen, wann in der ersten Zeichenkette (str1) zum ersten Mal ein Zeichen vorkommt, welches nicht in der zweiten Zeichenkette (str2) enthalten ist. Dabei ist die Reihenfolge der Zeichen in der zweiten Zeichenkette (str2) bei der Suche nicht relevant. Im unteren Beispiel wurden die 8, die 1 und das Leerzeichen gefunden.

Siehe auch:

. strcspn()

nach unten nach oben Beispiel

<?PHP
echo strspn('81 Euro - das ist der Preis', '1234567890 ');
?>

nach unten nach oben Ausgabe

3

Zurück: strrpos

Weiter: strstr


Funktionsreferenz / String-Funktionen / strstr

Letztes Update der Funktion strstr: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strstr

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strstr ( string haystack, string needle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strstr() kann man innerhalb einer Zeichenkette (haystack) das erste Vorkommen eines Strings (needle) suchen. Bei der Überprüfung der Zeichenkette wird Groß- und Kleinschreibung berücksichtigt. Falls needle kein String sein sollte, so wird der Inhalt als Integer-Wert interpretiert und das ASCII-Zeichen mit dem entsprechenden Wert gesucht. Im Erfolgsfall gibt diese Funktion die Zeichenkette ab der Position des Suchtreffers bis zum Ende zurück, sonst false.

Siehe auch:

. stristr()
. strrchr()
. substr()
. ereg()

nach unten nach oben Beispiel

<?PHP
$text = 'PHP 3/4 - Die Befehlsreferenz';
$array = array(101, 'Die', 'Dis', 'f');

for($x = 0; $x < count($array); $x++){
  if(strstr($text, $array[$x]))
    echo strstr($text, $array[$x]) . '<br>';
  else
    echo $array[$x] . 'wurde nicht gefunden!<br>';
}
?>

nach unten nach oben Ausgabe

e Befehlsreferenz
Die Befehlsreferenz
Dis wurde nicht gefunden!
fehlsreferenz

Zurück: strspn

Weiter: strtok


Funktionsreferenz / String-Funktionen / strtok

Letztes Update der Funktion strtok: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strtok

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strtok ( string arg1, string arg2 )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strtok() kann man eine Zeichenkette (arg1) in ihre Bestandteile zerlegen lassen. Die Funktion bricht die Zeichenkette an den Stellen auseinander, an denen die Zeichenkette den String arg2 enthält. Sie brauchen die zu zerlegende Zeichenkette (arg1) nur beim ersten Aufruf zu übergeben. Alle nachfolgenden Aufrufe benötigen nur das Trennzeichen. Möchten Sie eine weitere Zerlegung mit einer anderen Zeichenkette, so rufen Sie die Funktion erneut mit beiden Parametern auf - strtok() wird dann neu initialisiert.

Siehe auch:

. split()
. explode()

nach unten nach oben Beispiel

<?PHP
$text = 'PHP 3/4 - Die Befehlsreferenz';
$treffer = strtok($text, ' ');
while($treffer){
  $x++;
  echo 'Treffer' . $x . ': ' . $treffer;
  $treffer = strtok(' ');
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

Treffer 1: PHP
Treffer 2: 3/4
Treffer 3: -
Treffer 4: Die
Treffer 5: Befehlsreferenz

Zurück: strstr

Weiter: strtolower


Funktionsreferenz / String-Funktionen / strtolower

Letztes Update der Funktion strtolower: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strtolower

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strtolower ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strtolower() kann man den Inhalt einer Zeichenkette (str) in Kleinbuchstaben umwandeln. Es ist darauf zu achten, dass die Interpretation der Buchstaben von den Ländereinstellungen abhängig sind. So kann es zum Beispiel sein, dass Umlaute in anderen Sprachen nicht bekannt sind und somit nicht umgewandelt werden.

Siehe auch:

. strtoupper()
. ucfirst()

nach unten nach oben Beispiel

<?PHP
$text = 'PHP 3/4 - Die Befehlsreferenz';
echo $text;
echo '<br>';
echo strtolower($text);
?>

nach unten nach oben Ausgabe

PHP 3/4 - Die Befehlsreferenz
php 3/4 - die befehlsreferenz

Zurück: strtok

Weiter: strtoupper


Funktionsreferenz / String-Funktionen / strtoupper

Letztes Update der Funktion strtoupper: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strtoupper

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strtoupper ( string string )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strtoupper() kann man den Inhalt einer Zeichenkette (str) in Großbuchstaben umwandeln. Es ist darauf zu achten, dass die Interpretation der Buchstaben von den Ländereinstellungen abhängig sind. So kann es zum Beispiel sein, dass Umlaute in anderen Sprachen nicht bekannt sind und somit nicht umgewandelt werden.

Siehe auch:

. strtolower()
. ucfirst()

nach unten nach oben Beispiel

<?PHP
$text = 'PHP 3/4 - Die Befehlsreferenz';
echo $text;
echo '<br>';
echo strtoupper($text);
?>

nach unten nach oben Ausgabe

PHP 3/4 - Die Befehlsreferenz
PHP 3/4 - DIE BEFEHLSREFERENZ

Zurück: strtolower

Weiter: strtr


Funktionsreferenz / String-Funktionen / strtr

Letztes Update der Funktion strtr: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strtr

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strtr ( string str, string from, string to )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strtr() kann man innerhalb eines Strings (str) bestimmte Zeichen austauschen lassen. Dabei werden die Zeichen from durch die Zeichen to ersetzt. Sollten from und to von unterschiedlicher Länge sein, so werden die überzähligen Zeichen einfach ignoriert. Diese Funktion kann seit der PHP-Version 4 mit zwei Parametern aufgerufen werden - der zweite Parameter muss dann ein Array sein, das die auszutauschenden Zeichen als Schlüssel enthält und die Ersatzzeichen als Werte (siehe unten stehendes Beispiel). Bei dieser Variante kann die Funktion nicht nur einzelne Zeichen ersetzen, sondern ganze Teilstrings (auch unterschiedlicher Länge).

Siehe auch:

. ereg_replace()

nach unten nach oben Beispiel

<?PHP
$vari = 'Wäre ich ein Holzfäller, so müßte ich Bäume fällen.';
echo $vari;
echo '<br>';
$array = array('ä' => 'ae', 'ü' => 'ue', 'ß' => 'ss');
$vari = strtr($vari, $array);
echo $vari;
echo '<br>';
echo strtr($vari, 'ae', 'ä');
?>

nach unten nach oben Ausgabe

Wäre ich ein Holzfäller, so müßte ich Bäume fällen.
Waere ich ein Holzfaeller, so muesste ich Baeume faellen.
Wäere ich ein Holzfäeller, so muesste ich Bäeume fäellen.

Zurück: strtoupper

Weiter: str_pad


Funktionsreferenz / String-Funktionen / str_pad

Letztes Update der Funktion str_pad: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

str_pad

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string str_pad ( string input, int pad_length [, string pad_string [, int pad_type]] )

nach unten nach oben Version

(PHP 4 >= 4.0.1, PHP 5)

nach unten nach oben Beschreibung

Mit str_pad() kann man einen String (input) auf eine bestimmte Länge (pad_length) auffüllen, indem man einen anderen String (pad_string) oder ein Zeichen so oft wie nötig anhängt. Wird pad_string nicht angegeben, so wird der String mit Leerzeichen gefüllt. Bei der Auffüllung des Strings können Sie bestimmen, nach welcher Seite (links, rechts oder beide) der String erweitert werden soll. Geben Sie keinen Wert für pad_type an, so wird der Default-Wert STR_PAD_RIGHT genommen. Ist die Länge (pad_length) kleiner als die String-Länge, so wird der Inhalt des Strings nicht verändert. Im unteren Beispiel hat der String $var ("SELFPHP - PHP3/4") eine Länge von 16 Zeichen. Mit der Längenangabe von 24 Zeichen wird nun der String um genau 8 Zeichen aufgefüllt.

Folgende Werte sind zulässig:

. STR_PAD_LEFT - Füllt den String nach links auf.
. STR_PAD_BOTH - Füllt den String nach beiden Seiten auf.
. STR_PAD_RIGHT - Füllt den String nach rechts auf (Default).

nach unten nach oben Beispiel

<?PHP
$var = 'SELFPHP - PHP3/4';
$right = str_pad($var, 24, '*');
$left = str_pad($var, 24, '*', STR_PAD_LEFT);
$both = str_pad($var, 24, '*', STR_PAD_BOTH);
echo $right;
echo '<br>';
echo $left;
echo '<br>';
echo $both;
?>

nach unten nach oben Ausgabe

SELFPHP - PHP3/4********
********SELFPHP - PHP3/4
****SELFPHP - PHP3/4****

Zurück: strtr

Weiter: str_repeat


Funktionsreferenz / String-Funktionen / str_repeat

Letztes Update der Funktion str_repeat: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

str_repeat

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string str_repeat ( string input, int multiplier )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit str_repeat() kann man einen String mit mehreren Kopien des Ausgangsstrings (input) erzeugen lassen. Dabei wird als Menge (multiplier) eine Zahl verlangt, die größer als Null (0) ist.

nach unten nach oben Beispiel

<?PHP
echo str_repeat('PHP3/4 ', 5);
?>

nach unten nach oben Ausgabe

PHP3/4 PHP3/4 PHP3/4 PHP3/4 PHP3/4

Zurück: str_pad

Weiter: str_replace


Funktionsreferenz / String-Funktionen / str_replace

Letztes Update der Funktion str_replace: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

str_replace

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed str_replace ( mixed search, mixed replace, mixed subject )

nach unten nach oben Version

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit str_replace() kann man in einer Zeichenkette (haystack) nach allen Vorkommen des Strings needle suchen und durch einen anderen String (str) ersetzen lassen. Bei der Funktion werden auf Binär-Basis die Vorkommen des Strings gesucht. Einfache Ersetzungen sollten Sie immer mit dieser Funktion realisieren. Für ausgefallenere Ersetzungen bietet sich ereg_replace() an.

Siehe auch:

. ereg_replace()
. strtr()

nach unten nach oben Beispiel

<?PHP
$vari = 'Wäre ich ein Holzfäller, so müßte ich Bäume fällen.';

echo $vari . '<br>';

$array_1 = array('ä', 'ü', 'ß');
$array_2 = array('ae', 'ue', 'ss');

for($x = 0; $x < 3; $x++){
  $vari = str_replace($array_1[$x], $array_2[$x], $vari);
}

echo $vari;

echo '<br>';

echo str_replace(' ', '_', $vari);
?>

nach unten nach oben Ausgabe

Wäre ich ein Holzfäller, so müßte ich Bäume fällen.
Waere ich ein Holzfaeller, so muesste ich Baeume faellen.
Waere_ich_ein_Holzfaeller,_so_muesste_ich_Baeume_faellen.

Zurück: str_repeat

Weiter: str_rot13


Funktionsreferenz / String-Funktionen / str_rot13

Letztes Update der Funktion str_rot13: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

str_rot13

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string str_rot13 ( string str )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Mit str_rot13() kann man in einen String str jeden Buchstaben um 13 Stellen nach rechts verschieben und sich den modifizierten String wieder ausgeben lassen. Das Ergebnis kann widerrum "decodiert" werden, indem man es durch die Funktion um 13 Stellen verschieben lässt (siehe Beispiel).

nach unten nach oben Beispiel

<?PHP
echo str_rot13('SELFPHP 5') . "\n";
echo str_rot13('FrysCUC 5');
?>

nach unten nach oben Ausgabe

FrysCUC 5
SELFPHP 5

Zurück: str_replace

Weiter: str_shuffle


Funktionsreferenz / String-Funktionen / str_shuffle

Letztes Update der Funktion str_shuffle: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

str_shuffle

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string str_shuffle ( string str )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Mit str_shuffle() kann man in einen String str durchwürfeln und sich diesen danach modifiziert ausgeben lassen.

Siehe auch:

. shuffle()
. rand()

nach unten nach oben Beispiel

<?PHP
$var= 'SELFPHP';
echo str_shuffle($var);
?>

nach unten nach oben Ausgabe

PlfSHeP

Zurück: str_rot13

Weiter: str_split


Funktionsreferenz / String-Funktionen / str_split

Letztes Update der Funktion str_split: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

str_split

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array str_split ( string string [, int split_length] )

nach unten nach oben Version

(PHP 5)

nach unten nach oben Beschreibung

Mit str_split() kann man ein String string in kleinere Stücke zerlegen. Standardmäßig wird der String nach jeder Stelle getrennt. Der so modifizierte String wird als Array wieder ausgegeben. Der optionale Parameter split_length sorgt dafür, das man die Trennmenge selbst bestimmen kann.

Siehe auch:

. chunk_split()
. preg_split()
. split()
. count_chars()
. str_word_count()

nach unten nach oben Beispiel

<?PHP
$var = 'SELFPHP5';

print_r(str_split($var));
print_r(str_split($var, 2));
?>

nach unten nach oben Ausgabe

Array
(
  [0] => S
  [1] => e
  [2] => l
  [3] => f
  [4] => P
  [5] => H
  [6] => P
  [7] => 5
)
Array
(
  [0] => Se
  [1] => lf
  [2] => PH
  [3] => P5
)

Zurück: str_shuffle

Weiter: str_word_count


Funktionsreferenz / String-Funktionen / str_word_count

Letztes Update der Funktion str_word_count: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

str_word_count

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed str_word_count ( string string [, int format] )

nach unten nach oben Version

(PHP 4 >= 4.3.0, PHP 5)

nach unten nach oben Beschreibung

Mit str_word_count() kann man innerhalb einer Zeichenkette string die vorhandenen Wörter zählen und sich diesen Wert ausgeben lassen. Setzt man den optionalen Parameter format auf 1, so erhalten Sie ein Array, wo alle Wörter getrennt implementiert sind. Wird der Parameter auf 2 gesetzt, so erhalten Sie neben dem Array noch zusaetzlich als Schlüssel die Stellen, wo jeweils das Wort beginnt. Bitte bedenken Sie, dass auch wie bei einem Array hier bei Null (0) zu zählen angefangen wird.

nach unten nach oben Beispiel

<?PHP
$var = 'PHP 5 - Die Befehlsreferenz';
echo str_word_count($var) . "\n";
print_r(str_word_count($var, 1));
print_r(str_word_count($var, 2));
?>

nach unten nach oben Ausgabe

3
Array
(
  [0] => PHP
  [1] => Die
  [2] => Befehlsreferenz
)
Array
(
  [0] => PHP
  [8] => Die
  [12] => Befehlsreferenz
)

Zurück: str_split

Weiter: substr


Funktionsreferenz / String-Funktionen / substr

Letztes Update der Funktion substr: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

substr

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string substr ( string string, int start [, int length] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit substr() können Sie sich einen Teilstring aus einem String (string) zurückgeben lassen. Dabei geben Sie die Position (start) innerhalb des Strings an, an der der Teilstring beginnen soll. Der optionale Parameter length bestimmt die Länge des Teilstrings. Sie können für die Parameter start und length positive oder negative Werte angeben. Bei positiven Werten wird von links nach rechts und bei negativen Werten von rechts nach links gezählt. Das erste Zeichen (wenn positiv) innerhalb des Strings hat die Position Null (siehe 3. Beispiel).

Beispiel 1: substr("1234567", 2)
Es wird alles ab der zweiten Position nach rechts bis zum Ende zurückgegeben - also 34567.

Beispiel 4: substr("1234567", -2)
Es wird alles vom "Ende-2" bis zum tatsächlichen Ende des Strings zurückgegeben - also 67.

Beispiel 5: substr("1234567", -2, 3)
Es werden 3 Zeichen ab der Position "Ende-2" zurückgegeben. Da aber in diesem String nur noch zwei Zeichen zur Verfügung stehen, werden nur diese zurückgegeben. Es wird nicht wieder am Anfang angefangen! - also 67.

Beispiel 8: substr("1234567", -6, -5)
Es wird der Teilstring von "Ende-6" bis zur Position "Ende-5" zurückgegeben - also 2.

Siehe auch:

. strrchr()
. ereg()

nach unten nach oben Beispiel

<?PHP
echo '1.) ' . substr('1234567', 2);
echo '<br>';
echo '2.) ' . substr('1234567', 2, 4);
echo '<br>';
echo '3.) ' . substr('1234567', 0, 7);
echo '<br>';
echo '4.) ' . substr('1234567', -2);
echo '<br>';
echo '5.) ' . substr('1234567', -2, 3);
echo '<br>';
echo '6.) ' . substr('1234567', 4, -4);
echo '<br>';
echo '7.) ' . substr('1234567', 2, -1);
echo '<br>';
echo '8.) ' . substr('1234567', -6, -5);
echo '<br>';
?>

nach unten nach oben Ausgabe

1.) 34567
2.) 3456
3.) 1234567
4.) 67
5.) 67
6.)
7.) 3456
8.) 2

Zurück: str_word_count

Weiter: substr_count


Funktionsreferenz / String-Funktionen / substr_count

Letztes Update der Funktion substr_count: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

substr_count

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int substr_count ( string haystack, string needle [, int offset [, int length]] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit substr_count() ermittelt man, wie oft in einem String (haystack) eine bestimmte Zeichenkette (needle) vorkommt. Als Rückgabewert dieser Funktion erhält man die Menge der Vorkommen im String.

nach unten nach oben Beispiel

<?PHP
$var = 'Wer steht dort hinter der Laterne?';
$treffer = substr_count($var, 'er');
echo $treffer;
?>

nach unten nach oben Ausgabe

4

Zurück: substr

Weiter: substr_replace


Funktionsreferenz / String-Funktionen / substr_replace

Letztes Update der Funktion substr_replace: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

substr_replace

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed substr_replace ( mixed string, string replacement, int start [, int length] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit substr_replace() kann man einen Teil eines Strings (string) durch eine andere Zeichenkette (replacement) ersetzen lassen. Dabei gibt man die Position (start) an, ab wo der String ersetzt werden soll - bei einem positiven Wert wird von links und bei einem negativen Wert von rechts an ersetzt. Mit dem optionalen Parameter (length) ist es möglich, einen Bereich innerhalb des Strings zu ersetzen.

Siehe auch:

. str_replace()
. substr()

nach unten nach oben Beispiel

<?PHP
$var = '1234567890';
echo $var . '<br>';
echo substr_replace($var, 'ersetze alles', 0);
echo '<br>';
echo substr_replace($var, 'Am Anfang', 0, 0);
echo '<br>';
echo substr_replace($var, 'Am Ende', 10, 10);
echo '<br>';
echo substr_replace($var, '" Ersetzen von 6 bis -2 "', 6, -2);
echo '<br>';
echo substr_replace($var, '" Ersetzen von -9 bis -1 "', -9, -1);
echo '<br>';
echo substr_replace($var, '', 8, 10);
?>

nach unten nach oben Ausgabe

1234567890
ersetze alles
Am Anfang1234567890
1234567890Am Ende
123456" Ersetzen von 6 bis -2 "90
1" Ersetzen von -9 bis -1 "0
12345678

Zurück: substr_count

Weiter: trim


Funktionsreferenz / String-Funktionen / trim

Letztes Update der Funktion trim: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

trim

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string trim ( string str [, string charlist] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit trim() kann man innerhalb eines Strings (str) überflüssige Zeichen am Anfang und Ende entfernen lassen.

Überflüssige Zeichen sind:

. \n
. \r
. \t
. \v
. {AusgabeReferenz}
. das Leerzeichen

Siehe auch:

. chop()
. ltrim()
. rtrim()

nach unten nach oben Beispiel

<?PHP
$var_1 =  'Dies ';
$var_2 =  '     ist ein     ';
$var_3 =  ' Test';
echo $var_1 . $var_2 . $var_3;
$var_4 = trim ($var_2);
echo '<br>' . $var_1 . $var_4 . $var_3;
?>

nach unten nach oben Ausgabe

Dies      ist ein      Test
Dies ist ein Test

Achtung: Die Wirkungsweise der Funktion sehen Sie, wenn Sie sich den Quellcode der HTML-Datei anschauen.

Zurück: substr_replace

Weiter: ucfirst


Funktionsreferenz / String-Funktionen / ucfirst

Letztes Update der Funktion ucfirst: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ucfirst

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string ucfirst ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ucfirst() kann man innerhalb eine Strings (str) den ersten Buchstaben groß schreiben lassen, wobei das Zeichen ein Bestandteil des Alphabets sein muss. Diese Funktion ist abhängig von dem Wert in "locale". Da in manchen Sprachen Umlaute nicht existieren, werden diese nicht immer verändert.

Siehe auch:

. strtoupper()
. strtolower()

nach unten nach oben Beispiel

<?PHP
$var = 'hier lerne ich PHP';
$var = ucfirst($var);
echo $var;
?>

nach unten nach oben Ausgabe

Hier lerne ich PHP

Zurück: trim

Weiter: ucwords


Funktionsreferenz / String-Funktionen / ucwords

Letztes Update der Funktion ucwords: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

ucwords

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string ucwords ( string str )

nach unten nach oben Version

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit ucwords() kann man innerhalb eines Strings (str) den ersten Buchstaben aller Wörter groß schreiben lassen, wobei das erste Zeichen des Wortes ein Bestandteil des Alphabets sein muss. Diese Funktion ist abhängig von dem Wert in "locale". Da in manchen Sprachen Umlaute nicht existieren, werden diese nicht immer verändert.

Siehe auch:

. strtoupper()
. strtolower()
. ucfirst()

nach unten nach oben Beispiel

<?PHP
$var = 'hier lerne ich php';
$var = ucwords($var);
echo $var;
?>

nach unten nach oben Ausgabe

Hier Lerne Ich Php

Zurück: ucfirst

Weiter: wordwrap


Funktionsreferenz / String-Funktionen / wordwrap

Letztes Update der Funktion wordwrap: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

wordwrap

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

string wordwrap ( string str [, int width [, string break [, bool cut]]] )

nach unten nach oben Version

(PHP 4 >= 4.0.2, PHP 5)

nach unten nach oben Beschreibung

Mit wordwrap() kann man innerhalb eines Strings (str) unter Angabe des optionalen Trennzeichens (break) nach einer bestimmten Länge (width) umbrechen. Werden die optionalen Parameter width und break nicht angegeben, so umbricht diese Funktion automatisch nach 75 Zeichen mit dem Trennzeichen "\n" die Zeichenkette. Mit dem optionalen Parameter cut kann man erzwingen (wenn er auf 1 gesetzt wird), dass exakt nach der vorgegebenen Länge (auch wenn das Wort länger ist) umbrochen wird (siehe zweites Beispiel).

Siehe auch:

. nl2br()

nach unten nach oben Beispiel 1

<?PHP
$var = 'Diese Funktion bricht ab einer gewissen Länge diesen Satz um';
$neuertext = wordwrap($var, 15);
echo $neuertext;
?>

nach unten nach oben Ausgabe 1

Achtung: Die Ausgabe wurde im Quellcode der HTML-Datei dargestellt, da sonst die Wirkungsweise nicht gezeigt werden kann. Als Umbruch der Zeilen wurde durch die Funktion ein Zeilenvorschub (\n) genutzt.

Diese Funktion
bricht ab einer
gewissen Länge
diesen Satz um

nach unten nach oben Beispiel 2

<?PHP
$var1 = 'Diese Funktion bricht ab einer gewissen Länge diesen Satz um';
$var1 = wordwrap($var1, 7, '<br>', 1);
echo $var1;
?>

nach unten nach oben Ausgabe 2

Diese
Funktio
n
bricht
ab
einer
gewisse
n Länge
diesen
Satz
um

Zurück: ucwords

Weiter: URL-Funktionen


Funktionsreferenz / URL-Funktionen / base64_decode

Letztes Update der Funktion base64_decode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

base64_decode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string base64_decode ( string encoded_data )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit base64_decode() kann man eine Zeichenkette (encoded_data) vom Base64-Code in ein lesbares 8-Bit-Zeichen-Format konvertieren. Diese Funktion ist sehr nützlich, um wieder lesbare Daten zu bekommen, nachdem Text für die Datenübertragung in E-Mails (da diese oftmals 8-Bit-Zeichen nicht einwandfrei übertragen) konvertiert wurde.

Siehe auch:

. base64_encode()

nach unten nach oben Beispiel

<?PHP
$string = 'Erst einmal diese Zeichenkette unwandeln';
echo '<b>Ursprüngliche Zeichenkette:</b><br>';
echo $string . '<br><br>';

echo '<b>Base64-kodierte Zeichenkette:</b><br>';
$code = base64_encode($string);
echo $code . '<br><br>';

$code_1 = base64_decode($code);
echo '<b>Base64-dekodierte Zeichenkette:</b><br>';
echo $code_1 . '<br>';
?>

nach unten nach oben Ausgabe

Ursprüngliche Zeichenkette:
Erst einmal diese Zeichenkette unwandeln

Base64-kodierte Zeichenkette:
RXJzdCBlaW5tYWwgZGllc2UgWmVpY2hlbmtldHRlIHVud2FuZGVsbg==

Base64-dekodierte Zeichenkette:
Erst einmal diese Zeichenkette unwandeln

Zurück: String-Funktionen

Weiter: base64_encode


Funktionsreferenz / URL-Funktionen / base64_encode

Letztes Update der Funktion base64_encode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

base64_encode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Größenveränderungen Größenveränderungen | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string base64_encode ( string data )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit base64_encode() kann man eine Zeichenkette (data) von einem lesbaren 8-Bit-Zeichen-Format in einen Base64-Code konvertieren. Bei der Konvertierung zu einem Base64-Code benötigen die Daten gegenüber der ursprünglichen Größe ca. 33% mehr Speicher, können aber sehr gut komprimiert werden. Diese Funktion ist sehr nützlich für Datenübertragungen (z.B. E-Mails), welche das 8-Bit-Zeichen-Format nicht einwandfrei übertragen können.

Bei der unten stehenden Tabelle können Sie in etwa die Größenveränderungen sehen. Es wurde eine Zeichenkette mit 1055 Zeichen erzeugt und jeweils komprimiert.

Siehe auch:

. base64_decode()

nach unten nach oben Größenveränderungen

-----------------------------------------------------------
|        Format       | Original | Komprimiert | Speicher |
-----------------------------------------------------------
| 8Bit-Zeichen-Format | 1,03 KB  | 691 Byte    | 100%     |
-----------------------------------------------------------
| Base64-Code         | 1,40 KB  | 958 Byte    | 136%     |
-----------------------------------------------------------

nach unten nach oben Beispiel

<?PHP
$string = 'Erst einmal diese Zeichenkette unwandeln';
echo '<b>Ursprüngliche Zeichenkette:</b><br>';
echo $string . '<br><br>';

echo '<b>Base64-kodierte Zeichenkette:</b><br>';
$code = base64_encode($string);
echo $code . '<br><br>';

$code_1 = base64_decode($code);
echo '<b>Base64-dekodierte Zeichenkette:</b><br>';
echo $code_1 . '<br>';
?>

nach unten nach oben Ausgabe

Ursprüngliche Zeichenkette:
Erst einmal diese Zeichenkette unwandeln

Base64-kodierte Zeichenkette:
RXJzdCBlaW5tYWwgZGllc2UgWmVpY2hlbmtldHRlIHVud2FuZGVsbg==

Base64-dekodierte Zeichenkette:
Erst einmal diese Zeichenkette unwandeln

Zurück: base64_decode

Weiter: get_headers


Funktionsreferenz / URL-Funktionen / get_headers

Letztes Update der Funktion get_headers: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_headers

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_headers ( string url [, int format] )

nach unten nach oben Version

(PHP 5)

nach unten nach oben Beschreibung

Mit get_headers() kann man sich alle übermittelten Headerwerte, die von einem
Server nach einem HTTP-Request gesendet werden, in einem Array ausgeben lassen.

nach unten nach oben Beispiel

<?PHP
$array = get_headers('http://www.selfphp.de');
print_r($array);
?>

nach unten nach oben Ausgabe

Array
(
  [0] => HTTP/1.1 200 OK
  [1] => Date: Sat, 10 Jul 2004 12:20:16 GMT
  [2] => Server: Apache/1.3.29 (Unix)
  [3] => X-Powered-By: PHP/4.3.6
  [4] => Connection: close
  [5] => Content-Type: text/html
)

Zurück: base64_encode

Weiter: get_meta_tags


Funktionsreferenz / URL-Funktionen / get_meta_tags

Letztes Update der Funktion get_meta_tags: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

get_meta_tags

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array get_meta_tags ( string filename [, int use_include_path] )

nach unten nach oben Version

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit get_meta_tags() kann man sich alle Metatags aus einer Datei (filename) oder von einer URL (filename) in ein Array ausgeben lassen. Die Durchforstung aller Metatags endet dabei erst dann, sobald der Bereich erreicht wurde. Der optionale Parameter use_include_path wird, sobald er aus 1 gesetzt wird, auch innerhalb des "Standard include path" nach der Datei suchen.

Siehe auch:

. htmlentities()
. urlencode()

nach unten nach oben Beispiel

<?PHP
//$tags = get_meta_tags('http://www.selfphp.de/');
$tags = get_meta_tags('selfphp.htm');
print_r($tags);
?>

nach unten nach oben Ausgabe

Array
(
  [description] => SELFPHP 1.2 - Bei Selfphp handelt...
  [keywords] => SELFPHP, PHP3 , PHP4
  [author] => Damir Enseleit, mail@selfphp3.de
  [dc_publisher] => Damir Enseleit, mail@selfphp3.de
  [dc_date] => 2001-07-15T09:20+02:00
  [dc_identifier] => http://www.selfphp.info/index.php
  [dc_language] => de
  [dc_rights] => editorial/copyright.php
  [self_firstdate] => 2001-07-15T09:30+02:00
  [self_version] => 1
  [self_pagetype] => Information
  [self_path] => .
)

Zurück: get_headers

Weiter: http_build_query


Funktionsreferenz / URL-Funktionen / http_build_query

Letztes Update der Funktion http_build_query: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

http_build_query

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string http_build_query ( array formdata [, string numeric_prefix] )

nach unten nach oben Version

(PHP 5)

nach unten nach oben Beschreibung

Mit http_build_query() kann man sich anhand eines Objekts oder assoziativen Arrays (formdate) eine kodierte URL erstellen lassen. Gibt man den optionalen Parameter numeric_prefix an, so wird jedem nicht explizit zugewiesenen Wert ein Prefix vorangestellt.(siehe Beispiel $uriNew).

Siehe auch:

. parse_str()
. parse_url()
. urlencode()
. array_walk()

nach unten nach oben Beispiel

<?PHP
class Login{
    var $site;
    var $user;

    function Login()
    {
        $this->site = 'SELFPHP';
        $this->user = 'Damir';
    }
}

$objekt = new Login();

$uri = array('site'=>'SELFPHP',
             'user'=>'Damir',
             'passwd'=>'Passwort',
             'text'=>'Über SELFPHP');

$uriNew = array('SELFPHP','Damir',
                'passwd'=>'Passwort',
                'text'=>'Über SELFPHP');

echo http_build_query($uri);

echo "\n\n";

echo http_build_query($uriNew, 'var_');

echo "\n\n";

echo http_build_query($objekt);
?>

nach unten nach oben Ausgabe

site=SELFPHP&user=Damir&passwd=Passwort&text=%DCber+SELFPHP

var_0=SELFPHP&var_1=Damir&passwd=Passwort&text=%DCber+SELFPHP

site=SELFPHP&user=Damir

Zurück: get_meta_tags

Weiter: parse_url


Funktionsreferenz / URL-Funktionen / Übersicht URL-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

URL-Funktionen

Auf den folgenden Seiten werden die URL-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Daten via URL": Praxisbuch öffnen

Die hier gelisteten URL-Funktionen bestehen aus folgenden Seiten:

base64_decode
base64_encode
get_headers
get_meta_tags
http_build_query
parse_url
rawurldecode
rawurlencode
urldecode
urlencode


Funktionsreferenz / URL-Funktionen / parse_url

Letztes Update der Funktion parse_url: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

parse_url

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array parse_url ( string url )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit parse_url() kann man eine URL (url) analysieren und in ihre Bestandteile aufteilen. Als Rückgabewert dieser Funktion erhalten Sie ein assoziatives Array mit den einzelnen Bestandteilen der URL.

Folgende Elemente enthält das Array:

. scheme - Protoll der Anfrage (z.B http, ftp etc.)
. host - Name (z.B. www.selfphp3.de)
. port - Anschlussnummer (z.B. 9000)
. user - Username (für Logins)
. pass - Passwort (für Logins)
. path - Pfad zur Datei
. query - Anfrage an eine Datei
. fragment - Sprungziel (Anker) innerhalb einer Datei

nach unten nach oben Beispiel

<?PHP
$url = 'http://admin:php@www.selfphp3.de:9000/php.php?function=pdf#pdf_arc';

echo '<b>Ursprüngliche URL:</b><br>';

echo $url . '<br><br>';

echo '<b>Nach den Bestandteilen zerlegt:</b><br>';
$url_array = parse_url($url);

while(list($key, $val) = each($url_array)){
  echo $key . ' - ' . $val;
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

Ursprüngliche URL:
http://admin:php@www.selfphp3.de:9000/php.php?function=pdf#pdf_arc

Nach den Bestandteilen zerlegt:
scheme - http
host - www.selfphp3.de
port - 9000
user - admin
pass - php
path - /php.php
query - function=pdf
fragment - pdf_arc

Zurück: http_build_query

Weiter: rawurldecode


Funktionsreferenz / URL-Funktionen / rawurldecode

Letztes Update der Funktion rawurldecode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rawurldecode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string rawurldecode ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rawurldecode() kann man einen String (str), welcher über eine URL übermittelt oder mit der Funktion rawurlencode() kodiert wurde, wieder dekodieren. Bei der Dekodierung werden alle Prozentzeichen(%), gefolgt von zwei Hexadezimalzeichen, wieder in ihre alphanumerische Entsprechung umgewandelt.

Folgende Sonderzeichen werden nicht dekodiert:

. - - Bindestrich
. _ - Unterstrich
. . - Punkt

Siehe auch:

. rawurlencode()
. urlencode()

nach unten nach oben Beispiel

<?PHP
$array = array('Der Wald ist voller Bäume',
               'PHP 3/4',
               '- §201_2b.1 -');

echo '<b>Ursprüngliche Zeichenkette:</b><br>';

for($x = 0; $x < count($array); $x++){
  echo $array[$x];
  echo '<br>';
  $array_new[$x] = rawurlencode($array[$x]);
}

echo '<br>';

echo '<b>Kodierte Zeichenkette:</b><br>';

for($x = 0; $x < count($array_new); $x++){
  echo $array_new[$x];
  echo '<br>';
}
echo '<br>';

echo '<b>Dekodierte Zeichenkette:</b><br>';

for($x = 0; $x < count($array_new); $x++){
  echo rawurldecode($array_new[$x]);
  echo "<br>";
}
?>

nach unten nach oben Ausgabe

Ursprüngliche Zeichenkette:
Der Wald ist voller Bäume
PHP 3/4
- §201_2b.1 -

Kodierte Zeichenkette:
Der%20Wald%20ist%20voller%20B%E4ume
PHP%203%2F4
-%20%A7201_2b.1%20-

Dekodierte Zeichenkette:
Der Wald ist voller Bäume
PHP 3/4
- §201_2b.1 -

Zurück: parse_url

Weiter: rawurlencode


Funktionsreferenz / URL-Funktionen / rawurlencode

Letztes Update der Funktion rawurlencode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rawurlencode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string rawurlencode ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rawurlencode() kann man einen String (str) für die Übermittlung mittels einer URL kodieren. Dabei werden alle Sonderzeichen nach einem speziellen Muster kodiert. Dieses ist oftmals sehr nützlich, wenn Sie Daten übertragen möchten, welche als spezielle URL-Trennzeichen angesehen werden. Bei der Kodierung werden alle Sonderzeichen durch das Prozentzeichen(%) gefolgt von zwei Hexadezimalzeichen kodiert.

Folgende Sonderzeichen werden nicht kodiert:

. - - Bindestrich
. _ - Unterstrich
. . - Punkt

Siehe auch:

. urldecode()
. rawurldecode()

nach unten nach oben Beispiel

<?PHP
$var = 'Der Wald ist voller Bäume';
echo $var . '<br>';
$var_encode = rawurlencode($var);
echo $var_encode . '<br>';
echo '<a href="index.php?text=' . $var_encode . '">Senden</a>';
?>

nach unten nach oben Ausgabe

Der Wald ist voller Bäume
Der%20Wald%20ist%20voller%20B%E4ume
Senden

Zurück: rawurldecode

Weiter: urldecode


Funktionsreferenz / URL-Funktionen / urldecode

Letztes Update der Funktion urldecode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

urldecode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string urldecode ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit urldecode() kann man einen String (str), der über eine URL übermittelt oder mit der Funktion urlencode() kodiert wurde, wieder dekodieren. Bei der Dekodierung werden alle Prozentzeichen(%), gefolgt von zwei Hexzeichen, wieder in ihre alphanumerische Entsprechung umgewandelt. Weiterhin werden alle Pluszeichen (+) in Leerzeichen umgewandelt.

Folgende alphanumerischen Zeichen werden nicht dekodiert:

. - - Bindestrich
. _ - Unterstrich
. . - Punkt

Siehe auch:

. urlencode()
. rawurlencode()

nach unten nach oben Beispiel

<?PHP
$array = array('Der Wald ist voller Bäume',
               'PHP 3/4',
               '- §201_2b.1 -');

echo '<b>Ursprüngliche Zeichenkette:</b><br>';

for($x = 0; $x < count($array); $x++){
  echo $array[$x];
  echo '<br>';
  $array_new[$x] = urlencode($array[$x]);
}

echo '<br>';
echo '<b>Kodierte Zeichenkette:</b><br>';

for($x = 0; $x < count($array_new); $x++){
  echo $array_new[$x];
  echo '<br>';
}

echo '<br>';
echo '<b>Dekodierte Zeichenkette:</b><br>';

for($x = 0; $x < count($array_new); $x++){
  echo urldecode($array_new[$x]);
  echo '<br>';
}
?>

nach unten nach oben Ausgabe

Ursprüngliche Zeichenkette:
Der Wald ist voller Bäume
PHP 3/4
- §201_2b.1 -

Kodierte Zeichenkette:
Der+Wald+ist+voller+B%E4ume
PHP+3%2F4
-+%A7201_2b.1+-

Dekodierte Zeichenkette:
Der Wald ist voller Bäume
PHP 3/4
- §201_2b.1 -

Zurück: rawurlencode

Weiter: urlencode


Funktionsreferenz / URL-Funktionen / urlencode

Letztes Update der Funktion urlencode: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

urlencode

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string urlencode ( string str )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit urlencode() kann man einen String (str) für die Übermittlung per URL kodieren. Dabei werden alle alphanumerischen Zeichen nach einem speziellen Muster kodiert. Bei der Kodierung werden alle Sonderzeichen durch das Prozentzeichen(%) gefolgt von zwei Hexzeichen kodiert. Weiterhin werden Leerzeichen durch ein Pluszeichen (+) ersetzt.

Folgende alphanumerischen Zeichen werden nicht kodiert:

. - - Bindestrich
. _ - Unterstrich
. . - Punkt

Siehe auch:

. urldecode()
. rawurldecode()

nach unten nach oben Beispiel

<?PHP
$var = 'Der Wald ist voller Bäume';
echo $var . '<br>';
$var_encode = urlencode($var);
echo $var_encode;
echo '<br>';
echo '<a href="index.php?text=' . $var_encode . '">Senden</a>';
?>

nach unten nach oben Ausgabe

Der Wald ist voller Bäume
Der+Wald+ist+voller+B%E4ume
Senden

Zurück: urldecode

Weiter: Variablen-Funktionen


Funktionsreferenz / Variablen-Funktionen / doubleval

Letztes Update der Funktion doubleval: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

doubleval

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

double doubleval ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit doubleval() kann man versuchen, aus einer Variablen (var) eine Double-Zahl zu machen. Dabei interpretiert die Funktion den Wert als eine Fließkommazahl.

Siehe auch:

. intval()
. strval()
. settype()

nach unten nach oben Beispiel

<?PHP
$vari = '1.55 Punkte';
echo doubleval($vari);
?>

nach unten nach oben Ausgabe

1.55

Zurück: URL-Funktionen

Weiter: empty


Funktionsreferenz / Variablen-Funktionen / empty

Letztes Update der Funktion empty: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

empty

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool empty ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion empty() liefert true zurück, wenn eine Variable (var) nicht definiert, leer oder gleich 0 ist. In allen anderen Fällen wird false als Antwort geliefert.

Siehe auch:

. isset()
. unset()

nach unten nach oben Beispiel

<?PHP
$a = '24';
$b = '0';
$c = '';

if(!empty($a))
  echo 'Variable $a ist gefüllt';

if(empty($b))
  echo 'Variable $b ist empty <br>';

if(empty($c))
  echo 'Variable $c ist empty <br>';

if(empty($d))
  echo 'Variable $d ist empty <br>';
?>

nach unten nach oben Ausgabe

Variable $a ist gefüllt
Variable $b ist empty
Variable $c ist empty
Variable $d ist empty

Zurück: doubleval

Weiter: floatval


Funktionsreferenz / Variablen-Funktionen / floatval

Letztes Update der Funktion floatval: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

floatval

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

float floatval ( mixed var )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Die Funktion floatval() versucht aus einer Variablen eine Floatzahl zu erstellen. Diese Funktion können Sie nicht für Arrays oder Objekte nutzen.

Siehe auch:

. intval()
. strval()
. settype()

nach unten nach oben Beispiel

<?PHP
$float = '49.95 SELFPHP';
echo floatval($float);
?>

nach unten nach oben Ausgabe

49.95

Zurück: empty

Weiter: gettype


Funktionsreferenz / Variablen-Funktionen / gettype

Letztes Update der Funktion gettype: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

gettype

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string gettype ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion gettype() ermittelt den Typ einer Variablen (var) und gibt diesen aus.

Mögliche Werte sind:

. "integer" - Ganzzahl
. "double" - Fließkommazahl
. "string" - Zeichenkette
. "array" - Variable mit mehreren Elementen
. "object" - Objekt
. "unknown type" - Unbekannter Variablentyp

Sie auch:

. settype()

nach unten nach oben Beispiel

<?PHP
$a = 3;
$b = 'Test';
$c = 3.5;
$d = array('Banane', 'Birne');

echo gettype($a) . '<br>';
echo gettype($b) . '<br>';
echo gettype($c) . '<br>';
echo gettype($d) . '<br>';
?>

nach unten nach oben Ausgabe

integer
string
double
array

Zurück: floatval

Weiter: intval


Funktionsreferenz / Variablen-Funktionen / Übersicht Variablen-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Variablen-Funktionen

Auf den folgenden Seiten werden die Variablen-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Variablen": Praxisbuch öffnen

Die hier gelisteten Variablen-Funktionen bestehen aus folgenden Seiten:

doubleval
empty
floatval
gettype
intval
isset
is_array
is_bool
is_double
is_float
is_int
is_integer
is_long
is_null
is_numeric
is_object
is_real
is_resource
is_scalar
is_string
print_r
serialize
settype
strval
unserialize
unset
var_dump
var_export


Funktionsreferenz / Variablen-Funktionen / intval

Letztes Update der Funktion intval: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

intval

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int intval ( mixed var [, int base] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit intval() kann man versuchen, aus einer Variablen (var) eine Integer-Zahl zu machen. Der optionale Parameter base legt fest, zu welcher Basis die Zahl zu interpretieren ist (Default-Wert ist 10).

Siehe auch:

. doubleval()
. strval()
. settype()

nach unten nach oben Beispiel

<?PHP
$vari = '1 Punkt';
echo doubleval($vari);
?>

nach unten nach oben Ausgabe

1

Zurück: gettype

Weiter: isset


Funktionsreferenz / Variablen-Funktionen / isset

Letztes Update der Funktion isset: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

isset

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool isset ( mixed var [, mixed var [, ...]] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion isset() überprüft, ob eine Variable oder ein Array existent ist. Diese Funktion liefert true zurück, wenn die Variable oder das Array existent ist, sonst false. Es gibt eine Besonderheit bei Formularen. Wird ein Formular per Image gesendet und Sie möchten dieses überprüfen, so müssen Sie bei der Abfrage ein "_x" anhängen (isset($tag_x)), da bei einem Formular-Tag die X- und Y-Koordinaten der Mausposition mitgegeben werden. Wird eine Variable oder ein Array mit unset() wieder freigegeben, so ist sie bzw. es als nicht existent anzusehen.

Siehe auch:

. empty()
. unset()

nach unten nach oben Beispiel

<?PHP
$a = 24;

if(isset($a))
  echo '$a ist existent.';

if(!isset($b))
  echo '$b ist nicht existent.';
?>

nach unten nach oben Ausgabe

$a ist existent.
$b ist nicht existent.

Zurück: intval

Weiter: is_array


Funktionsreferenz / Variablen-Funktionen / is_array

Letztes Update der Funktion is_array: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_array

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_array ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_array() überprüft, ob eine Variable (var) vom Typ Array ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein Array handelt, sonst false.

Siehe auch:

. is_bool()
. is_double()
. is_float()
. is_int()
. is_integer()
. is_long()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 1.4;
$b = array('Banane', 'Birne');

if(!is_array($a))
  echo '$a ist kein array';

if(is_array($b))
  echo '$b ist ein array';
?>

nach unten nach oben Ausgabe

$a ist kein array
$b ist ein array

Zurück: isset

Weiter: is_bool


Funktionsreferenz / Variablen-Funktionen / is_bool

Letztes Update der Funktion is_bool: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_bool

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_bool ( mixed var )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_bool() überprüft, ob eine Variable (var) vom Typ bool ist. Sie liefert true zurück, wenn es sich bei der Variablen um einen booleschen Wert handelt, sonst false.

Siehe auch:

. is_array()
. is_double()
. is_float()
. is_int()
. is_integer()
. is_long()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = true;
$b = 5;

if(is_bool($a))
  echo '$a ist ein bool<br>';

if(!is_bool($b))
  echo '$b ist kein bool';
?>

nach unten nach oben Ausgabe

$a ist ein bool
$b ist kein bool

Zurück: is_array

Weiter: is_double


Funktionsreferenz / Variablen-Funktionen / is_double

Letztes Update der Funktion is_double: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_double

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int is_double ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_double() überprüft, ob eine Variable (var) vom Typ Double ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein Double handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_float()
. is_int()
. is_integer()
. is_long()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 1;
$b = 1.14;

if(!is_double($a))
  echo '$a ist kein double';

if(is_double($b))
  echo '$b ist ein double';
?>

nach unten nach oben Ausgabe

$a ist kein double
$b ist ein double

Zurück: is_bool

Weiter: is_float


Funktionsreferenz / Variablen-Funktionen / is_float

Letztes Update der Funktion is_float: 23.03.2006 11:21:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_float

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_float ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_float() überprüft, ob eine Variable (var) vom Typ Float ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein Float handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_int()
. is_integer()
. is_long()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 1;
$b = 1.14;

if(!is_float($a))
  echo '$a ist kein float';

if(is_float($b))
  echo '$b ist ein float';
?>

nach unten nach oben Ausgabe

$a ist kein float
$b ist ein float

Zurück: is_double

Weiter: is_int


Funktionsreferenz / Variablen-Funktionen / is_int

Letztes Update der Funktion is_int: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_int

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_int ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_int() überprüft, ob eine Variable (var) vom Typ Int ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein Int handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_float()
. is_integer()
. is_long()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 1;
$b = 1.14;

if(is_int($a))
  echo '$a ist ein int';

if(!is_int($b))
  echo '$b ist kein int';
?>

nach unten nach oben Ausgabe

$a ist ein int
$b ist kein int

Zurück: is_float

Weiter: is_integer


Funktionsreferenz / Variablen-Funktionen / is_integer

Letztes Update der Funktion is_integer: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_integer

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int is_integer ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_integer() überprüft, ob eine Variable (var) vom Typ Integer ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein Integer handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_float()
. is_int()
. is_long()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 1;
$b = 1.14;

if(is_integer($a))
  echo '$a ist ein integer';

if(!is_integer($b))
  echo '$b ist kein integer';
?>

nach unten nach oben Ausgabe

$a ist ein integer
$b ist kein integer

Zurück: is_int

Weiter: is_long


Funktionsreferenz / Variablen-Funktionen / is_long

Letztes Update der Funktion is_long: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_long

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int is_long ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_long() überprüft, ob eine Variable (var) vom Typ Long ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein Long handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_float()
. is_int()
. is_integer()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 1;
$b = 1.14;

if(is_ long ($a))
  echo '$a ist ein long';

if(!is_ long ($b))
  echo '$b ist kein long';
?>

nach unten nach oben Ausgabe

$a ist ein long
$b ist kein long

Zurück: is_integer

Weiter: is_null


Funktionsreferenz / Variablen-Funktionen / is_null

Letztes Update der Funktion is_null: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_null

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_null ( mixed var )

nach unten nach oben Version

(PHP 4 >= 4.0.4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_null() überprüft, ob eine Variable (var) vom Typ NULL ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein NULL handelt, sonst false.

Eine Variable ist dann als Null anzusehen, wenn sie folgende Kriterien erfüllt:

. Die Konstannte NULL wurde als Wert zugewiesen
. Es wurde kein Wert zugewiesen.
. Variable wurde mit unset() gelöscht.

Siehe auch:

. is_array()
. is_bool()
. is_float()
. is_int()
. is_integer()
. is_numeric()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 0;
$b = 1.14;
$c = '';
$d = NULL;

if(is_null ($a))
  echo '$a ist Null' . "\n";

if(!is_null ($b))
  echo '$b ist nicht Null' . "\n";

if(is_null ($c))
  echo '$c ist Null' . "\n";

if(is_null ($d))
  echo '$d ist Null' . "\n";

if(is_null ($e))
  echo '$e ist Null' . "\n";

?>

nach unten nach oben Ausgabe

$b ist nicht Null
$d ist Null
$e ist Null

Zurück: is_long

Weiter: is_numeric


Funktionsreferenz / Variablen-Funktionen / is_numeric

Letztes Update der Funktion is_numeric: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_numeric

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_numeric ( mixed var )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_numeric () überprüft, ob es sich bei der Variable (var) um eine Zahl oder numerischen String handelt. Sie liefert true zurück, wenn es sich bei der Variablen um ein NULL handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_float()
. is_int()
. is_integer()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 0;
$b = 1.14;
$c = '123';

if(is_numeric ($a))
  echo '$a ist eine Zahl' . "\n";

if(is_numeric ($b))
  echo '$b ist eine Zahl' . "\n";

if(is_numeric ($c))
  echo '$c ist eine Zahl' . "\n";
?>

nach unten nach oben Ausgabe

$a ist eine Zahl
$b ist eine Zahl
$c ist eine Zahl

Zurück: is_null

Weiter: is_object


Funktionsreferenz / Variablen-Funktionen / is_object

Letztes Update der Funktion is_object: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_object

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_object ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_object() überprüft, ob eine Variable (var) vom Typ Object ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein Object handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_float()
. is_int()
. is_integer()
. is_long()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 1;
$b = 1.14;

if(!is_object($a))
  echo '$a ist kein object';

if(!is_object($b))
  echo '$b ist kein object';
?>

nach unten nach oben Ausgabe

$a ist kein object
$b ist kein object

Zurück: is_numeric

Weiter: is_real


Funktionsreferenz / Variablen-Funktionen / is_real

Letztes Update der Funktion is_real: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_real

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int is_real ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_real() überprüft, ob eine Variable (var) vom Typ Real ist. Sie liefert true zurück, wenn es sich bei der Variablen um ein Real handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_float()
. is_int()
. is_integer()
. is_long()
. is_object()
. is_string()

nach unten nach oben Beispiel

<?PHP
$a = 1;
$b = 1.14;
if(!is_real($a))
  echo '$a ist kein real';

if(is_real($b))
  echo '$b ist ein real';
?>

nach unten nach oben Ausgabe

$a ist kein real
$b ist kein real

Zurück: is_object

Weiter: is_resource


Funktionsreferenz / Variablen-Funktionen / is_resource

Letztes Update der Funktion is_resource: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_resource

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_resource ( mixed var )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_resource() überprüft, ob eine Variable (var) vom Typ Resource ist. Als Resource versteht man eine PHP-Resource wie z.B. ein Datei- oder Result-Handle. Sie liefert true zurück, wenn es sich bei der Variablen um ein Real handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_float()
. is_int()
. is_integer()
. is_long()
. is_object()
. is_string()

nach unten nach oben Beispiel

<?PHP
$file = fopen('testseite.php', 'a');

if(is_resource ($file))
  echo '$file ist eine Resource' . "\n";
?>

nach unten nach oben Ausgabe

$file ist eine Resource

Zurück: is_real

Weiter: is_scalar


Funktionsreferenz / Variablen-Funktionen / is_scalar

Letztes Update der Funktion is_scalar: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_scalar

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_scalar ( mixed var )

nach unten nach oben Version

(PHP 4 >= 4.0.5, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_scalar() überprüft, ob eine Variable (var) vom Typ Scalar ist.

Als Scalar werden folgende Typen angesehen:

. Integer
. Float
. String
. Boolean

Folgende Typen sind nicht Scalar:

. Array
. Object
. Resource

Sie liefert true zurück, wenn es sich bei der Variablen um ein Scalar handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_float()
. is_int()
. is_integer()
. is_numeric()
. is_object()
. is_real()
. is_string()

nach unten nach oben Beispiel

<?PHP
function testscalar($var){
  if(is_scalar($var))
    echo '"$var" - Variable ist ein Scalar' . "\n";
  else
    echo '"$var" - Variable ist kein Scalar' . "\n";
}

$a = 1;
$b = 3.1416;
$c = 'SELFPHP';
$d = TRUE;
$e = array('SELFPHP', 'PHP');

testscalar($a);
testscalar($b);
testscalar($c);
testscalar($d);
testscalar($e);
?>

nach unten nach oben Ausgabe

"1" - Variable ist ein Scalar
"3.1416" - Variable ist ein Scalar
"SELFPHP" - Variable ist ein Scalar
"1" - Variable ist ein Scalar
"Array" - Variable ist kein Scalar

Zurück: is_resource

Weiter: is_string


Funktionsreferenz / Variablen-Funktionen / is_string

Letztes Update der Funktion is_string: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

is_string

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool is_string ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Die Funktion is_string() überprüft, ob eine Variable (var) vom Typ String ist. Sie liefert true zurück, wenn es sich bei der Variablen um einen String handelt, sonst false.

Siehe auch:

. is_array()
. is_bool()
. is_double()
. is_float()
. is_int()
. is_integer()
. is_long()
. is_object()
. is_real()

nach unten nach oben Beispiel

<?PHP
$a = 1.4;
$b = 'Viel Text';

if(!is_string($a))
  echo '$a ist kein string';

if(is_string($b))
  echo '$a ist ein string';
?>

nach unten nach oben Ausgabe

$a ist kein string
$b ist ein string

Zurück: is_scalar

Weiter: print_r


Funktionsreferenz / Variablen-Funktionen / print_r

Letztes Update der Funktion print_r: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

print_r

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool print_r ( mixed expression [, bool return] )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dem Befehl print_r() können Sie Variablen in lesbarer und vorformatierter Form ausgeben lassen. Der optionale Parameter return (ab PHP 4.3.0) sorgt dafür, das die Ausgabe zwischengespeichert wird. Bei der Ausgabe von Arrays wird nicht nur der Wert, sondern auch der Schlüssel mit ausgegeben (siehe Beispiel). Bitte beachten Sie, dass bei Aufruf von print_r() der interne Arrayzeiger auf das letzte Element gesetzt wird und erst wieder mit der Funktion reset() zum Anfang gelangen kann.

Siehe auch:

ob_start()
. var_dump()
. var_export()

nach unten nach oben Beispiel

<?PHP
$var = array('name' => 'Damir', SELFPHP, '4'=>'24', 99);

$var2 = array(6, 2, 4, 'new' => array(12, 13, 14));

print_r($var);

$result = print_r($var2, true);

echo $result;
?>

nach unten nach oben Ausgabe

Array
(
  [name] => Damir
  [0] => SELFPHP
  [4] => 24
  [5] => 99
)
Array
(
  [0] => 6
  [1] => 2
  [2] => 4
  [new] => Array
  (
     [0] => 12
     [1] => 13
     [2] => 14
  )
)

Zurück: is_string

Weiter: serialize


Funktionsreferenz / Variablen-Funktionen / serialize

Letztes Update der Funktion serialize: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

serialize

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string serialize ( mixed value )

nach unten nach oben Version

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dem Befehl serialize() erhalten Sie eine serialisierte Zeichenkette
(String), die Sie für beliebige Speicherarten nutzen können. Dabei geht die
Struktur der eingelesenen "Variablen" nicht verloren. So können Sie z.B. ein
Array einlesen und die Zeichenkette in eine Datenbank speichern. Beim Auslesen
dieser Zeichenkette mit unserialize() erhalten Sie dann wieder Ihr Array (siehe
Beispiel).
Bitte beachten Sie, das bei einem Objekt zwar die Eigenschaft, nicht aber die
Methode serialisiert wird.

Folgende Typen werden unterstützt:

. array (mehrdimensional)
. double
. integer
. object
. string

Siehe auch:

. unserialize()

nach unten nach oben Beispiel

<?PHP
$var = array('name' => 'Damir', SELFPHP, '4' => '24', 99);

$data = serialize($var);

echo 'Serializierter String:' . "\n";

echo $data . "\n\n";

echo 'Unserializierter String:' . "\n";

$array = unserialize($data);

print_r($array);
?>

nach unten nach oben Ausgabe

Serializierter String:
a:4:{s:4:"name";s:5:"Damir";i:0;s:7:"SELFPHP";i:4;s:2:"24";i:5;i:99;}

Unserializierter String:
Array
(
  [name] => Damir
  [0] => SELFPHP
  [4] => 24
  [5] => 99
)

Zurück: print_r

Weiter: settype


Funktionsreferenz / Variablen-Funktionen / settype

Letztes Update der Funktion settype: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

settype

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool settype ( mixed var, string type )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dem Befehl settype() können Sie den Typ einer Variablen festlegen. Bei erfolgreicher Typumwandlung wird true ausgegeben.

Mögliche Werte für settype sind:

. "integer"
. "double"
. "string"
. "array"
. "object"

Siehe auch:

. gettype()

nach unten nach oben Beispiel

<?PHP
$var = 1.67;
settype($var, 'integer');
echo $var;
?>

nach unten nach oben Ausgabe

1

Zurück: serialize

Weiter: strval


Funktionsreferenz / Variablen-Funktionen / strval

Letztes Update der Funktion strval: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

strval

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string strval ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit strval() können Sie eine Variable in einen String konvertieren. Dabei darf die Variable von jedem einfachen Datentypen sein. Bei Arrays und Objekten ist diese Funktion nicht erlaubt.

Siehe auch:

. doubleval()
. intval()
. settype()

nach unten nach oben Beispiel

<?PHP
$var = '3.67 abc';
echo strval($var);
?>

nach unten nach oben Ausgabe

3.67 abc

Zurück: settype

Weiter: unserialize


Funktionsreferenz / Variablen-Funktionen / unserialize

Letztes Update der Funktion unserialize: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

unserialize

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed unserialize ( string str )

nach unten nach oben Version

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dem Befehl unserialize() erhalten Sie aus einer serialisierten Zeichenkette
( siehe serialize() ), die ursprüngliche Struktur einer "Variablen".
Bitte beachten Sie, das bei einem zuvor serialisierten Objekt zwar die
Eigenschaft, nicht aber die Methode geliefert wird.

Folgende Typen werden unterstützt:

. array (mehrdimensional)
. double
. integer
. object
. string

Siehe auch:

. serialize()

nach unten nach oben Beispiel

<?PHP
$var = array('name' => 'Damir', SELFPHP, '4' => '24', 99);

$data = serialize($var);

echo 'Serializierter String:' . "\n";

echo $data . "\n\n";

echo 'Unserializierter String:' . "\n";

$array = unserialize($data);

print_r($array);
?>

nach unten nach oben Ausgabe

Serializierter String:
a:4:{s:4:"name";s:5:"Damir";i:0;s:7:"SELFPHP";i:4;s:2:"24";i:5;i:99;}

Unserializierter String:
Array
(
  [name] => Damir
  [0] => SELFPHP
  [4] => 24
  [5] => 99
)

Zurück: strval

Weiter: unset


Funktionsreferenz / Variablen-Funktionen / unset

Letztes Update der Funktion unset: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

unset

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void unset ( mixed var )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dem Befehl unset() können Sie eine Variable oder ein Array löschen und somit wieder vollständig freigeben.

Siehe auch:

. isset()
. empty()

nach unten nach oben Beispiel

<?PHP
$var = "Birnen";
echo $var;
unset($var);
if(!isset($var))
  echo 'Variable gelöscht';
?>

nach unten nach oben Ausgabe

Birnen
Variable gelöscht

Zurück: unserialize

Weiter: var_dump


Funktionsreferenz / Variablen-Funktionen / var_dump

Letztes Update der Funktion var_dump: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

var_dump

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

void var_dump ( mixed expression )

nach unten nach oben Version

(PHP 3 >= 3.0.5, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dem Befehl var_dump() können Sie sich alle Informationen einer Variablen expression ausgeben lassen.

Siehe auch:

. print_r()

nach unten nach oben Beispiel

<?PHP
$var = array('SELFPHP', 22, array('PHP5', 'PHP4', 'PHP3'));
var_dump ($var);
?>

nach unten nach oben Ausgabe

array(3){
  [0]=>
  string(7) "SELFPHP"
  [1]=>
  int(22)
  [2]=>
  array(3){
     [0]=>
     string(4) "PHP5"
     [1]=>
     string(4) "PHP4"
     [2]=>
     string(4) "PHP3"
  }
}

Zurück: unset

Weiter: var_export


Funktionsreferenz / Variablen-Funktionen / var_export

Letztes Update der Funktion var_export: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

var_export

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

mixed var_export ( mixed expression [, bool return] )

nach unten nach oben Version

(PHP 4 >= 4.2.0, PHP 5)

nach unten nach oben Beschreibung

Mit dem Befehl var_export() können Sie sich eine Variable expression ausgeben lassen. Der optionale Parameter return sorgt dafür, das es nicht sofort zu einer Ausgabe kommt, sondern die Ausgabe zwischengespeichert wird.

Siehe auch:

. print_r()
. var_dump()

nach unten nach oben Beispiel

<?PHP
$var = array('SELFPHP', 22, array('PHP5', 'PHP4', 'PHP3'));
$cache = var_export($var, TRUE);
echo $cache;
?>

nach unten nach oben Ausgabe

array(
  0 => 'SELFPHP',
  1 => 22,
  2 =>
  array(
      0 => 'PHP5',
      1 => 'PHP4',
      2 => 'PHP3',
  ),
)

Zurück: var_dump

Weiter: Verzeichnis-Funktionen


Funktionsreferenz / Verzeichnis-Funktionen / chdir

Letztes Update der Funktion chdir: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

chdir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

bool chdir ( string directory )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit chdir() kann man sich in den Verzeichnissen auf dem Server bewegen. Falls der Wechsel nicht möglich war, wird false, sonst true zurückgegeben.

nach unten nach oben Beispiel

<?PHP
$wechsel1 = chdir('neu');

echo $wechsel1 . '<br>';

$wechsel2 = chdir('../');

echo $wechsel2 . '<br>';

$wechsel3 = chdir('neus');
//Gibt es gar nicht!
echo $wechsel3;
?>

nach unten nach oben Ausgabe

1
1

Warning: ChDir: No such file or directory (errno 2) in _ /www/users/test/index.php on line 6

Zurück: Variablen-Funktionen

Weiter: closedir


Funktionsreferenz / Verzeichnis-Funktionen / closedir

Letztes Update der Funktion closedir: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

closedir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel |

nach unten nach oben Befehl

void closedir ( resource dir_handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit closedir() kann man ein Verzeichnis schließen, das man vorher mit opendir() geöffnet haben muss. Konnte das Verzeichnis geschlossen werden, wird nichts zurückgegeben, sonst erfolgt eine Fehlermeldung.

nach unten nach oben Beispiel

<?PHP
$open_verz = opendir('neu');
// Tue etwas
$close_verz = closedir($open_verz);
?>

Zurück: chdir

Weiter: dir


Funktionsreferenz / Verzeichnis-Funktionen / dir

Letztes Update der Funktion dir: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

dir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

dir (string directory)

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit dir() kann man sich in den Verzeichnissen auf dem Server bewegen und sich bei Bedarf mit dem objektorientierten Ansatz den Verzeichnisinhalt auflisten lassen.

Nach dem erfolgreichen Öffnen des Verzeichnisses stehen Ihnen zwei Eigenschaften zur Verfügung:

. handle
. path

Die Eigenschaft handle können Sie auch mit folgenden Verzeichnisfunktionen nutzen:

. closedir()
. readdir()
. rewinddir()

Die Eigenschaft path beeinhaltet die Pfadangabe des geöffneten Verzeichnisses.

Außerdem stellt Ihnen das Verzeichnisobjekt drei Methoden zur Verfügung:

close()
read()
rewind()

nach unten nach oben Beispiel

<?PHP
$verz = dir('neu');

echo 'Handle: ' . $verz->handle . '<br>';
echo 'Pfad: ' . $verz->path . '<br>';

while($entry = $verz->read()){
  echo $entry."<br>";
}

$verz->close();
?>

nach unten nach oben Ausgabe

Handle: Resource id #1
Pfad: neu
.
..
flush.php
index.php

Zurück: closedir

Weiter: getcwd


Funktionsreferenz / Verzeichnis-Funktionen / getcwd

Letztes Update der Funktion getcwd: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

getcwd

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

string getcwd ( void )

nach unten nach oben Version

(PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit getcwd() kann man sich das Arbeitsverzeichnis zurückgeben lassen (von der Datei ausgehend, welche man gerade aufgerufen hat). Dabei wird der komplette Pfad ab dem Dokumenten-Root zurückgegeben.

nach unten nach oben Beispiel

<?PHP
echo getcwd();
?>

nach unten nach oben Ausgabe

/www/users/test

Zurück: dir

Weiter: mkdir


Funktionsreferenz / Verzeichnis-Funktionen / Übersicht Verzeichnis-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verzeichnis-Funktionen

Auf den folgenden Seiten werden die Verzeichnis-Funktionen von PHP beschrieben.

Sinnvolle Vorkenntnisse und weiterführende Informationen zu diesem Thema finden Sie
im PHP 5 Praxisbuch unter dem Abschnitt "Dateisystem via PHP": Praxisbuch öffnen

Die hier gelisteten Verzeichnis-Funktionen bestehen aus folgenden Seiten:

chdir
closedir
dir
getcwd
mkdir
opendir
readdir
rewinddir
rmdir
scandir


Funktionsreferenz / Verzeichnis-Funktionen / mkdir

Letztes Update der Funktion mkdir: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

mkdir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Rechenbeispiel Rechenbeispiel | Springe zu Beispiele Beispiele | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

int mkdir ( string pathname [, int mode] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit mkdir() kann man versuchen, ein Verzeichnis (pathname) zu erstellen. Dabei können Sie ausgehend vom Skript oder dem Dokumenten-Root das Verzeichnis erstellen. Im Erfolgsfall wird true zurückgeliefert, sonst false. Falls Sie im Parameter mode (Zugriffsrecht) einen oktalen Wert übergeben wollen, so denken Sie an die voranzustellende Null, welche nicht fehlen darf. Bei der Rechtevergabe kann man für den Eigentümer/Owner, Gruppe/Group und den Rest der Welt/Public verschiedene Zugriffsrechte vergeben.

Werte für mode:

. Lesen/Read = r = 4
. Schreiben/Write = w = 2
. Ausführen/Execute = x = 1

nach unten nach oben Rechenbeispiel

    drwxr-xrw-     r + w + x        r + - + x        r + w + -      0756
das entspricht   4 + 2 + 1 = 7    4 + 0 + 1 = 5    4 + 2 + 0 = 6    0756

nach unten nach oben Beispiele

            User  Group  World  Oktal
drwxrwxrwx  rwx   rwx    rwx    0777
drwxr-xr-x  rwx   r-x    r-x    0755
drwx------  rwx   ---    ---    0700
drwxr-x---  rwx   r-x    ---    0750
drwxr-xr--  rwx   r-x    r--    0754

nach unten nach oben Beispiel 1

<?PHP
//Erstellt ein Verzeichnis ausgehend von der Lage des Skriptes

if(mkdir('php', 0700))
  echo 'Verzeichnis erstellt!';
?>

nach unten nach oben Ausgabe 1

Verzeichnis erstellt!

nach unten nach oben Beispiel 2

<?PHP
//Erstellt ein Verzeichnis ausgehend vom Dokumenten-Root

if(mkdir('/www/users/php', 0700))
  echo 'Verzeichnis erstellt!';
?>

nach unten nach oben Ausgabe 2

Verzeichnis erstellt!

Zurück: getcwd

Weiter: opendir


Funktionsreferenz / Verzeichnis-Funktionen / opendir

Letztes Update der Funktion opendir: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

opendir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

resource opendir ( string path [, resource context] )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit opendir() kann man ein Verzeichnis-Handle öffnen. Dieses Verzeichnis-Handle kann später für folgende Befehle genutzt werden:

. closedir()
. readdir()

nach unten nach oben Beispiel

<?PHP
if($verz = opendir('neu'))
  echo 'Verzeichnis geöffnet!';

echo '<br>Verz.Handle: ' . $verz;
?>

nach unten nach oben Ausgabe

Verzeichnis geöffnet!
Verz.Handle: Resource id #1

Zurück: mkdir

Weiter: readdir


Funktionsreferenz / Verzeichnis-Funktionen / readdir

Letztes Update der Funktion readdir: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

readdir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel 1 Beispiel 1 | Springe zu Ausgabe 1 Ausgabe 1 | Springe zu Beispiel 2 Beispiel 2 | Springe zu Ausgabe 2 Ausgabe 2 |

nach unten nach oben Befehl

string readdir ( resource dir_handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit readdir() kann man sich den kompletten Inhalt eines Verzeichnisses (dir_handle) auflisten lassen. Die Dateien werden dabei unsortiert aufgeführt. Beachten Sie, dass auch "." und ".." aufgelistet werden. Wenn Sie das nicht wünschen, müssen Sie die Ausgabe mit einer if-Abfrage schützen.

nach unten nach oben Beispiel 1

<?PHP
$verz=opendir('.');

while($file = readdir($verz)){
  echo $file . '<br>';
}

closedir($verz);
?>

nach unten nach oben Ausgabe 1

.
..
php.php
index.php

nach unten nach oben Beispiel 2

<?PHP
$verz=opendir('.');

while($file = readdir($verz)){
  if($file != '.' && $file != '..')
    echo $file . '<br>';
}

closedir($verz);
?>

nach unten nach oben Ausgabe 2

php.php
index.php

Zurück: opendir

Weiter: rewinddir


Funktionsreferenz / Verzeichnis-Funktionen / rewinddir

Letztes Update der Funktion rewinddir: 07.02.2006 12:27:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rewinddir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel |

nach unten nach oben Befehl

void rewinddir ( resource dir_handle )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rewinddir() kann man ein bestehendes dir_handle auf den Anfang (Reset) zurücksetzen. Das bedeutet, dass die Funktion readdir() beim nächsten Aufruf die Dateien wieder ab dem ersten Eintrag des Verzeichnisses auflistet. Der Unterschied wird sehr schnell sichtbar, wenn man sich beide Beispiele genau anschaut.

nach unten nach oben Beispiel

<?PHP
$verz = opendir('neu');
rewinddir($verz);
?>

Zurück: readdir

Weiter: rmdir


Funktionsreferenz / Verzeichnis-Funktionen / rmdir

Letztes Update der Funktion rmdir: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

rmdir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

int rmdir ( string dirname )

nach unten nach oben Version

(PHP 3, PHP 4, PHP 5)

nach unten nach oben Beschreibung

Mit rmdir() kann man ein bestehendes Verzeichnis (dirname) löschen. Dabei müssen allerdings ausreichende Rechte vorhanden sein. Im Erfolgsfall wird true, sonst false zurückgegeben.

nach unten nach oben Beispiel

<?PHP
$verz = rmdir('php');
echo $verz;
?>

nach unten nach oben Ausgabe

1

Zurück: rewinddir

Weiter: scandir


Funktionsreferenz / Verzeichnis-Funktionen / scandir

Letztes Update der Funktion scandir: 30.10.2005 11:43:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

scandir

Springe zu Befehl Befehl | Springe zu Version Version | Springe zu Beschreibung Beschreibung | Springe zu Beispiel Beispiel | Springe zu Ausgabe Ausgabe |

nach unten nach oben Befehl

array scandir ( string directory [, int sorting_order [, resource context]] )

nach unten nach oben Version

(PHP 5)

nach unten nach oben Beschreibung

Mit scandir() können Sie ein Verzeichnis directory auslesen und sich das Ergebnis in ein Array ausgeben lassen. Setzen Sie den optionalen Parameter sorting_order auf 1, so wird das Array in absteigender Form sortiert. Standardmäßig sortiert diese Funktion in aufsteigender Reihenfolge. Sollte das Verzeichnis nicht existent sein, so liefert diese Funktion FALSE.

Siehe auch:

glob()
. is_dir()
. opendir()
. readdir()
. sort()

nach unten nach oben Beispiel

<?PHP
$dir    = 'neu';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);

print_r($files1);
print_r($files2);
?>

nach unten nach oben Ausgabe

Array
(
  [0] => .
  [1] => ..
  [2] => datei_1.php
  [3] => datei_2.php
  [4] => datei_3.php
)
Array
(
  [0] => datei_3.php
  [1] => datei_2.php
  [2] => datei_1.php
  [3] => ..
  [4] => .
)

Zurück: rmdir

Weiter:


Funktionsübersicht / Array-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Array-Funktionen

nach unten array | nach unten array_change_key_case | nach unten array_chunk
nach unten array_combine | nach unten array_count_values | nach unten array_diff
nach unten array_fill | nach unten array_filter | nach unten array_flip
nach unten array_intersect | nach unten array_intersect_assoc | nach unten array_keys
nach unten array_key_exists | nach unten array_map | nach unten array_merge
nach unten array_merge_recursive | nach unten array_multisort | nach unten array_pad
nach unten array_pop | nach unten array_push | nach unten array_rand
nach unten array_reduce | nach unten array_reverse | nach unten array_search
nach unten array_shift | nach unten array_slice | nach unten array_splice
nach unten array_sum | nach unten array_unique | nach unten array_unshift
nach unten array_values | nach unten array_walk | nach unten arsort
nach unten asort | nach unten compact | nach unten count
nach unten current | nach unten each | nach unten end
nach unten extract | nach unten in_array | nach unten key
nach unten krsort | nach unten ksort | nach unten list
nach unten natcasesort | nach unten natsort | nach unten next
nach unten pos | nach unten prev | nach unten range
nach unten reset | nach unten rsort | nach unten shuffle
nach unten sizeof | nach unten sort | nach unten uasort
nach unten uksort | nach unten usort

nach unten nach oben array

array array ( [mixed ...] )
(PHP 3, PHP 4, PHP 5)
Mit der Funktion array() erzeugt man aus gegebenen Werten ein Array
Detailbeschreibung

nach unten nach oben array_change_key_case

array array_change_key_case ( array input [, int case] )
(PHP 4 >= 4.2.0, PHP 5)
Die Funktion array_change_key_case() wandelt die Schlüssel innerhalb des Arrays input in Klein- bzw. Großbuchstaben um.
Detailbeschreibung

nach unten nach oben array_chunk

array array_chunk ( array input, int size [, bool preserve_keys] )
(PHP 4 >= 4.2.0, PHP 5)
Die Funktion array_chunk() teilt das Array input in kleinere Stücke auf.
Detailbeschreibung

nach unten nach oben array_combine

array array_combine ( array keys, array values )
(PHP 5)
Die Funktion array_combine() erzeugt aus zwei verschiedenen Arrays ein neues Array.
Detailbeschreibung

nach unten nach oben array_count_values

array array_count_values ( array input )
(PHP 4, PHP 5)
Die Funktion array_count_values() zählt, wie oft jeder Wert innerhalb des Arrays input vorkommt.
Detailbeschreibung

nach unten nach oben array_diff

array array_diff ( array array1, array array2 [, array ...] )
(PHP 4 >= 4.0.1, PHP 5)
Die Funktion array_diff() gibt alle Werte des Arrays1 zurück, welche in ein keinem anderen der zu untersuchenden Arrays vorkommen.
Detailbeschreibung

nach unten nach oben array_fill

array array_fill ( int start_index, int num, mixed value )
(PHP 4 >= 4.2.0, PHP 5)
Die Funktion array_fill() erzeugt ein neues ode füllt ein bestehendes Array mit einer bestimmten Menge an Einträgen.
Detailbeschreibung

nach unten nach oben array_filter

array array_filter ( array input [, callback function] )
(PHP 4 >= 4.0.6, PHP 5)
Mit der Funktion array_filter() gibt man Werte eines Arrays an eine Callback-Funktion zur weiteren Bearbeitung und bekommt ein modifiziertes Array zurück.
Detailbeschreibung

nach unten nach oben array_flip

array array_flip ( array trans )
(PHP 4, PHP 5)
Die Funktion array_flip() vertauscht für jedes Element des Arrays den Schlüssel mit dem Wert.
Detailbeschreibung

nach unten nach oben array_intersect

array array_intersect ( array array1, array array2 [, array ...] )
(PHP 4 >= 4.0.1, PHP 5)
Die Funktion array_intersect() gibt alle Werte des Arrays1 zurück, welche auch in anderen der zu untersuchenden Arrays vorkommen.
Detailbeschreibung

nach unten nach oben array_intersect_assoc

array array_intersect_assoc ( array array1, array array2 [, array ...] )
(PHP 4 >= 4.3.0, PHP 5)
Die Funktion array_intersect_assoc() gibt alle Werte des Arrays zurück, welche auch in anderen der zu untersuchenden Arrays vorkommen.
Detailbeschreibung

nach unten nach oben array_keys

array array_keys ( array input [, mixed search_value] )
(PHP 4, PHP 5)
Die Funktion array_keys() gibt die Schlüssel eines Arrays zurück.
Detailbeschreibung

nach unten nach oben array_key_exists

bool array_key_exists ( mixed key, array search )
(PHP 4 >= 4.1.0, PHP 5)
Die Funktion array_key_exists() sucht in einem Array search nach einem Index.
Detailbeschreibung

nach unten nach oben array_map

array array_map ( mixed callback, array arr1 [, array ...] )
(PHP 4 >= 4.0.6, PHP 5)
Die Funktion array_map() gibt ein Array zurück, nachdem sie alle Elemente des ursprünglichen Arrays und eventuell der weiteren als Argumente übergebenen Arrays an die Funktion callback übergeben hat.
Detailbeschreibung

nach unten nach oben array_merge

array array_merge ( array array1, array array2 [, array ...] )
(PHP 4, PHP 5)
Die Funktion array_merge() verbindet mehrere Arrays zu einem Array.
Detailbeschreibung

nach unten nach oben array_merge_recursive

array array_merge_recursive ( array array1, array array2 [, array ...] )
(PHP 4 >= 4.0.1, PHP 5)
Die Funktion array_merge_recursive() fügt die Elemente von mehreren Arrays zu einem Array zusammen.
Detailbeschreibung

nach unten nach oben array_multisort

bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]] )
(PHP 4, PHP 5)
Die Funktion array_multisort() sortiert mehrere Arrays oder ein multidimensionales Array auf einmal.
Detailbeschreibung

nach unten nach oben array_pad

array array_pad ( array input, int pad_size, mixed pad_value )
(PHP 4, PHP 5)
Die Funktion array_pad() fügt neue Elemente in das Array ein, bis das Array x Elemente hat.
Detailbeschreibung

nach unten nach oben array_pop

mixed array_pop ( array array )
(PHP 4, PHP 5)
Die Funktion array_pop() löscht das letzte Element aus dem Array und gibt dieses Element zurück.
Detailbeschreibung

nach unten nach oben array_push

int array_push ( array array, mixed var [, mixed ...] )
(PHP 4, PHP 5)
Die Funktion array_push() hängt ein oder mehrere neue Elemente an das Array an.
Detailbeschreibung

nach unten nach oben array_rand

mixed array_rand ( array input [, int num_req] )
(PHP 4, PHP 5)
Die Funktion array_rand() ist sehr nützlich, wenn man die Elemente eines Array in beliebiger Reihenfolge ausgeben möchte.
Detailbeschreibung

nach unten nach oben array_reduce

mixed array_reduce ( array input, callback function [, int initial] )
(PHP 4 >= 4.0.5, PHP 5)
Die Funktion array_reduce() übergibt nacheinander jedes Element des Arrays an eine Rückruffunktion und gibt den Ergebniswert zurück.
Detailbeschreibung

nach unten nach oben array_reverse

array array_reverse ( array array [, bool preserve_keys] )
(PHP 4, PHP 5)
Die Funktion array_reverse() dreht die Reihenfolge aller Elemente innerhalb eines Arrays um.
Detailbeschreibung

nach unten nach oben array_search

mixed array_search ( mixed needle, array haystack [, bool strict] )
(PHP 4 >= 4.0.5, PHP 5)
Die Funktion array_search() sucht in einem Array nach einem Wert.
Detailbeschreibung

nach unten nach oben array_shift

mixed array_shift ( array array )
(PHP 4, PHP 5)
Die Funktion array_shift() entfernt das erste Element aus einem Array und gibt dieses Element zurück.
Detailbeschreibung

nach unten nach oben array_slice

array array_slice ( array array, int offset [, int length] )
(PHP 4, PHP 5)
Die Funktion array_slice() extrahiert einen Teilbereich aus einem Array.
Detailbeschreibung

nach unten nach oben array_splice

array array_splice ( array input, int offset [, int length [, array replacement]] )
(PHP 4, PHP 5)
Die Funktion array_splice() ersetzt oder entfernt einen Teilbereich aus einem Array.
Detailbeschreibung

nach unten nach oben array_sum

mixed array_sum ( array array )
(PHP 4 >= 4.0.4, PHP 5)
Die Funktion array_sum() summiert die Werte innerhalb eines Arrays und gibt das Ergebnis zurück.
Detailbeschreibung

nach unten nach oben array_unique

array array_unique ( array array )
(PHP 4 >= 4.0.1, PHP 5)
Die Funktion array_unique() entfernt doppelte Einträge aus einem Array und gibt das neue Array als Ergebnis zurück.
Detailbeschreibung

nach unten nach oben array_unshift

int array_unshift ( array array, mixed var [, mixed ...] )
(PHP 4, PHP 5)
Die Funktion array_unshift() fügt neue Elemente am Anfang eines Arrays ein.
Detailbeschreibung

nach unten nach oben array_values

array array_values ( array input )
(PHP 4, PHP 5)
Die Funktion array_values() ändert ein assoziatives Array in ein numerisch indiziertes Array.
Detailbeschreibung

nach unten nach oben array_walk

int array_walk ( array array, callback function [, mixed userdata] )
(PHP 3 >= 3.0.3, PHP 4, PHP 5)
Die Funktion array_walk() übergibt jedes Element eines Arrays nacheinander an die Rückruffunktion function.
Detailbeschreibung

nach unten nach oben arsort

void arsort ( array array [, int sort_flags] )
(PHP 3, PHP 4, PHP 5)
Die Funktion arsort() sortiert ein Array nach den Werten der Elemente in absteigender Reihenfolge.
Detailbeschreibung

nach unten nach oben asort

void asort ( array array [, int sort_flags] )
(PHP 3, PHP 4, PHP 5)
Die Funktion asort() sortiert ein Array nach den Werten der Elemente in aufsteigender Reihenfolge.
Detailbeschreibung

nach unten nach oben compact

array compact ( mixed varname [, mixed ...] )
(PHP 4, PHP 5)
Die Funktion compact() erstellt aus den Werten von Variablen ein Array
Detailbeschreibung

nach unten nach oben count

int count ( mixed var [, int mode] )
(PHP 3, PHP 4, PHP 5)
Die Funktion count() zählt die Menge der Elemente innerhalb eines Arrays und gibt die Anzahl zur weiteren Bearbeitung zurück.
Detailbeschreibung

nach unten nach oben current

mixed current ( array array )
(PHP 3, PHP 4, PHP 5)
Die Funktion current() gibt aktuelle Elemente eines Arrays zurück.
Detailbeschreibung

nach unten nach oben each

array each ( array array )
(PHP 3, PHP 4, PHP 5)
Die Funktion each() gibt bei einem assoziativen Array das Schlüssel-/Wertepaar des aktuellen Elements zurück.
Detailbeschreibung

nach unten nach oben end

mixed end ( array array )
(PHP 3, PHP 4, PHP 5)
Die Funktion end() springt zum letzten Element eines Arrays und liefert dessen Wert zurück.
Detailbeschreibung

nach unten nach oben extract

int extract ( array var_array [, int extract_type [, string prefix]] )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Die Funktion extract() erzeugt aus jedem einzelnen Element eines Arrays eine Variable.
Detailbeschreibung

nach unten nach oben in_array

bool in_array ( mixed needle, array haystack [, bool strict] )
(PHP 4, PHP 5)
Die Funktion in_array() sucht in einem Array nach einem Suchwort und gibt True bei Erfolg, sonst False zurück.
Detailbeschreibung

nach unten nach oben key

mixed key ( array array )
(PHP 3, PHP 4, PHP 5)
Die Funktion key() liefert den Schlüssel des aktuellen Elements innerhalb des Arrays.
Detailbeschreibung

nach unten nach oben krsort

int krsort ( array array [, int sort_flags] )
(PHP 3 >= 3.0.13, PHP 4, PHP 5)
Die Funktion krsort() sortiert ein assoziatives Array absteigend nach den Schlüsseln.
Detailbeschreibung

nach unten nach oben ksort

int ksort ( array array [, int sort_flags] )
(PHP 3, PHP 4, PHP 5)
Die Funktion ksort() sortiert ein assoziatives Array aufsteigend nach den Schlüsseln.
Detailbeschreibung

nach unten nach oben list

void list ( mixed ... )
(PHP 3, PHP 4, PHP 5)
Die Funktion list() weist den als Argumente übergebenen Variablen die Werte aus einem Array zu.
Detailbeschreibung

nach unten nach oben natcasesort

void natcasesort ( array array )
(PHP 4, PHP 5)
Die Funktion natcasesort() sortiert ein Array (array) in natürlicher Reihenfolge ohne Berücksichtigung der Groß- und Kleinschreibung.
Detailbeschreibung

nach unten nach oben natsort

void natsort ( array array )
(PHP 4, PHP 5)
Die Funktion natsort() sortiert ein Array (array) in natürlicher Reihenfolge, unter Berücksichtigung von Groß- und Kleinschreibung.
Detailbeschreibung

nach unten nach oben next

mixed next ( array array )
(PHP 3, PHP 4, PHP 5)
Die Funktion next() springt zum nächsten Element eines Arrays und liefert dessen Wert zurück.
Detailbeschreibung

nach unten nach oben pos

mixed pos ( array array )
(PHP 3, PHP 4, PHP 5)
Die Funktion pos() ist ein Alias für current() - sie liefert das aktuelle Element eines Arrays.
Detailbeschreibung

nach unten nach oben prev

mixed prev ( array array )
(PHP 3, PHP 4, PHP 5)
Die Funktion prev() springt zum vorherigen Element eines Arrays und liefert dessen Wert zurück.
Detailbeschreibung

nach unten nach oben range

array range ( int low, int high [, int step] )
(PHP 3 >= 3.0.8, PHP 4, PHP 5)
Die Funktion range() erzeugt ein Array, das von dem Startwert bis zum Endwert reicht.
Detailbeschreibung

nach unten nach oben reset

mixed reset ( array array )
(PHP 3, PHP 4, PHP 5)
Die Funktion reset() springt zum ersten Element eines Arrays und liefert dessen Wert zurück.
Detailbeschreibung

nach unten nach oben rsort

void rsort ( array array [, int sort_flags] )
(PHP 3, PHP 4, PHP 5)
Die Funktion rsort() sortiert ein Array absteigend nach den Werten.
Detailbeschreibung

nach unten nach oben shuffle

void shuffle ( array array )
(PHP 3 >= 3.0.8, PHP 4, PHP 5)
Die Funktion shuffle() ordnet die Elemente innerhalb eines Arrays in zufälliger Reihenfolge neu an.
Detailbeschreibung

nach unten nach oben sizeof

int sizeof (mixed var)
(PHP 3, PHP 4, PHP 5)
Die Funktion sizeof() zählt die Anzahl der Elemente eines Arrays und gibt das Ergebnis zurück.
Detailbeschreibung

nach unten nach oben sort

void sort ( array array [, int sort_flags] )
(PHP 3, PHP 4, PHP 5)
Die Funktion sort() sortiert ein Array aufsteigend nach den Werten.
Detailbeschreibung

nach unten nach oben uasort

void uasort ( array array, callback cmp_function )
(PHP 3 >= 3.0.4, PHP 4, PHP 5)
Die Funktion uasort() sortiert ein Array nach den Werten seiner Elemente auf Basis der Reihenfolge, die von einer benutzerdefinierten Funktion vorgegeben wird.
Detailbeschreibung

nach unten nach oben uksort

void uksort ( array array, callback cmp_function )
(PHP 3 >= 3.0.4, PHP 4, PHP 5)
Die Funktion uksort() sortiert ein Array nach den Schlüsseln seiner Elemente auf Basis der Reihenfolge, die von einer benutzerdefinierten Funktion vorgegeben wird.
Detailbeschreibung

nach unten nach oben usort

void usort ( array array, callback cmp_function )
(PHP 3 >= 3.0.3, PHP 4, PHP 5)
Die Funktion usort() sortiert ein assoziatives Array nach den Werten seiner Elemente auf Basis der Reihenfolge, die von einer benutzerdefinierten Funktion vorgegeben wird.
Detailbeschreibung

Zurück: Funktionsübersicht

Weiter: Crack-Funktionen


Funktionsübersicht / Crack-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Crack-Funktionen

nach unten crack_check nach unten crack_closedict nach unten crack_getlastmessage
nach unten crack_opendict

nach unten nach oben crack_check

bool crack_check ( [resource dictionary, string password] )
(PHP 4 >= 4.0.5, PECL)
Mit crack_check() wird anhand eines Wörterbuches ein Passwort auf seine Länge und Stärke hin überprüft.
Detailbeschreibung

nach unten nach oben crack_closedict

bool crack_closedict ( [resource dictionary] )
(PHP 4 >= 4.0.5, PECL)
Mit crack_closedict() wird ein zuvor geöffnetes Wörterbuch wieder geschlossen.
Detailbeschreibung

nach unten nach oben crack_getlastmessage

string crack_getlastmessage ( void )
(PHP 4 >= 4.0.5, PECL)
Mit crack_getlastmessage() können sie eine Statusmeldung anfordern, die eine Tauglichkeitmeldung ihres Passwortes beeinhaltet.
Detailbeschreibung

nach unten nach oben crack_opendict

resource crack_opendict ( string dictionary )
(PHP 4 >= 4.0.5, PECL)
Mit crack_opendict() wird ein Cracklib Wörterbuch geöffnet um dieses für Passwortüberprüfungen zu nutzen.
Detailbeschreibung

Zurück: Array-Funktionen

Weiter: Dateisystem-Funktionen


Funktionsübersicht / Dateisystem-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateisystem-Funktionen

nach unten basename | nach unten chgrp | nach unten chmod
nach unten chown | nach unten clearstatcache | nach unten copy
nach unten dirname | nach unten diskfreespace | nach unten disk_total_space
nach unten fclose | nach unten feof | nach unten fflush
nach unten fgetc | nach unten fgetcsv | nach unten fgets
nach unten fgetss | nach unten file | nach unten fileatime
nach unten filectime | nach unten filegroup | nach unten fileinode
nach unten filemtime | nach unten fileowner | nach unten fileperms
nach unten filesize | nach unten filetype | nach unten file_exists
nach unten flock | nach unten fopen | nach unten fpassthru
nach unten fputs | nach unten fread | nach unten fscanf
nach unten fseek | nach unten fstat | nach unten ftell
nach unten ftruncate | nach unten fwrite | nach unten is_dir
nach unten is_executable | nach unten is_file | nach unten is_link
nach unten is_readable | nach unten is_uploaded_file | nach unten is_writeable
nach unten link | nach unten linkinfo | nach unten lstat
nach unten move_uploaded_file | nach unten parse_ini_file | nach unten pathinfo
nach unten pclose | nach unten popen | nach unten readfile
nach unten readlink | nach unten realpath | nach unten rename
nach unten rewind | nach unten set_file_buffer | nach unten stat
nach unten symlink | nach unten tempnam | nach unten tmpfile
nach unten touch | nach unten umask | nach unten unlink

nach unten nach oben basename

string basename ( string path [, string suffix] )
(PHP 3, PHP 4, PHP 5)
Extrahiert den Namen aus einer vollständigen Pfadangabe
Detailbeschreibung

nach unten nach oben chgrp

int chgrp ( string filename, mixed group )
(PHP 3, PHP 4, PHP 5)
Ändert die Gruppenzugehörigkeit einer Datei
Detailbeschreibung

nach unten nach oben chmod

bool chmod ( string filename, int mode )
(PHP 3, PHP 4, PHP 5)
Ändert die Zugriffsrechte einer Datei
Detailbeschreibung

nach unten nach oben chown

bool chown ( string filename, mixed user )
(PHP 3, PHP 4, PHP 5)
Ändert den Eigentümer einer Datei
Detailbeschreibung

nach unten nach oben clearstatcache

void clearstatcache ( void )
(PHP 3, PHP 4, PHP 5)
Leert den Status-Cache
Detailbeschreibung

nach unten nach oben copy

bool copy ( string source, string dest )
(PHP 3, PHP 4, PHP 5)
Kopiert eine Datei
Detailbeschreibung

nach unten nach oben dirname

string dirname ( string path )
(PHP 3, PHP 4, PHP 5)
Extrahiert den Verzeichnisnamen aus einer Pfadangabe
Detailbeschreibung

nach unten nach oben diskfreespace

float diskfreespace ( string directory )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Ermittelt den freien Speicherplatz in einem Verzeichnis
Detailbeschreibung

nach unten nach oben disk_total_space

float disk_total_space ( string directory )
(PHP 4 >= 4.1.0, PHP 5)
Ermittelt den gesamten Speicherplatz eines Verzeichnis
Detailbeschreibung

nach unten nach oben fclose

bool fclose ( resource handle )
(PHP 3, PHP 4, PHP 5)
Schließt einen Dateizeiger
Detailbeschreibung

nach unten nach oben feof

bool feof ( resource handle )
(PHP 3, PHP 4, PHP 5)
Überprüft, ob der Dateizeiger am Ende der Datei steht
Detailbeschreibung

nach unten nach oben fflush

bool fflush ( resource handle )
(PHP 4 >= 4.0.1, PHP 5)
Der Ausgabepuffer wird in eine Datei geschrieben
Detailbeschreibung

nach unten nach oben fgetc

string fgetc ( resource handle )
(PHP 3, PHP 4, PHP 5)
Ein einzelnes Zeichen wird von der Position des Dateizeigers gelesen
Detailbeschreibung

nach unten nach oben fgetcsv

array fgetcsv ( resource handle, int length [, string delimiter [, string enclosure]] )
(PHP 3 >= 3.0.8, PHP 4, PHP 5)
$Uuml;berprüft eine Zeile auf Kommaseparierte Werte
Detailbeschreibung

nach unten nach oben fgets

string fgets ( resource handle [, int length] )
(PHP 3, PHP 4, PHP 5)
Ein einzelne Zeile wird von der Position des Dateizeigers gelesen
Detailbeschreibung

nach unten nach oben fgetss

string fgetss ( resource handle, int length [, string allowable_tags] )
(PHP 3, PHP 4, PHP 5)
Ein einzelnes Zeichen wird von der Position des Dateizeigers gelesen. HTML- bzw. PHP-Tags werden entfernt
Detailbeschreibung

nach unten nach oben file

array file ( string filename [, int use_include_path] )
(PHP 3, PHP 4, PHP 5)
Liest eine Datei zeilenweise in ein Array
Detailbeschreibung

nach unten nach oben fileatime

int fileatime ( string filename )
(PHP 3, PHP 4, PHP 5)
Datum und Uhrzeit des letzten Zugriffs auf die Datei
Detailbeschreibung

nach unten nach oben filectime

int filectime ( string filename )
(PHP 3, PHP 4, PHP 5)
Datum und Uhrzeit der letzten Änderung der Datei
Detailbeschreibung

nach unten nach oben filegroup

int filegroup ( string filename )
(PHP 3, PHP 4, PHP 5)
Listet die Gruppe, welche die Datei angehört
Detailbeschreibung

nach unten nach oben fileinode

int fileinode ( string filename )
(PHP 3, PHP 4, PHP 5)
Listet die Inode-Nummer einer Datei
Detailbeschreibung

nach unten nach oben filemtime

int filemtime ( string filename )
(PHP 3, PHP 4, PHP 5)
Datum und Uhrzeit der letzten Änderung der Datei
Detailbeschreibung

nach unten nach oben fileowner

int fileowner ( string filename )
(PHP 3, PHP 4, PHP 5)
Listet den Besitzer der Datei
Detailbeschreibung

nach unten nach oben fileperms

int fileperms ( string filename )
(PHP 3, PHP 4, PHP 5)
Listet die Zugriffsrechte einer Datei
Detailbeschreibung

nach unten nach oben filesize

int filesize ( string filename )
(PHP 3, PHP 4, PHP 5)
Liefert die Dateigröße
Detailbeschreibung

nach unten nach oben filetype

string filetype ( string filename )
(PHP 3, PHP 4, PHP 5)
Liefert den Datei-Typ
Detailbeschreibung

nach unten nach oben file_exists

bool file_exists ( string filename )
(PHP 3, PHP 4, PHP 5)
Eine Datei wird auf Existenz hin überprüft
Detailbeschreibung

nach unten nach oben flock

bool flock ( resource handle, int operation [, int &wouldblock] )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Verriegelt eine Datei
Detailbeschreibung

nach unten nach oben fopen

resource fopen ( string filename, string mode [, int use_include_path [, resource zcontext]] )
(PHP 3, PHP 4, PHP 5)
Öffnet eine Datei oder URL
Detailbeschreibung

nach unten nach oben fpassthru

int fpassthru ( resource handle )
(PHP 3, PHP 4, PHP 5)
Alle restlichen Daten eines Dateizeigers werden ausgegeben
Detailbeschreibung

nach unten nach oben fputs

int fputs ( resource handle, string str [, int length] )
(PHP 3, PHP 4, PHP 5)
Schreibt Daten an die Stelle des Dateizeigers
Detailbeschreibung

nach unten nach oben fread

string fread ( resource handle, int length )
(PHP 3, PHP 4, PHP 5)
List binäre Daten aus einer Datei
Detailbeschreibung

nach unten nach oben fscanf

mixed fscanf ( resource handle, string format [, string var1] )
(PHP 4 >= 4.0.1, PHP 5)
Sieht die Eingabe einer Datei entsprechend einem angegebenen Format
Detailbeschreibung

nach unten nach oben fseek

int fseek ( resource handle, int offset [, int whence] )
(PHP 3, PHP 4, PHP 5)
Positioniert einen Dateizeiger
Detailbeschreibung

nach unten nach oben fstat

array fstat ( resource handle )
(PHP 4, PHP 5)
Stellt Informationen über eine Datei mit einem geöffneten Dateizeiger bereit
Detailbeschreibung

nach unten nach oben ftell

int ftell ( resource handle )
(PHP 3, PHP 4, PHP 5)
Bestimmt die aktuelle Position des Dateizeiger
Detailbeschreibung

nach unten nach oben ftruncate

bool ftruncate ( resource handle, int size )
(PHP 4, PHP 5)
Verkürzt eine Datei um die angegebene Länge
Detailbeschreibung

nach unten nach oben fwrite

int fwrite ( resource handle, string string [, int length] )
(PHP 3, PHP 4, PHP 5)
Binärdaten werden in eine Datei geschrieben
Detailbeschreibung

nach unten nach oben is_dir

bool is_dir ( string filename )
(PHP 3, PHP 4, PHP 5)
Überprüft, ob der angegebene Dateiname ein Verzeichnis ist
Detailbeschreibung

nach unten nach oben is_executable

bool is_executable ( string filename )
(PHP 3, PHP 4, PHP 5)
Überprüft, ob die angegebene Datei ausführbar ist
Detailbeschreibung

nach unten nach oben is_file

bool is_file ( string filename )
(PHP 3, PHP 4, PHP 5)
Überprüft, ob der angegebene Dateiname eine reguläre Datei ist
Detailbeschreibung

nach unten nach oben is_link

bool is_link ( string filename )
(PHP 3, PHP 4, PHP 5)
Überprüft, ob der angegebene Dateiname ein symbolischer Link ist
Detailbeschreibung

nach unten nach oben is_readable

bool is_readable ( string filename )
(PHP 3, PHP 4, PHP 5)
Überprüft, ob die angegebene Datei lesbar ist
Detailbeschreibung

nach unten nach oben is_uploaded_file

bool is_uploaded_file ( string filename )
(PHP 3 >= 3.0.17, PHP 4 >= 4.0.3, PHP 5)
Überprüft, ob eine Datei mit HTTP upgeloaded wurde
Detailbeschreibung

nach unten nach oben is_writeable

bool is_writeable ( string filename )
(PHP 3, PHP 4, PHP 5)
Überprüft, ob die angegebene Datei beschreibbar ist
Detailbeschreibung

nach unten nach oben link

int link ( string target, string link )
(PHP 3, PHP 4, PHP 5)
Es wird ein absoluter Link erzeugt
Detailbeschreibung

nach unten nach oben linkinfo

int linkinfo ( string path )
(PHP 3, PHP 4, PHP 5)
Es werden Informationen über ein Link geliefert
Detailbeschreibung

nach unten nach oben lstat

array lstat ( string filename )
(PHP 3 >= 3.0.4, PHP 4, PHP 5)
Es werden Informationen über eine Datei oder einen symbolischen Link geliefert
Detailbeschreibung

nach unten nach oben move_uploaded_file

bool move_uploaded_file ( string filename, string destination )
(PHP 4 >= 4.0.3, PHP 5)
Eine upgeloadete Datei wird verschoben
Detailbeschreibung

nach unten nach oben parse_ini_file

array parse_ini_file ( string filename [, bool process_sections] )
(PHP 4, PHP 5)
Liefert Informationen aus einer Konfigurationsdatei
Detailbeschreibung

nach unten nach oben pathinfo

array pathinfo ( string path )
(PHP 4 >= 4.0.3, PHP 5)
Es werden Informationen über den Dateipfad geliefert
Detailbeschreibung

nach unten nach oben pclose

int pclose ( resource handle )
(PHP 3, PHP 4, PHP 5)
Es wird ein Prozess-Dateizeiger geschlossen
Detailbeschreibung

nach unten nach oben popen

resource popen ( string command, string mode )
(PHP 3, PHP 4, PHP 5)
Es wird ein Prozess-Dateizeiger geöffnet
Detailbeschreibung

nach unten nach oben readfile

int readfile ( string filename [, int use_include_path] )
(PHP 3, PHP 4, PHP 5)
Es wird eine Datei ausgegeben
Detailbeschreibung

nach unten nach oben readlink

string readlink ( string path )
(PHP 3, PHP 4, PHP 5)
Das Ziel eines symbolischen Link wird geliefert
Detailbeschreibung

nach unten nach oben realpath

string realpath ( string path )
(PHP 4, PHP 5)
Es wird ein absoluter Pfadname erzeugt
Detailbeschreibung

nach unten nach oben rename

bool rename ( string oldname, string newname [, resource context] )
(PHP 3, PHP 4, PHP 5)
Ändert den Namen einer Datei
Detailbeschreibung

nach unten nach oben rewind

int rewind ( resource handle )
(PHP 3, PHP 4, PHP 5)
Der Dateizeiger wird auf das erste Byte einer Datei gesetzt
Detailbeschreibung

nach unten nach oben set_file_buffer

int set_file_buffer (int fp, int buffer)
(PHP 3 >= 3.0.8, PHP 4 >= 4.0.1, PHP 5)
Es wird eine Dateipufferung für einen Dateizeiger gesetzt
Detailbeschreibung

nach unten nach oben stat

array stat ( string filename )
(PHP 3, PHP 4, PHP 5)
Es werden verschiedene Informationen über eine Datei geliefert
Detailbeschreibung

nach unten nach oben symlink

int symlink ( string target, string link )
(PHP 3, PHP 4, PHP 5)
Es wird ein symbolischer Link erzeugt
Detailbeschreibung

nach unten nach oben tempnam

string tempnam ( string dir, string prefix )
(PHP 3, PHP 4, PHP 5)
Es wird ein eindeutiger Dateiname erzeugt
Detailbeschreibung

nach unten nach oben tmpfile

resource tmpfile ( void )
(PHP 3 >= 3.0.13, PHP 4, PHP 5)
Es wird eine temporäre Datei erstellt
Detailbeschreibung

nach unten nach oben touch

int touch ( string filename [, int time [, int atime]] )
(PHP 3, PHP 4, PHP 5)
Es wird das Datum der letzten Änderung gesetzt
Detailbeschreibung

nach unten nach oben umask

int umask ( [int mask] )
(PHP 3, PHP 4, PHP 5)
Es werden die aktuelle Zugriffsrechte geändert
Detailbeschreibung

nach unten nach oben unlink

int unlink ( string filename )
(PHP 3, PHP 4, PHP 5)
Löscht eine Datei
Detailbeschreibung

Zurück: Crack-Funktionen

Weiter: Datums- und Zeit-Funktionen


Funktionsübersicht / Datums- und Zeit-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datums- und Zeit-Funktionen

nach unten checkdate | nach unten date | nach unten getdate
nach unten gettimeofday | nach unten gmdate | nach unten gmmktime
nach unten gmstrftime | nach unten localtime | nach unten microtime
nach unten mktime | nach unten strftime | nach unten strtotime
nach unten time

nach unten nach oben checkdate

bool checkdate ( int Monat, int Tag, int Jahr )
(PHP 3, PHP 4, PHP 5)
Mit checkdate() kann man ein Datum auf Gültigkeit überprüfen.
Detailbeschreibung

nach unten nach oben date

string date ( string Format [, int Timestamp] )
(PHP 3, PHP 4, PHP 5)
Mit date() kann man eine Zeitangabe formatieren oder auswerten.
Detailbeschreibung

nach unten nach oben getdate

array getdate ( [int Timestamp] )
(PHP 3, PHP 4, PHP 5)
Mit getdate() kann man Informationen über eine Zeitangabe ermitteln.
Detailbeschreibung

nach unten nach oben gettimeofday

array gettimeofday ( void )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Mit gettimeofday() kann man sich die aktuelle Zeit zurückgeben lassen.
Detailbeschreibung

nach unten nach oben gmdate

string gmdate ( string Format [, int Timestamp] )
(PHP 3, PHP 4, PHP 5)
Mit gmdate() kann man sich eine GMT-Zeitangabe formatieren und auswerten lassen.
Detailbeschreibung

nach unten nach oben gmmktime

int gmmktime ( [int Stunde [, int Minute [, int Sekunde [, int Monat [, int Tag [, int Jahr [, int is_dst]]]]]]] )
(PHP 3, PHP 4, PHP 5)
Mit der Funktion gmmktime() kann man sich den UNIX-Timestamp für eine bestimmte Uhrzeit und ein bestimmtes Datum zurückgeben lassen.
Detailbeschreibung

nach unten nach oben gmstrftime

string gmstrftime ( string Format [, int Timestamp] )
(PHP 3 >= 3.0.12, PHP 4, PHP 5)
Die Funktion gmstrftime() bewirkt das Gleiche wie strftime(), aber mit einem gravierenden Unterschied: gmstrftime() liefert ihre Ergebnisse als GMT-Zeit zurück.
Detailbeschreibung

nach unten nach oben localtime

array localtime ( [int Timestamp [, bool is_associative]] )
(PHP 4, PHP 5)
Mit dem Befehl localtime() kann man sich ein Array liefern lassen, das Informationen über die angegebene Zeit enthält.
Detailbeschreibung

nach unten nach oben microtime

mixed microtime ( [bool get_as_float] )
(PHP 3, PHP 4, PHP 5)
Gibt die aktuelle Uhrzeit als Zeichenkette in der Form - Mikrosekunden Sekunden - zurück
Detailbeschreibung

nach unten nach oben mktime

int mktime ( [int Stunde [, int Minute [, int Sekunde [, int Monat [, int Tag [, int Jahr [, int is_dst]]]]]]] )
(PHP 3, PHP 4, PHP 5)
Mit mktime() kann man sich den UNIX-Timestamp für eine bestimmte Uhrzeit und ein bestimmtes Datum zurückgeben lassen.
Detailbeschreibung

nach unten nach oben strftime

string strftime ( string format [, int Timestamp] )
(PHP 3, PHP 4, PHP 5)
Mit strftime() formatiert man eine Zeitangabe entsprechend den lokalen Spracheinstellungen.
Detailbeschreibung

nach unten nach oben strtotime

int strtotime ( string time [, int now] )
(PHP 3 >= 3.0.12, PHP 4, PHP 5)
Mit strtotime() kann man sich eine Datums-/Zeitangabe in einen UNIX-Timestamp umwandeln lassen.
Detailbeschreibung

nach unten nach oben time

int time ( void )
(PHP 3, PHP 4, PHP 5)
Mit time() kann man sich den aktuellen UNIX-Zeitstempel zurückgeben lassen.
Detailbeschreibung

Zurück: Dateisystem-Funktionen

Weiter: Functions-Funktionen


Funktionsübersicht / Functions-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Functions-Funktionen

nach unten call_user_func | nach unten call_user_func_array | nach unten create_function
nach unten function_exists | nach unten func_get_arg | nach unten func_get_args
nach unten func_num_args | nach unten get_defined_functions | nach unten register_shutdown_function

nach unten nach oben call_user_func

mixed call_user_func ( string function_name [, mixed parameter [, mixed ...]] )
(PHP 3 >= 3.0.3, PHP 4, PHP 5)
Mit call_user_func() kann man eine benutzerdefinierte Funktion aufrufen.
Detailbeschreibung

nach unten nach oben call_user_func_array

mixed call_user_func_array ( callback function, array param_arr )
(PHP 4 >= 4.0.4, PHP 5)
Mit call_user_func_array() kann man eine benutzerdefinierte Funktion aufrufen.
Detailbeschreibung

nach unten nach oben create_function

string create_function ( string args, string code )
(PHP 4 >= 4.0.1, PHP 5)
Mit create_function() können Sie eine temporäre Funktion erstellen, in der Sie normalen PHP-Code ausführen lassen können.
Detailbeschreibung

nach unten nach oben function_exists

bool function_exists ( string function_name )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Mit function_exists() kann man überprüfen, ob eine Funktion vorhanden ist.
Detailbeschreibung

nach unten nach oben func_get_arg

int func_get_arg ( int arg_num )
(PHP 4, PHP 5)
Mit func_get_arc() kann man sich den Wert eines Arguments zurückgeben lassen, der an die aktuelle Funktion übergeben wurde.
Detailbeschreibung

nach unten nach oben func_get_args

array func_get_args ( void )
(PHP 4, PHP 5)
Mit func_get_args() kann man sich ein Array zurückgeben lassen, das als Elemente sämtliche Argumente enthält, mit denen die aktuelle Funktion aufgerufen wurde.
Detailbeschreibung

nach unten nach oben func_num_args

int func_num_args ( void )
(PHP 4, PHP 5)
mit func_num_args() kann man sich die Anzahl der Argumente zurückgeben lassen, mit denen die aktuelle Funktion aufgerufen wurde.
Detailbeschreibung

nach unten nach oben get_defined_functions

array get_defined_functions ( void )
(PHP 4 >= 4.0.4, PHP 5)
Mit get_defined_functions() kann man sich eine Liste aller definierten Funktionen zurückgeben lassen.
Detailbeschreibung

nach unten nach oben register_shutdown_function

int register_shutdown_function ( string func )
(PHP 3 >= 3.0.4, PHP 4, PHP 5)
Mit register_shutdown_function() registriert man eine Funktion, welche bei Beendigung des Skripts (normal oder durch Abbruch) noch ausgeführt wird.
Detailbeschreibung

Zurück: Datums- und Zeit-Funktionen

Weiter: Image-Funktionen


Funktionsübersicht / Image-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Image-Funktionen

nach unten getimagesize | nach unten imagearc | nach unten imagechar
nach unten imagecharup | nach unten imagecolorallocate | nach unten imagecolorat
nach unten imagecolorclosest | nach unten imagecolordeallocate | nach unten imagecolorexact
nach unten imagecolorresolve | nach unten imagecolorset | nach unten imagecolorsforindex
nach unten imagecolorstotal | nach unten imagecolortransparent | nach unten imagecopy
nach unten imagecopyresized | nach unten imagecreate | nach unten imagecreatefromgif
nach unten imagecreatefromjpeg | nach unten imagecreatefrompng | nach unten imagecreatefromwbmp
nach unten imagedashedline | nach unten imagedestroy | nach unten imagefill
nach unten imagefilledpolygon | nach unten imagefilledrectangle | nach unten imagefilltoborder
nach unten imagefontheight | nach unten imagefontwidth | nach unten imagegammacorrect
nach unten imagegif | nach unten imageinterlace | nach unten imagejpeg
nach unten imageline | nach unten imagepng | nach unten imagepolygon
nach unten imagerectangle | nach unten imagesetpixel | nach unten imagestring
nach unten imagestringup | nach unten imagesx | nach unten imagesy
nach unten imagettfbbox | nach unten imagettftext | nach unten imagetypes
nach unten imagewbmp

nach unten nach oben getimagesize

array getimagesize ( string filename [, array imageinfo] )
(PHP 3, PHP 4, PHP 5)
Ermittelt verschiedene Informationen über eine Grafik
Detailbeschreibung

nach unten nach oben imagearc

int imagearc ( int im, int cx, int cy, int w, int h, int s, int e, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet eine Teil-Ellipse
Detailbeschreibung

nach unten nach oben imagechar

int imagechar ( int im, int font, int x, int y, string c, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet einen einzelnen horizontalen String (Zeichen)
Detailbeschreibung

nach unten nach oben imagecharup

int imagecharup ( int im, int font, int x, int y, string c, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet einen einzelnen vertikalen String (Zeichen)
Detailbeschreibung

nach unten nach oben imagecolorallocate

int imagecolorallocate ( int im, int red, int green, int blue )
(PHP 3, PHP 4, PHP 5)
Legt die Farbe einer Grafik fest
Detailbeschreibung

nach unten nach oben imagecolorat

int imagecolorat ( int im, int x, int y )
(PHP 3, PHP 4, PHP 5)
Ermittelt den genauen Farbwert eines Bildpunktes
Detailbeschreibung

nach unten nach oben imagecolorclosest

int imagecolorclosest ( int im, int red, int green, int blue )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Farb-ID, welcher der angegebenen ähnelt
Detailbeschreibung

nach unten nach oben imagecolordeallocate

int imagecolordeallocate ( int im, int index )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Löscht eine bereits zugewiesene Farbe
Detailbeschreibung

nach unten nach oben imagecolorexact

int imagecolorexact ( int im, int red, int green, int blue )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Farb-ID der angegebenen Farbe
Detailbeschreibung

nach unten nach oben imagecolorresolve

int imagecolorresolve ( int im, int red, int green, int blue )
(PHP 3 >= 3.0.2, PHP 4, PHP 5)
Ermittelt die Farb-ID, welcher der angegebenen ähnelt
Detailbeschreibung

nach unten nach oben imagecolorset

bool imagecolorset ( int im, int index, int red, int green, int blue )
(PHP 3, PHP 4, PHP 5)
Ändert den Farbwert innerhalb eines Bildes
Detailbeschreibung

nach unten nach oben imagecolorsforindex

array imagecolorsforindex ( int im, int index )
(PHP 3, PHP 4, PHP 5)
Ermittelt die RGB-Farbwerte für eine angegebene Farbe
Detailbeschreibung

nach unten nach oben imagecolorstotal

int imagecolorstotal ( int im )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Anzahl der Farbwerte eines Bildes
Detailbeschreibung

nach unten nach oben imagecolortransparent

int imagecolortransparent ( int im [, int col] )
(PHP 3, PHP 4, PHP 5)
Setzt eine angegebene Farbe auf Transparent
Detailbeschreibung

nach unten nach oben imagecopy

int ImageCopy ( int dst_im, int src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
imagecopy
Detailbeschreibung

nach unten nach oben imagecopyresized

int imagecopyresized ( resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH )
(PHP 3, PHP 4, PHP 5)
Kopiert und ändert einen vordefinierten Bildausschnitt
Detailbeschreibung

nach unten nach oben imagecreate

resource imagecreate ( int x_size, int y_size )
(PHP 3, PHP 4, PHP 5)
Erstellt ein neues Bild
Detailbeschreibung

nach unten nach oben imagecreatefromgif

int imagecreatefromgif ( string filename )
(PHP 3, PHP 4, PHP 5)
Erzeugt ein neues GIF-Bild aus einer Datei
Detailbeschreibung

nach unten nach oben imagecreatefromjpeg

int imagecreatefromjpeg ( string filename )
(PHP 3 >= 3.0.16, PHP 4, PHP 5)
Erzeugt ein neues JPEG-Bild aus einer Datei
Detailbeschreibung

nach unten nach oben imagecreatefrompng

int imagecreatefrompng ( string filename )
(PHP 3 >= 3.0.13, PHP 4, PHP 5)
Erzeugt ein neues PNG-Bild aus einer Datei
Detailbeschreibung

nach unten nach oben imagecreatefromwbmp

resource imagecreatefromwbmp ( string filename )
(PHP 4 >= 4.0.1, PHP 5)
Erzeugt ein neues Bild aus einer WBMP-Datei
Detailbeschreibung

nach unten nach oben imagedashedline

int imagedashedline ( int im, int x1, int y1, int x2, int y2, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet eine gestrichelte Linie
Detailbeschreibung

nach unten nach oben imagedestroy

int imagedestroy ( int im )
(PHP 3, PHP 4, PHP 5)
Löscht ein bestehendes Bild
Detailbeschreibung

nach unten nach oben imagefill

int imagefill ( int im, int x, int y, int col )
(PHP 3, PHP 4, PHP 5)
Füllt ein Bild mit Farbe
Detailbeschreibung

nach unten nach oben imagefilledpolygon

int imagefilledpolygon ( int im, array points, int num_points, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet ein mit Farbe gefülltes Polygon(Vieleck)
Detailbeschreibung

nach unten nach oben imagefilledrectangle

int imagefilledrectangle ( int im, int x1, int y1, int x2, int y2, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet ein mit Farbe gefülltes Rechteck
Detailbeschreibung

nach unten nach oben imagefilltoborder

int imagefilltoborder ( int im, int x, int y, int border, int col )
(PHP 3, PHP 4, PHP 5)
Füllt ein Bild mit Farbe bis zu einem Objekt
Detailbeschreibung

nach unten nach oben imagefontheight

int imagefontheight ( int font )
(PHP 3, PHP 4, PHP 5)
Ermittel die Höhe eines Font
Detailbeschreibung

nach unten nach oben imagefontwidth

int imagefontwidth ( int font )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Breite eines Font
Detailbeschreibung

nach unten nach oben imagegammacorrect

int imagegammacorrect ( int im, double inputgamma, double outputgamma )
(PHP 3 >= 3.0.13, PHP 4, PHP 5)
Änderung eines Bildes mittels eine Gamma-Korrektur
Detailbeschreibung

nach unten nach oben imagegif

int imagegif ( int im [, string filename] )
(PHP 3, PHP 4, PHP 5)
Gibt ein GIF-Bild an den Browser oder in eine Datei aus
Detailbeschreibung

nach unten nach oben imageinterlace

int imageinterlace ( int im [, int interlace] )
(PHP 3, PHP 4, PHP 5)
Setzt den Interlaced-Modus
Detailbeschreibung

nach unten nach oben imagejpeg

int imagejpeg ( int im [, string filename [, int quality]] )
(PHP 3 >= 3.0.16, PHP 4, PHP 5)
Gibt ein JPEG-Bild an den Browser oder in eine Datei aus
Detailbeschreibung

nach unten nach oben imageline

int imageline ( int im, int x1, int y1, int x2, int y2, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet eine Linie
Detailbeschreibung

nach unten nach oben imagepng

int imagepng ( int im [, string filename] )
(PHP 3 >= 3.0.13, PHP 4, PHP 5)
Gibt ein PNG-Bild an den Browser oder in eine Datei aus
Detailbeschreibung

nach unten nach oben imagepolygon

int imagepolygon ( int im, array points, int num_points, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet ein Polygon(Vieleck)
Detailbeschreibung

nach unten nach oben imagerectangle

int imagerectangle ( int im, int x1, int y1, int x2, int y2, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet ein Rechteck
Detailbeschreibung

nach unten nach oben imagesetpixel

int imagesetpixel ( int im, int x, int y, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet ein einzelnes Pixel
Detailbeschreibung

nach unten nach oben imagestring

int imagestring ( int im, int font, int x, int y, string s, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet ein horizontalen String (Zeichenkette)
Detailbeschreibung

nach unten nach oben imagestringup

int imagestringup ( int im, int font, int x, int y, string s, int col )
(PHP 3, PHP 4, PHP 5)
Zeichnet ein vertikalen String (Zeichenkette)
Detailbeschreibung

nach unten nach oben imagesx

int imagesx ( int im )
(PHP 3, PHP 4, PHP 5)
Ermittelt die aktuelle Breite eines Bildes
Detailbeschreibung

nach unten nach oben imagesy

int imagesy ( int im )
(PHP 3, PHP 4, PHP 5)
Ermittelt die aktuelle Höhe eines Bildes
Detailbeschreibung

nach unten nach oben imagettfbbox

array imagettfbbox ( int size, int angle, string fontfile, string text )
(PHP 3 >= 3.0.1, PHP 4, PHP 5)
Ermittelt die Maße einer True-Type-Schrift
Detailbeschreibung

nach unten nach oben imagettftext

array imagettftext ( int im, int size, int angle, int x, int y, int col, string fontfile, string text )
(PHP 3, PHP 4, PHP 5)
Erstellt ein beliebigen TTF-Text in einem Bild
Detailbeschreibung

nach unten nach oben imagetypes

int imagetypes ( void )
(PHP 3 CVS only, PHP 4 >= 4.0.2, PHP 5)
Gibt alle unterstützten Bildformate innerhalb von PHP aus
Detailbeschreibung

nach unten nach oben imagewbmp

bool imagewbmp ( resource image [, string filename [, int foreground]] )
(PHP 3 >= 3.0.15, PHP 4 >= 4.0.1, PHP 5)
Gibt ein WBMP-Bild an den Browser oder in eine Datei aus
Detailbeschreibung

Zurück: Functions-Funktionen

Weiter: Klassen und Objekt-Funktionen


Funktionsübersicht / Übersicht Funktionsreferenz

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Funktionsübersicht

Sie finden nachfolgend eine Auflistung der in SELFPHP beschriebenen Funktionen von PHP. Die hier in Kurzform beschriebenen Funktionen geben Ihnen einen schnellen Überblick über die Möglichkeiten bei der Programmierung und sind jeweils mit der Funktionsreferenz verlinkt, so dass Sie sich den jeweiligen Befehl ausführlich anschauen können.

Array-Funktionen
Crack-Funktionen
Dateisystem-Funktionen
Datums- und Zeit-Funktionen
Functions-Funktionen
Image-Funktionen
Klassen und Objekt-Funktionen
Kontroll-Mechanismen
Mail-Funktionen
Mathematische-Funktionen
MySQL-Funktionen
PDF-Funktionen
PHP-Deklaration
PHP-Informationen
Reguläre Ausdrücke (POSIX)
Session-Funktionen
Sonstige-Funktionen
String-Funktionen
URL-Funktionen
Variablen-Funktionen
Verzeichnis-Funktionen


Funktionsübersicht / Klassen und Objekt-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Klassen und Objekt-Funktionen

nach unten call_user_method | nach unten call_user_method_array | nach unten class_exists
nach unten get_class | nach unten get_class_methods | nach unten get_class_vars
nach unten get_declared_classes | nach unten get_declared_interfaces | nach unten get_object_vars
nach unten get_parent_class | nach unten is_a | nach unten is_subclass_of
nach unten method_exists

nach unten nach oben call_user_method

mixed call_user_method ( string method_name, object obj [, mixed parameter [, mixed ...]] )
(PHP 3 >= 3.0.3, PHP 4, PHP 5)
Mit call_user_method() kann man eine benutzerdefinierte Methode eines Objektes aufrufen.
Detailbeschreibung

nach unten nach oben call_user_method_array

mixed call_user_method_array ( string method_name, object &obj, array paramarr )
(PHP 4 >= 4.0.5, PHP 5)
Mit call_user_method_array() kann man ein Array mit Werten an eine Methode eines Objekts übergeben.
Detailbeschreibung

nach unten nach oben class_exists

bool class_exists ( string class_name )
(PHP 4, PHP 5)
Mit class_exists() kann man überprüfen, ob eine Klasse deklariert wurde.
Detailbeschreibung

nach unten nach oben get_class

string get_class ( object obj )
(PHP 4, PHP 5)
Mit get_class() kann man sich den Namen der Klasse eines Objektes zurückgeben lassen.
Detailbeschreibung

nach unten nach oben get_class_methods

array get_class_methods ( string class_name )
(PHP 4, PHP 5)
Mit get_class_methods() kann man sich alle Methoden in einer Klasse zurückgeben lassen.
Detailbeschreibung

nach unten nach oben get_class_vars

array get_class_vars ( string class_name )
(PHP 4, PHP 5)
Mit get_class_vars() kann man sich alle Standardelemente einer Klasse zurückgeben lassen.
Detailbeschreibung

nach unten nach oben get_declared_classes

array get_declared_classes ( void )
(PHP 4, PHP 5)
Mit get_declared_classes() kann man sich innerhalb eines Skripts alle deklarierten Klassen zurückgeben lassen.
Detailbeschreibung

nach unten nach oben get_declared_interfaces

array get_declared_interfaces ( void )
(PHP 5)
Mit get_declared_interfaces() kann man sich innerhalb eines Skripts alle deklarierten Interfaces (Schnittstellen) zurückgeben lassen.
Detailbeschreibung

nach unten nach oben get_object_vars

array get_object_vars ( object obj )
(PHP 4, PHP 5)
Mit get_object_vars() kann man sich alle Mitgliedsvariablen eines Objekts zurückgeben lassen.
Detailbeschreibung

nach unten nach oben get_parent_class

string get_parent_class ( mixed obj )
(PHP 4, PHP 5)
Mit get_parent_class() kann man anhand eines Objekts, das Instanz einer Subklasse ist, den Namen der Basisklasse ermitteln.
Detailbeschreibung

nach unten nach oben is_a

bool is_a ( object object, string class_name )
(PHP 4 >= 4.2.0, PHP 5)
Mit is_a() kann man überprüfen, ob eine Klasse innerhalb eines Objekts definiert ist.
Detailbeschreibung

nach unten nach oben is_subclass_of

bool is_subclass_of ( object obj, string superclass )
(PHP 4, PHP 5)
Mit is_subclass_of() kann man überprüfen, ob es sich bei dem zu untersuchenden Objekt um die Instanz einer Subklasse der Basisklasse superclass handelt.
Detailbeschreibung

nach unten nach oben method_exists

bool method_exists ( object object, string method_name )
(PHP 4, PHP 5)
Mit method_exists() kann man überprüfen, ob eine Methode innerhalb eines Objekts definiert ist.
Detailbeschreibung

Zurück: Image-Funktionen

Weiter: Kontroll-Mechanismen


Funktionsübersicht / Kontroll-Mechanismen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kontroll-Mechanismen

nach unten break | nach unten continue | nach unten do_while
nach unten dynamische_variablen | nach unten for | nach unten foreach
nach unten if | nach unten if_else | nach unten if_else_elseif
nach unten include | nach unten include_once | nach unten require
nach unten require_once | nach unten switch | nach unten vordefinierte_variablen
nach unten while

nach unten nach oben break

break [int Sequenz]
()
break
Detailbeschreibung

nach unten nach oben continue

continue
()
continue
Detailbeschreibung

nach unten nach oben do_while

do...while
()
do...while
Detailbeschreibung

nach unten nach oben dynamische_variablen

dynamische_variablen
()
Dynamische Variblen
Detailbeschreibung

nach unten nach oben for

for
()
for
Detailbeschreibung

nach unten nach oben foreach

foreach
()
for
Detailbeschreibung

nach unten nach oben if

if
()
if
Detailbeschreibung

nach unten nach oben if_else

if_else
()
for
Detailbeschreibung

nach unten nach oben if_else_elseif

if_else_elseif
()
for
Detailbeschreibung

nach unten nach oben include

include
()
include
Detailbeschreibung

nach unten nach oben include_once

include_once
()
include_once
Detailbeschreibung

nach unten nach oben require

require
()
require
Detailbeschreibung

nach unten nach oben require_once

require_once
()
require_once
Detailbeschreibung

nach unten nach oben switch

switch
()
switch
Detailbeschreibung

nach unten nach oben vordefinierte_variablen

vordefinierte_variablen
()
Vordefinierte Variablen
Detailbeschreibung

nach unten nach oben while

while
()
while
Detailbeschreibung

Zurück: Klassen und Objekt-Funktionen

Weiter: Mail-Funktionen


Funktionsübersicht / Mail-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mail-Funktionen

nach unten mail

nach unten nach oben mail

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
(PHP 3, PHP 4, PHP 5)
Mit mail() kann man eine E-Mail im Text- oder HTML-Format an eine oder mehrere Personen versenden.
Detailbeschreibung

Zurück: Kontroll-Mechanismen

Weiter: Mathematische-Funktionen


Funktionsübersicht / Mathematische-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mathematische-Funktionen

nach unten abs | nach unten acos | nach unten asin
nach unten atan | nach unten atan2 | nach unten base_convert
nach unten bcadd | nach unten bccomp | nach unten bcdiv
nach unten bcmod | nach unten bcmul | nach unten bcpow
nach unten bcscale | nach unten bcsqrt | nach unten bcsub
nach unten bindec | nach unten ceil | nach unten cos
nach unten decbin | nach unten dechex | nach unten decoct
nach unten deg2rad | nach unten exp | nach unten floor
nach unten getrandmax | nach unten hexdec | nach unten log
nach unten log10 | nach unten max | nach unten min
nach unten mt_getrandmax | nach unten mt_rand | nach unten mt_srand
nach unten number_format | nach unten octdec | nach unten pi
nach unten pow | nach unten rad2deg | nach unten rand
nach unten round | nach unten sin | nach unten sqrt
nach unten srand | nach unten tan

nach unten nach oben abs

mixed abs ( mixed number )
(PHP 3, PHP 4, PHP 5)
Gibt den Absolutwert einer Zahl aus
Detailbeschreibung

nach unten nach oben acos

float acos ( float arg )
(PHP 3, PHP 4, PHP 5)
Gibt den Arcuscosinus-Wert im Bogenmass aus
Detailbeschreibung

nach unten nach oben asin

float asin ( float arg )
(PHP 3, PHP 4, PHP 5)
Gibt den Arcussinus-Wert im Bogenmass aus
Detailbeschreibung

nach unten nach oben atan

float atan ( float arg )
(PHP 3, PHP 4, PHP 5)
Gibt den Arcustangens-Wert im Bogenmass aus
Detailbeschreibung

nach unten nach oben atan2

float atan2 ( float y, float x )
(PHP 3 >= 3.0.5, PHP 4, PHP 5)
Gibt den Arcustangens-Wert im Bogenmass aus
Detailbeschreibung

nach unten nach oben base_convert

strin base_convert ( string number, int frombase, int tobase )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Konvertiert beliebige Zahlen zu anderen Basen
Detailbeschreibung

nach unten nach oben bcadd

string bcadd ( string linker Operand, string rechter Operand [, int Genauigkeit] )
(PHP 3, PHP 4, PHP 5)
Addiert zwei Zahlen
Detailbeschreibung

nach unten nach oben bccomp

int bccomp ( string linker Operand, string rechter Operand [, int Genauigkeit] )
(PHP 3, PHP 4, PHP 5)
Vergleicht zwei Zahlen miteinander
Detailbeschreibung

nach unten nach oben bcdiv

string bcdiv ( string linker Operand, string rechter Operand [, int Genauigkeit] )
(PHP 3, PHP 4, PHP 5)
Dividiert zwei Zahlen
Detailbeschreibung

nach unten nach oben bcmod

string bcmod ( string linker Operand, string Modulus )
(PHP 3, PHP 4, PHP 5)
Liefert den Modulus-Wert zweier Zahlen
Detailbeschreibung

nach unten nach oben bcmul

string bcmul ( string linker Operand, string rechter Operand [, int Genauigkeit] )
(PHP 3, PHP 4, PHP 5)
Multipliziert zwei Zahlen
Detailbeschreibung

nach unten nach oben bcpow

string bcpow ( string x, string y [, int Genauigkeit] )
(PHP 3, PHP 4, PHP 5)
Potenziert zwei Zahlen
Detailbeschreibung

nach unten nach oben bcscale

bool bcscale ( int Genauigkeit )
(PHP 3, PHP 4, PHP 5)
Bestimmt die Genauigkeit aller folgenden BC-Funktionen
Detailbeschreibung

nach unten nach oben bcsqrt

string bcsqrt ( string Operand [, int Genauigkeit] )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Quadratwurzel einer Zahl
Detailbeschreibung

nach unten nach oben bcsub

string bcsub ( string linker Operand, string rechter Operand [, int Genauigkeit] )
(PHP 3, PHP 4, PHP 5)
Subtrahiert zwei Zahlen
Detailbeschreibung

nach unten nach oben bindec

int bindec ( string binary_string )
(PHP 3, PHP 4, PHP 5)
Konvertiert eine binäre Zahl in eine dezimale Zahl
Detailbeschreibung

nach unten nach oben ceil

float ceil ( float number )
(PHP 3, PHP 4, PHP 5)
Rundet auf die nächsthöhere ganze Zahl aus
Detailbeschreibung

nach unten nach oben cos

float cos ( float arg )
(PHP 3, PHP 4, PHP 5)
Ermittelt den Cosinuswert im Radianten
Detailbeschreibung

nach unten nach oben decbin

string decbin ( int number )
(PHP 3, PHP 4, PHP 5)
Konvertiert eine dezimale Zahl in eine binäre Zahl
Detailbeschreibung

nach unten nach oben dechex

string dechex ( int number )
(PHP 3, PHP 4, PHP 5)
Konvertiert eine dezimale Zahl in eine hexadezimale Zahl
Detailbeschreibung

nach unten nach oben decoct

string decoct ( int number )
(PHP 3, PHP 4, PHP 5)
Konvertiert eine dezimale Zahl in eine oktale Darstellung
Detailbeschreibung

nach unten nach oben deg2rad

double deg2rad ( double number )
(PHP 3 >= 3.0.4, PHP 4, PHP 5)
Rechnet eine Gradzahl in Bogenmass um
Detailbeschreibung

nach unten nach oben exp

float exp ( float arg )
(PHP 3, PHP 4, PHP 5)
Eine Zahl wird mit e potenziert
Detailbeschreibung

nach unten nach oben floor

float floor ( float number )
(PHP 3, PHP 4, PHP 5)
Rundet auf die nächstkleinere ganze Zahl ab
Detailbeschreibung

nach unten nach oben getrandmax

int getrandmax ( void )
(PHP 3, PHP 4, PHP 5)
Ermittelt den größten Wert des Betriebssystem
Detailbeschreibung

nach unten nach oben hexdec

int hexdec ( string hex_string )
(PHP 3, PHP 4, PHP 5)
Konvertiert eine hexadezimale Zahl in eine dezimale Zahl
Detailbeschreibung

nach unten nach oben log

float log ( float arg )
(PHP 3, PHP 4, PHP 5)
Ermittelt den natürlichen Logarithmus
Detailbeschreibung

nach unten nach oben log10

float log10 ( float arg )
(PHP 3, PHP 4, PHP 5)
Ermittelt den Zehner-Logarithmus
Detailbeschreibung

nach unten nach oben max

mixed max ( mixed arg1, mixed arg2, mixed argn )
(PHP 3, PHP 4, PHP 5)
Ermittelt die größte Zahl innerhalb eines Arrays
Detailbeschreibung

nach unten nach oben min

mixed min ( mixed arg1, mixed arg2, mixed argn )
(PHP 3, PHP 4, PHP 5)
Ermittelt die kleinste Zahl eines Arrays
Detailbeschreibung

nach unten nach oben mt_getrandmax

int mt_getrandmax ( void )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Ermittelt den größten Wert eines Betriebssystem
Detailbeschreibung

nach unten nach oben mt_rand

int mt_rand ( [ int min [, int max]] )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Ermittelt Zufallszahlen
Detailbeschreibung

nach unten nach oben mt_srand

void mt_srand ( int seed )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Legt einen internen Startwert für Zufallszahlen fest
Detailbeschreibung

nach unten nach oben number_format

string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] )
(PHP 3, PHP 4, PHP 5)
Formatiert eine Zahl
Detailbeschreibung

nach unten nach oben octdec

int octdec ( string octal_string )
(PHP 3, PHP 4, PHP 5)
Konvertiert eine oktale Zahl in eine dezimale Zahl
Detailbeschreibung

nach unten nach oben pi

double pi ( void )
(PHP 3, PHP 4, PHP 5)
Errechnet den Nährungswert der Kreiszahl Pi
Detailbeschreibung

nach unten nach oben pow

float pow ( float base, float exp )
(PHP 3, PHP 4, PHP 5)
Potenziert eine Zahl
Detailbeschreibung

nach unten nach oben rad2deg

double rad2deg ( double number )
(PHP 3 >= 3.0.4, PHP 4, PHP 5)
Rechnet eine Zahl vom Bogenmass in Grad um
Detailbeschreibung

nach unten nach oben rand

int rand ( [ int min [, int max]] )
(PHP 3, PHP 4, PHP 5)
Ermittelt eine Zufallszahl
Detailbeschreibung

nach unten nach oben round

double round ( double val [, int precision] )
(PHP 3, PHP 4, PHP 5)
Rundet eine Zahl auf oder ab
Detailbeschreibung

nach unten nach oben sin

float sin ( float arg )
(PHP 3, PHP 4, PHP 5)
Ermittelt den Sinuswert im Radianten
Detailbeschreibung

nach unten nach oben sqrt

float sqrt ( float arg )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Quadratwurzel einer Zahl
Detailbeschreibung

nach unten nach oben srand

void srand ( int seed )
(PHP 3, PHP 4, PHP 5)
Legt den internen Startwert für den Zufallsgenerator fest
Detailbeschreibung

nach unten nach oben tan

float tan ( float arg )
(PHP 3, PHP 4, PHP 5)
Ermittelt den Tangens im Radianten
Detailbeschreibung

Zurück: Mail-Funktionen

Weiter: MySQL-Funktionen


Funktionsübersicht / MySQL-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MySQL-Funktionen

nach unten mysql_affected_rows | nach unten mysql_change_user | nach unten mysql_client_encoding
nach unten mysql_close | nach unten mysql_connect | nach unten mysql_create_db
nach unten mysql_data_seek | nach unten mysql_db_query | nach unten mysql_drop_db
nach unten mysql_errno | nach unten mysql_error | nach unten mysql_escape_string
nach unten mysql_fetch_array | nach unten mysql_fetch_assoc | nach unten mysql_fetch_field
nach unten mysql_fetch_lengths | nach unten mysql_fetch_object | nach unten mysql_fetch_row
nach unten mysql_field_flags | nach unten mysql_field_len | nach unten mysql_field_name
nach unten mysql_field_seek | nach unten mysql_field_table | nach unten mysql_field_type
nach unten mysql_free_result | nach unten mysql_get_client_info | nach unten mysql_get_host_info
nach unten mysql_get_proto_info | nach unten mysql_get_server_info | nach unten mysql_insert_id
nach unten mysql_list_dbs | nach unten mysql_list_fields | nach unten mysql_list_processes
nach unten mysql_list_tables | nach unten mysql_num_fields | nach unten mysql_num_rows
nach unten mysql_pconnect | nach unten mysql_query | nach unten mysql_result
nach unten mysql_select_db | nach unten mysql_stat | nach unten mysql_tablename
nach unten mysql_thread_id

nach unten nach oben mysql_affected_rows

int mysql_affected_rows ( [resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL Operation
Detailbeschreibung

nach unten nach oben mysql_change_user

int mysql_change_user ( string Benutzername, string Benutzerkennwort [, string Datenbank [, resource Verbindungs-Kennung]] )
(PHP 3 >= 3.0.13)
Wechselt den zur Zeit angemeldeten Benutzer
Detailbeschreibung

nach unten nach oben mysql_client_encoding

string mysql_client_encoding ( [resource Verbindungs-Kennung] )
(PHP 4 >= 4.3.0, PHP 5)
Mit mysql_client_encoding kann man sich den Zeichensatz für die aktuelle Verbindung Verbindungs-Kennung zurückgeben lassen.
Detailbeschreibung

nach unten nach oben mysql_close

bool mysql_close ( [resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Beendet eine Verbindung zum Datenbank-Server
Detailbeschreibung

nach unten nach oben mysql_connect

resource mysql_connect ( [string Server [, string Benutzername [, string Benutzerkennwort [, bool neue_Verbindung [, int client_flags]]]]] )
(PHP 3, PHP 4, PHP 5)
Öffnet eine Verbindung zum Datenbank-Server
Detailbeschreibung

nach unten nach oben mysql_create_db

bool mysql_create_db ( string Datenbankname [, resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Erzeugt eine Datenbank
Detailbeschreibung

nach unten nach oben mysql_data_seek

bool mysql_data_seek ( resource Ergebnis-Kennung, int Datensatznummer )
(PHP 3, PHP 4, PHP 5)
Bewegt den internen Datensatz-Zeiger
Detailbeschreibung

nach unten nach oben mysql_db_query

resource mysql_db_query ( string Datenbank, string Anfrage [, resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Es wird eine Anfrage an die Datenbank gesendet
Detailbeschreibung

nach unten nach oben mysql_drop_db

bool mysql_drop_db ( string Datenbankname [, resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Löscht eine Datenbank
Detailbeschreibung

nach unten nach oben mysql_errno

int mysql_errno ( [resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Liefert die Fehlernummer einer bereits zuvor ausgeführten Operation
Detailbeschreibung

nach unten nach oben mysql_error

string mysql_error ( [resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Liefert den Fehlertext einer bereits zuvor ausgeführten MySQL Operation
Detailbeschreibung

nach unten nach oben mysql_escape_string

string mysql_escape_string ( string unescaped_string )
(PHP 4 >= 4.0.3, PHP 5)
Mit mysql_escape_string kann man einen String unescaped_string für die sichere Benutzung in mysql_query maskieren.
Detailbeschreibung

nach unten nach oben mysql_fetch_array

array mysql_fetch_array ( resource Ergebnis-Kennung [, int Ergebnistyp] )
(PHP 3, PHP 4, PHP 5)
Holt einen Datensatz als assoziatives Array
Detailbeschreibung

nach unten nach oben mysql_fetch_assoc

array mysql_fetch_assoc ( resource Ergebnis )
(PHP 4 >= 4.0.3, PHP 5)
Mit mysql_fetch_assoc() kann man sich anhand einer Ergebnis-Kennung einen Datensatz in einem assoziativen Array übergeben lassen.
Detailbeschreibung

nach unten nach oben mysql_fetch_field

object mysql_fetch_field ( resource Ergebnis-Kennung [, int Feld-Offset] )
(PHP 3, PHP 4, PHP 5)
Stellt ein Objekt mit Feldinformationen bereit
Detailbeschreibung

nach unten nach oben mysql_fetch_lengths

array mysql_fetch_lengths ( resource Ergebnis-Kennung )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Länge eines Feldes in einem Datensatz
Detailbeschreibung

nach unten nach oben mysql_fetch_object

object mysql_fetch_object ( resource Ergebnis-Kennung )
(PHP 3, PHP 4, PHP 5)
Stellt einen Datensatz als Objekt bereit
Detailbeschreibung

nach unten nach oben mysql_fetch_row

array mysql_fetch_row ( resource Ergebnis-Kennung )
(PHP 3, PHP 4, PHP 5)
Stellt einen Datensatz als indiziertes Array bereit
Detailbeschreibung

nach unten nach oben mysql_field_flags

string mysql_field_flags ( resource Ergebnis, int Feldoffset )
(PHP 3, PHP 4, PHP 5)
Stellt die Flags eines Feldes bereit
Detailbeschreibung

nach unten nach oben mysql_field_len

int mysql_field_len ( resource Ergebnis, int Feldoffset )
(PHP 3, PHP 4, PHP 5)
Liefert die Länge eines Feldes
Detailbeschreibung

nach unten nach oben mysql_field_name

string mysql_field_name ( resource Ergebnis-Kennung, int Feldindex )
(PHP 3, PHP 4, PHP 5)
Liefert den Namen eines Feldes
Detailbeschreibung

nach unten nach oben mysql_field_seek

int mysql_field_seek ( resource Ergebnis, int Feldoffset )
(PHP 3, PHP 4, PHP 5)
Bewegt den Feldzeiger auf ein bestimmtes Feld
Detailbeschreibung

nach unten nach oben mysql_field_table

string mysql_field_table ( resource Ergebnis-Kennung, int Feldoffset )
(PHP 3, PHP 4, PHP 5)
Holt den Namen der Tabelle, welches das Feld enthält
Detailbeschreibung

nach unten nach oben mysql_field_type

string mysql_field_type ( resource Ergebnis, int Feldoffset )
(PHP 3, PHP 4, PHP 5)
Holt den Typ eines Feldes
Detailbeschreibung

nach unten nach oben mysql_free_result

bool mysql_free_result ( resource Ergebnis-Kennung )
(PHP 3, PHP 4, PHP 5)
Der belegte Speicher wird freigegeben
Detailbeschreibung

nach unten nach oben mysql_get_client_info

string mysql_get_client_info ( void )
(PHP 4 >= 4.0.5, PHP 5)
Mit mysql_get_client_info kann man sich die MySQL Client-Version anzeigen lassen.
Detailbeschreibung

nach unten nach oben mysql_get_host_info

string mysql_get_host_info ( [resource Verbindungs-Kennung] )
(PHP 4 >= 4.0.5, PHP 5)
Mit mysql_get_host_info() kann man sich den Typ der momentan benutzten Verbindung Verbindungs-Kennung ausgeben lassen.
Detailbeschreibung

nach unten nach oben mysql_get_proto_info

int mysql_get_proto_info ( [resource Verbindungs-Kennung] )
(PHP 4 >= 4.0.5, PHP 5)
Mit mysql_get_proto_info kann man sich die Protokollversion der genutzten Verbindung anzeigen lassen.
Detailbeschreibung

nach unten nach oben mysql_get_server_info

string mysql_get_server_info ( [resource Verbindungs-Kennung] )
(PHP 4 >= 4.0.5, PHP 5)
Mit mysql_get_server_info kann man sich die Serverversion anzeigen lassen, die die gerade genutzte Verbindung nutzt.
Detailbeschreibung

nach unten nach oben mysql_insert_id

int mysql_insert_id ( [resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Holt die Verbindungs-Kennung einer vorherigen INSERT-Anweisung
Detailbeschreibung

nach unten nach oben mysql_list_dbs

resource mysql_list_dbs ( [resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Stellt eine komplette Liste aller Datenbanken auf dem Server bereit
Detailbeschreibung

nach unten nach oben mysql_list_fields

resource mysql_list_fields ( string Datenbankname, string Tabellenname [, resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Zeigt die Felder einer Tabelle
Detailbeschreibung

nach unten nach oben mysql_list_processes

resource mysql_list_processes ( [resource Verbindungs-Kennung] )
(PHP 4 >= 4.3.0, PHP 5)
Mit mysql_list_processes kann man sich alle laufendenn MySQL-Prozesse anzeigen lassen.
Detailbeschreibung

nach unten nach oben mysql_list_tables

resource mysql_list_tables ( string Datenbankname [, resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Stellt eine komplette Liste aller Tabellen in einer Datenbank
Detailbeschreibung

nach unten nach oben mysql_num_fields

int mysql_num_fields ( resource Ergebnis-Kennung )
(PHP 3, PHP 4, PHP 5)
Die Menge der Felder eines Ergebnis in einer Anfrage werden geliefert
Detailbeschreibung

nach unten nach oben mysql_num_rows

int mysql_num_rows ( resource Ergebnis-Kennung )
(PHP 3, PHP 4, PHP 5)
Die Menge der Datensätze in einem Ergebnis werden geliefert
Detailbeschreibung

nach unten nach oben mysql_pconnect

resource mysql_pconnect ( [string Server [, string Benutztername [, string Benutzerkennwort [, int client_flags]]]] )
(PHP 3, PHP 4, PHP 5)
Öffnete eine persistente Verbindung zum MySQL Server
Detailbeschreibung

nach unten nach oben mysql_query

resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Sendet eine SQL Anfrage zum Datenbankserver
Detailbeschreibung

nach unten nach oben mysql_result

mixed mysql_result ( resource Ergebnis-Kennung, int Datensatz [, mixed Feld] )
(PHP 3, PHP 4, PHP 5)
Liefert das Ergebnis einer Anfrage
Detailbeschreibung

nach unten nach oben mysql_select_db

bool mysql_select_db ( string Datenbankname [, resource Verbindungs-Kennung] )
(PHP 3, PHP 4, PHP 5)
Wählt eine Datenbank aus
Detailbeschreibung

nach unten nach oben mysql_stat

string mysql_stat ( [resource Verbindungs-Kennung] )
(PHP 4 >= 4.3.0, PHP 5)
Mit mysql_stat kann man sich den momentanen Serverstatus ausgeben lassen.
Detailbeschreibung

nach unten nach oben mysql_tablename

string mysql_tablename ( resource Ergebnis-Kennung, int i )
(PHP 3, PHP 4, PHP 5)
Liefert den Namen einer Tabelle
Detailbeschreibung

nach unten nach oben mysql_thread_id

int mysql_thread_id ( [resource Verbindungs-Kennung] )
(PHP 4 >= 4.3.0, PHP 5)
Mit mysql_thread_id kann man sich die aktuelle Thread-ID anzeigen lassen.
Detailbeschreibung

Zurück: Mathematische-Funktionen

Weiter: PDF-Funktionen


Funktionsübersicht / PDF-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PDF-Funktionen

nach unten pdf_add_annotation | nach unten pdf_add_bookmark | nach unten pdf_add_launchlink
nach unten pdf_add_locallink | nach unten pdf_add_note | nach unten pdf_add_outline
nach unten pdf_add_pdflink | nach unten pdf_add_weblink | nach unten pdf_arc
nach unten pdf_begin_page | nach unten pdf_circle | nach unten pdf_close
nach unten pdf_closepath | nach unten pdf_closepath_fill_stroke | nach unten pdf_closepath_stroke
nach unten pdf_close_image | nach unten pdf_continue_text | nach unten pdf_curveto
nach unten pdf_endpath | nach unten pdf_end_page | nach unten pdf_fill
nach unten pdf_fill_stroke | nach unten pdf_get_image_height | nach unten pdf_get_image_width
nach unten pdf_get_parameter | nach unten pdf_get_value | nach unten pdf_lineto
nach unten pdf_moveto | nach unten pdf_open | nach unten pdf_open_gif
nach unten pdf_open_image_file | nach unten pdf_open_jpeg | nach unten pdf_open_png
nach unten pdf_open_tiff | nach unten pdf_place_image | nach unten pdf_rect
nach unten pdf_restore | nach unten pdf_rotate | nach unten pdf_save
nach unten pdf_scale | nach unten pdf_setdash | nach unten pdf_setflat
nach unten pdf_setgray | nach unten pdf_setgray_fill | nach unten pdf_setgray_stroke
nach unten pdf_setlinecap | nach unten pdf_setlinejoin | nach unten pdf_setlinewidth
nach unten pdf_setmiterlimit | nach unten pdf_setrgbcolor | nach unten pdf_setrgbcolor_fill
nach unten pdf_setrgbcolor_stroke | nach unten pdf_set_border_color | nach unten pdf_set_border_dash
nach unten pdf_set_border_style | nach unten pdf_set_char_spacing | nach unten pdf_set_duration
nach unten pdf_set_font | nach unten pdf_set_horiz_scaling | nach unten pdf_set_info
nach unten pdf_set_leading | nach unten pdf_set_parameter | nach unten pdf_set_text_pos
nach unten pdf_set_text_rendering | nach unten pdf_set_text_rise | nach unten pdf_set_transition
nach unten pdf_set_value | nach unten pdf_set_word_spacing | nach unten pdf_show
nach unten pdf_show_boxed | nach unten pdf_show_xy | nach unten pdf_skew
nach unten pdf_stringwidth | nach unten pdf_stroke | nach unten pdf_translate

nach unten nach oben pdf_add_annotation

void pdf_add_annotation ( int PDF-Dokument, double llx, double lly, double urx, double ury, string Titel, string Inhalt )
(PHP 3 >= 3.0.12, PHP 4, PECL)
Fügt eine Anmerkung (Gelber Zettel) in das PDF-Dokument
Detailbeschreibung

nach unten nach oben pdf_add_bookmark

int pdf_add_bookmark ( resource pdfdoc, string text, int parent, int open )
(PHP 4 >= 4.0.1, PECL)
Fügt ein Lesezeichen in die aktuelle Seite ein
Detailbeschreibung

nach unten nach oben pdf_add_launchlink

bool pdf_add_launchlink ( resource pdfdoc, float llx, float lly, float urx, float ury, string filename )
(PHP 4 >= 4.0.5, PECL)
Fügt einen Link auf eine Datei in die aktuelle Seite ein
Detailbeschreibung

nach unten nach oben pdf_add_locallink

bool pdf_add_locallink ( resource pdfdoc, float lowerleftx, float lowerlefty, float upperrightx, float upperrighty, int page, string dest )
(PHP 4 >= 4.0.5, PECL)
Fügt einen Link auf eine andere Seite im PDF-Dokument ein
Detailbeschreibung

nach unten nach oben pdf_add_note

bool pdf_add_note ( resource pdfdoc, float llx, float lly, float urx, float ury, string contents, string title, string icon, int open )
(PHP 4 >= 4.0.5, PECL)
Fügt eine Notiz im PDF-Dokument ein
Detailbeschreibung

nach unten nach oben pdf_add_outline

int pdf_add_outline ( int PDF-Dokument, string Text [, int Mutter [, int offen]] )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Fügt eine Lesemarke in die aktuellen Seite ein
Detailbeschreibung

nach unten nach oben pdf_add_pdflink

bool pdf_add_pdflink ( resource pdfdoc, float bottom_left_x, float bottom_left_y, float up_right_x, float up_right_y, string filename, int page, string dest )
(PHP 3 >= 3.0.12, PHP 4, PECL)
pdf_add_pdflink
Detailbeschreibung

nach unten nach oben pdf_add_weblink

bool pdf_add_weblink ( resource pdfdoc, float lowerleftx, float lowerlefty, float upperrightx, float upperrighty, string url )
(PHP 3 >= 3.0.12, PHP 4, PECL)
pdf_add_weblink
Detailbeschreibung

nach unten nach oben pdf_arc

void pdf_arc ( int PDF-Dokument, double x-Koor, double y-Koor, double Radius, double Start, double Ende )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Zeichnet einen Kreisbogen
Detailbeschreibung

nach unten nach oben pdf_begin_page

void pdf_begin_page ( int PDF-Dokument, double Breite, double HÃ¶he )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Beginnt eine neue Seite
Detailbeschreibung

nach unten nach oben pdf_circle

void pdf_circle ( int PDF-Dokument, double x-Koor, double y-Koor, double Radius )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Zeichnet einen Kreis
Detailbeschreibung

nach unten nach oben pdf_close

void pdf_close ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Schließt ein PDF-Dokument
Detailbeschreibung

nach unten nach oben pdf_closepath

void pdf_closepath ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Schließt einen Pfad
Detailbeschreibung

nach unten nach oben pdf_closepath_fill_stroke

void pdf_closepath_fill_stroke ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Schließt, füllt und zeichnet eine Linie entlang des Pfades
Detailbeschreibung

nach unten nach oben pdf_closepath_stroke

void pdf_closepath_stroke ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Schließt einen Pfad und zeichnet eine Linie entlang des Pfades
Detailbeschreibung

nach unten nach oben pdf_close_image

void pdf_close_image ( int Bild )
(PHP 3 >= 3.0.7, PHP 4, PECL)
Schließt ein Bild
Detailbeschreibung

nach unten nach oben pdf_continue_text

void pdf_continue_text ( int PDF-Dokument, string Text )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Schreibt den Text in die nächste Zeile
Detailbeschreibung

nach unten nach oben pdf_curveto

void pdf_curveto ( int PDF-Dokument, double x1, double y1, double x2, double y2, double x3, double y3 )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Zeichnet eine Kurve
Detailbeschreibung

nach unten nach oben pdf_endpath

void pdf_endpath ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Beendet den aktuellen Pfad
Detailbeschreibung

nach unten nach oben pdf_end_page

void pdf_end_page ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Beendet eine Seite
Detailbeschreibung

nach unten nach oben pdf_fill

void pdf_fill ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Füllt den aktuellen Pfad
Detailbeschreibung

nach unten nach oben pdf_fill_stroke

void pdf_fill_stroke ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Füllt den aktuellen Pfad und zeichnet eine Linie entlang des Pfades
Detailbeschreibung

nach unten nach oben pdf_get_image_height

string pdf_get_image_height ( int pdf document, int Bild )
(PHP 3 >= 3.0.12, PHP 4, PECL)
Liefert die Höhe eines Bildes
Detailbeschreibung

nach unten nach oben pdf_get_image_width

string pdf_get_image_width ( int pdf document, int Bild )
(PHP 3 >= 3.0.12, PHP 4, PECL)
Liefert die Breite eines Bildes
Detailbeschreibung

nach unten nach oben pdf_get_parameter

string pdf_get_parameter ( int PDF-Dokument, string Name, double Modifizierer )
(PHP 4 >= 4.0.1, PECL)
Liefert verschiedene Parameter
Detailbeschreibung

nach unten nach oben pdf_get_value

double pdf_get_value ( int PDF-Dokument, string Name, double Modifizierer )
(PHP 4 >= 4.0.1, PECL)
Liefert verschiedene Werte
Detailbeschreibung

nach unten nach oben pdf_lineto

void pdf_lineto ( int PDF-Dokument, double x-Koor, double y-Koor )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Zeichnet eine Linie
Detailbeschreibung

nach unten nach oben pdf_moveto

void pdf_moveto ( int PDF-Dokument, double x-Koor, double y-Koor )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Setzt die Start-Position (z.B. von einer Linie)
Detailbeschreibung

nach unten nach oben pdf_open

int pdf_open ( int Datei-Deskriptor )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Öffnet ein neues PDF-Dokument
Detailbeschreibung

nach unten nach oben pdf_open_gif

int pdf_open_gif ( int PDF-Dokument, string Dateiname )
(PHP 3 >= 3.0.7, PHP 4, PECL)
Öffnet ein GIF-Bild
Detailbeschreibung

nach unten nach oben pdf_open_image_file

int pdf_open_image_file ( int PDF-Dokument, string Bildformat, string Dateiname )
(PHP 3 CVS only, PHP 4, PECL)
Liest ein Bild aus einer Datei
Detailbeschreibung

nach unten nach oben pdf_open_jpeg

int pdf_open_jpeg ( int PDF-Dokument, string Dateiname )
(PHP 3 >= 3.0.7, PHP 4, PECL)
Öffnet ein JPEG-Bild
Detailbeschreibung

nach unten nach oben pdf_open_png

int pdf_open_png ( int PDF-Dokument, string Dateiname )
(PHP 4, PECL)
Öffnet ein PNG-Bild
Detailbeschreibung

nach unten nach oben pdf_open_tiff

int pdf_open_tiff ( int PDF-Dokument, string Dateiname )
(PHP 4, PECL)
Öffnet ein TIFF-Bild
Detailbeschreibung

nach unten nach oben pdf_place_image

void pdf_place_image ( int PDF-Dokument, int Bild, double x-Koor, double y-Koor, double scale )
(PHP 3 >= 3.0.7, PHP 4, PECL)
Plaziert ein Bild auf einer Seite
Detailbeschreibung

nach unten nach oben pdf_rect

void pdf_rect ( int PDF-Dokument, double x-koor, double y-koor, double Breite, double HÃ¶he )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Zeichnet ein Rechteck
Detailbeschreibung

nach unten nach oben pdf_restore

void pdf_restore ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Stellt eine zuvor gesicherte Umgebung wieder her
Detailbeschreibung

nach unten nach oben pdf_rotate

void pdf_rotate ( int PDF-Dokument, double Winkel )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Setzt ein Skalierungsfaktor für die Rotation
Detailbeschreibung

nach unten nach oben pdf_save

void pdf_save ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Sichert die aktuelle Umgebung
Detailbeschreibung

nach unten nach oben pdf_scale

void pdf_scale ( int PDF-Dokument, double x-Skalierung, double y-Skalierung )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt den Skalierungsfaktor fest
Detailbeschreibung

nach unten nach oben pdf_setdash

void pdf_setdash ( int PDF-Dokument, double WeiÃY, double Schwarz )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt das Muster für gestrichelte Linien fest
Detailbeschreibung

nach unten nach oben pdf_setflat

void pdf_setflat ( int PDF-Dokument, double Wert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Annährungsgenauigkeit von Objekten am Pfad fest
Detailbeschreibung

nach unten nach oben pdf_setgray

void pdf_setgray ( int PDF-Dokument, double Grauwert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Bestimmt die Zeichen- und Füllfarbe
Detailbeschreibung

nach unten nach oben pdf_setgray_fill

void pdf_setgray_fill ( int PDF-Dokument, double Grauwert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Bestimmt die Füllfarbe
Detailbeschreibung

nach unten nach oben pdf_setgray_stroke

void pdf_setgray_stroke ( int PDF-Dokument, double Grauwert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Bestimmt die Zeichenfarbe
Detailbeschreibung

nach unten nach oben pdf_setlinecap

void pdf_setlinecap ( int PDF-Dokument, int Typ )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt den Type der Linienenden fest
Detailbeschreibung

nach unten nach oben pdf_setlinejoin

void pdf_setlinejoin ( int PDF-Dokument, long Wert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Verbindungsart von Linien fest
Detailbeschreibung

nach unten nach oben pdf_setlinewidth

void pdf_setlinewidth ( int PDF-Dokument, double Breite )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Linienbreite fest
Detailbeschreibung

nach unten nach oben pdf_setmiterlimit

void pdf_setmiterlimit ( int PDF-Dokument, double Wert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Gährungskanten fest
Detailbeschreibung

nach unten nach oben pdf_setrgbcolor

void pdf_setrgbcolor ( int PDF-Dokument, double Rotwert, double GrÃ¼nwert, double Blauwert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Zeichen- und Füllfarbe fest
Detailbeschreibung

nach unten nach oben pdf_setrgbcolor_fill

void pdf_setrgbcolor_fill ( int PDF-Dokument, double Rotwert, double GrÃ¼nwert, double Blauwert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Füllfarbe fest
Detailbeschreibung

nach unten nach oben pdf_setrgbcolor_stroke

void pdf_setrgbcolor_stroke ( int PDF-Dokument, double Rotwert, double GrÃ¼nwert, double Blauwert )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Zeichenfarbe fest
Detailbeschreibung

nach unten nach oben pdf_set_border_color

void pdf_set_border_color ( int PDF-Dokument, double Rot, double Grün, double Blau )
(PHP 3 >= 3.0.12, PHP 4, PECL)
Legt die Farbe von Verweisen und Anmerkungen fest
Detailbeschreibung

nach unten nach oben pdf_set_border_dash

void pdf_set_border_dash ( int PDF-Dokument, double Schwarz, double WeiÃY )
(PHP 4 >= 4.0.1, PECL)
Legt das Muster für gestrichelte Linien von Verweisen und Anmerkungen fest
Detailbeschreibung

nach unten nach oben pdf_set_border_style

void pdf_set_border_style ( int PDF-Dokument, string Stil, double Breite )
(PHP 3 >= 3.0.12, PHP 4, PECL)
Legt den Stil der Umrandung von Verweisen und Anmerkungen fest
Detailbeschreibung

nach unten nach oben pdf_set_char_spacing

void pdf_set_char_spacing ( int PDF-Dokument, double Abstand )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt den Abstand zwischen Zeichen fest
Detailbeschreibung

nach unten nach oben pdf_set_duration

void pdf_set_duration ( int PDF-Dokument, double Dauer )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Zeitspanne bis zur nächsten Seite fest
Detailbeschreibung

nach unten nach oben pdf_set_font

void pdf_set_font ( int PDF-Dokument, string Zeichensatzname, double GrÃ¶ÃYe, string Kodierung [, int einbetten] )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Bestimmt einen Zeichensatz und dessen Größe
Detailbeschreibung

nach unten nach oben pdf_set_horiz_scaling

void pdf_set_horiz_scaling ( int PDF-Dokument, double Skalierung )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Bestimmt die horizontale Skalierung der Textausgabe
Detailbeschreibung

nach unten nach oben pdf_set_info

void pdf_set_info ( int PDF Dokument, string Feldname, string Wert )
(PHP 4 >= 4.0.1, PECL)
Erstellt eine Dokumenteninformation
Detailbeschreibung

nach unten nach oben pdf_set_leading

void pdf_set_leading ( int PDF-Dokument, double Abstand )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Bestimmt den Abstand zwischen zwei Textzeilen
Detailbeschreibung

nach unten nach oben pdf_set_parameter

void pdf_set_parameter ( int PDF-Dokument, string Name, string Wert )
(PHP 4, PECL)
Legt verschiedene Parameter fest
Detailbeschreibung

nach unten nach oben pdf_set_text_pos

void pdf_set_text_pos ( int PDF-Dokument, double x-Koor, double y-Koor )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Textposition fest
Detailbeschreibung

nach unten nach oben pdf_set_text_rendering

void pdf_set_text_rendering ( int PDF-Dokument, int Modus )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt die Textausgabe fest
Detailbeschreibung

nach unten nach oben pdf_set_text_rise

void pdf_set_text_rise ( int PDF-Dokument, double Verschiebung )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Bestimmt die Textverschiebung
Detailbeschreibung

nach unten nach oben pdf_set_transition

void pdf_set_transition (int PDF-Dokument, int Transition)
(PHP 3 >= 3.0.6, PHP 4 >= 4.0b1)
Legt den Übergang zur nächsten Seite fest
Detailbeschreibung

nach unten nach oben pdf_set_value

void pdf_set_value ( int PDF-Dokument, string Name, double Wert )
(PHP 4 >= 4.0.1, PECL)
Legt verschiedene Werte fest
Detailbeschreibung

nach unten nach oben pdf_set_word_spacing

void pdf_set_word_spacing ( int PDF-Dokument, double space )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Legt den Abstand zwischen Wörtern fest
Detailbeschreibung

nach unten nach oben pdf_show

void pdf_show ( int PDF-Dokument, string Text )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Schreibt einen Text an die aktuelle Position
Detailbeschreibung

nach unten nach oben pdf_show_boxed

void pdf_show_boxed ( int PDF-Dokument, string text, double x-Koor, double y-Koor, double Breite, double HÃ¶he, string Modus [, string Feature] )
(PHP 4, PECL)
Schreibt einen Text in eine Box
Detailbeschreibung

nach unten nach oben pdf_show_xy

void pdf_show_xy ( int PDF-Dokument, string Text, double x-Koor, double y-Koor )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Schreibt einen Text an die angegebene Position
Detailbeschreibung

nach unten nach oben pdf_skew

void pdf_skew ( int PDF-Dokument, double alpha, double beta )
(PHP 4, PECL)
Schert das Koordinatensystem
Detailbeschreibung

nach unten nach oben pdf_stringwidth

double pdf_stringwidth ( int PDF-Dokument, string Text )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Liefert die Breite einer Zeichenkette anhand des aktuellen Zeichensatzes
Detailbeschreibung

nach unten nach oben pdf_stroke

void pdf_stroke ( int PDF-Dokument )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Zeichnet eine Linie entlang eines Pfades
Detailbeschreibung

nach unten nach oben pdf_translate

void pdf_translate ( int PDF-Dokument, double x-Koor, double y-Koor )
(PHP 3 >= 3.0.6, PHP 4, PECL)
Setzt den Ursprung des Koordinatenssystems
Detailbeschreibung

Zurück: MySQL-Funktionen

Weiter: PHP-Deklaration


Funktionsübersicht / PHP-Deklaration

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP-Deklaration

nach unten kommentare nach unten syntax

nach unten nach oben kommentare

kommentare
', '
Kommentare
Detailbeschreibung

nach unten nach oben syntax

syntax

Syntax
Detailbeschreibung

Zurück: PDF-Funktionen

Weiter: PHP-Informationen


Funktionsübersicht / PHP-Informationen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP-Informationen

nach unten extension_loaded | nach unten getenv | nach unten getlastmod
nach unten getmygid | nach unten getmyinode | nach unten getmypid
nach unten getmyuid | nach unten getrusage | nach unten get_cfg_var
nach unten get_current_user | nach unten get_defined_constants | nach unten get_extension_funcs
nach unten get_included_files | nach unten get_loaded_extensions | nach unten get_magic_quotes_gpc
nach unten get_magic_quotes_runtime | nach unten get_required_files | nach unten ini_get
nach unten ini_get_all | nach unten ini_restore | nach unten ini_set
nach unten phpcredits | nach unten phpinfo | nach unten phpversion
nach unten php_logo_guid | nach unten php_sapi_name | nach unten php_uname
nach unten putenv | nach unten restore_include_path | nach unten set_include_path
nach unten set_magic_quotes_runtime | nach unten set_time_limit | nach unten zend_logo_guid
nach unten zend_version

nach unten nach oben extension_loaded

bool extension_loaded ( string name )
(PHP 3 >= 3.0.10, PHP 4, PHP 5)
Zeigt alle geladenen Bibliotheken an
Detailbeschreibung

nach unten nach oben getenv

string getenv ( string varname )
(PHP 3, PHP 4, PHP 5)
Liest den Wert einer Umgebungsvariablen
Detailbeschreibung

nach unten nach oben getlastmod

int getlastmod ( void )
(PHP 3, PHP 4, PHP 5)
Zeigt die Zeit der letzten Änderung einer Datei an
Detailbeschreibung

nach unten nach oben getmygid

int getmygid ( void )
(PHP 4 >= 4.1.0, PHP 5)
Kann die GROUP-ID des aktuellen Skripts wiedergeben
Detailbeschreibung

nach unten nach oben getmyinode

int getmyinode ( void )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Inode des aktuellen Skript
Detailbeschreibung

nach unten nach oben getmypid

int getmypid ( void )
(PHP 3, PHP 4, PHP 5)
Ermittelt die aktuelle ID des PHP-Prozesses
Detailbeschreibung

nach unten nach oben getmyuid

int getmyuid ( void )
(PHP 3, PHP 4, PHP 5)
Ermittelt die UID des Besitzers eines PHP-Skriptes
Detailbeschreibung

nach unten nach oben getrusage

array getrusage ( [int who] )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Ermittelt den Resourcenverbrauch des Betriebssystem
Detailbeschreibung

nach unten nach oben get_cfg_var

string get_cfg_var ( string varname )
(PHP 3, PHP 4, PHP 5)
Liest den Wert der Variablen der PHP-Konfiguration
Detailbeschreibung

nach unten nach oben get_current_user

string get_current_user ( void )
(PHP 3, PHP 4, PHP 5)
Zeigt den Besitzer einer Datei an
Detailbeschreibung

nach unten nach oben get_defined_constants

array get_defined_constants ( [mixed categorize] )
(PHP 4 >= 4.1.0, PHP 5)
Kann die Namen und Werte aller definierten Konstanten anzeigen
Detailbeschreibung

nach unten nach oben get_extension_funcs

array get_extension_funcs ( string module_name )
(PHP 4, PHP 5)
Listet alle Funktionen eines Moduls
Detailbeschreibung

nach unten nach oben get_included_files

array get_included_files ( void )
(PHP 4, PHP 5)
Ermittelt alle über include_once() geladenen Dateien
Detailbeschreibung

nach unten nach oben get_loaded_extensions

array get_loaded_extensions ( void )
(PHP 4, PHP 5)
Ermittelt die kompilierten und geladenen Module
Detailbeschreibung

nach unten nach oben get_magic_quotes_gpc

long get_magic_quotes_gpc ( void )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Zeigt die Konfiguration von "magic_qoutes_gpc"
Detailbeschreibung

nach unten nach oben get_magic_quotes_runtime

Long get_magic_quotes_runtime ( void )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Zeigt die Konfiguration von "magic_qoutes_runtime"
Detailbeschreibung

nach unten nach oben get_required_files

array get_required_files ( void )
(PHP 4, PHP 5)
Ermittelt alle über require_once() geladenen Dateien
Detailbeschreibung

nach unten nach oben ini_get

string ini_get ( string varname )
(PHP 4, PHP 5)
Kann einzelne Konfigurationsoptionen aus der php.ini anzeigen
Detailbeschreibung

nach unten nach oben ini_get_all

array ini_get_all ( [string extension] )
(PHP 4 >= 4.2.0, PHP 5)
Kann alle Konfigurationsoptionen aus der php.ini anzeigen
Detailbeschreibung

nach unten nach oben ini_restore

void ini_restore ( string varname )
(PHP 4, PHP 5)
Kann eine zur Laufzeit im Skript definierte Konfigurationseinstellung wieder löschen
Detailbeschreibung

nach unten nach oben ini_set

string ini_set ( string varname, string newvalue )
(PHP 4, PHP 5)
Kann zur Laufzeit eine Konfigurationseinstellung aus der php.ini verändern
Detailbeschreibung

nach unten nach oben phpcredits

bool phpcredits ( [int flag] )
(PHP 4, PHP 5)
Gibt Informationen über die PHP-Entwickler, Mitwirkenden, Module etc. aus
Detailbeschreibung

nach unten nach oben phpinfo

int phpinfo ( void )
(PHP 3, PHP 4, PHP 5)
Konfigurationsübersicht von PHP auf dem Server
Detailbeschreibung

nach unten nach oben phpversion

string phpversion ( void )
(PHP 3, PHP 4, PHP 5)
Ermittelt die aktuelle PHP-Version auf dem Server
Detailbeschreibung

nach unten nach oben php_logo_guid

string php_logo_guid ( void )
(PHP 4, PHP 5)
Zeigt die Guid des PHP-Logos an
Detailbeschreibung

nach unten nach oben php_sapi_name

string php_sapi_name ( void )
(PHP 4 >= 4.0.1, PHP 5)
Ermittelt die Schnittstelle zwischen dem Webserver.php
Detailbeschreibung

nach unten nach oben php_uname

string php_uname ( [string mode] )
(PHP 4 >= 4.0.2, PHP 5)
Gibt das Betriebssystem aus
Detailbeschreibung

nach unten nach oben putenv

void putenv ( string setting )
(PHP 3, PHP 4, PHP 5)
Liest den Wert einer Umgebungsvariablen aus
Detailbeschreibung

nach unten nach oben restore_include_path

void restore_include_path ( void )
(PHP 4 >= 4.3.0, PHP 5)
Kann zur Laufzeit einen zuvor gesetzten Wert für den Include-Pfad aus der php.ini wieder löschen
Detailbeschreibung

nach unten nach oben set_include_path

string set_include_path ( string new_include_path )
(PHP 4 >= 4.3.0, PHP 5)
Kann zur Laufzeit einen neuen Pfad für zu includierende Dateien setzen
Detailbeschreibung

nach unten nach oben set_magic_quotes_runtime

long set_magic_quotes_runtime ( int new_setting )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Setzt den Wert für "magic_quotes_runtime()"
Detailbeschreibung

nach unten nach oben set_time_limit

void set_time_limit ( int seconds )
(PHP 3, PHP 4, PHP 5)
Legt die Laufzeit eines Skriptes fest
Detailbeschreibung

nach unten nach oben zend_logo_guid

string zend_logo_guid ( void )
(PHP 4, PHP 5)
Zeigt die Guid des ZEND-Logos an
Detailbeschreibung

nach unten nach oben zend_version

string zend_version ( void )
(PHP 4, PHP 5)
Gibt die aktuelle Version der genutzten ZEND-Engine aus
Detailbeschreibung

Zurück: PHP-Deklaration

Weiter: Reguläre Ausdrücke (POSIX)


Funktionsübersicht / Reguläre Ausdrücke (POSIX)

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Reguläre Ausdrücke (POSIX)

nach unten ereg | nach unten eregi | nach unten eregi_replace
nach unten ereg_replace | nach unten split | nach unten spliti
nach unten sql_regcase

nach unten nach oben ereg

int ereg ( string Suchmuster, string Zeichenkette [, array &regs] )
(PHP 3, PHP 4, PHP 5)
Sucht nach Übereinstimmungen in einem String
Detailbeschreibung

nach unten nach oben eregi

int eregi ( string Suchmuster, string Zeichenkette [, array &regs] )
(PHP 3, PHP 4, PHP 5)
Sucht in einer Zeichenkette nach Übereinstimmungen
Detailbeschreibung

nach unten nach oben eregi_replace

string eregi_replace ( string Suchmuster, string Ersatz, string Zeichenkette )
(PHP 3, PHP 4, PHP 5)
Ersetzt eine Zeichenkette durch einen Ersatz-Ausdruck
Detailbeschreibung

nach unten nach oben ereg_replace

string ereg_replace ( string Suchmuster, string Ersatz, string Zeichenkette )
(PHP 3, PHP 4, PHP 5)
Ersetzt eine Zeichenkette in einem String durch eine andere Zeichenkette
Detailbeschreibung

nach unten nach oben split

array split ( string Suchmuster, string Zeichenkette [, int BeschrÃ¤nkung] )
(PHP 3, PHP 4, PHP 5)
Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
Detailbeschreibung

nach unten nach oben spliti

array spliti ( string Suchmuster, string Zeichenkette [, int BeschrÃ¤nkung] )
(PHP 4 >= 4.0.1, PHP 5)
Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
Detailbeschreibung

nach unten nach oben sql_regcase

string sql_regcase ( string Zeichenkette )
(PHP 3, PHP 4, PHP 5)
Erzeugt aus einer Zeichenkette einen regulären Ausdruck
Detailbeschreibung

Zurück: PHP-Informationen

Weiter: Session-Funktionen


Funktionsübersicht / Session-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Session-Funktionen

nach unten session_cache_expire | nach unten session_cache_limiter | nach unten session_decode
nach unten session_destroy | nach unten session_encode | nach unten session_get_cookie_params
nach unten session_id | nach unten session_is_registered | nach unten session_module_name
nach unten session_name | nach unten session_regenerate_id | nach unten session_register
nach unten session_save_path | nach unten session_set_cookie_params | nach unten session_start
nach unten session_unregister | nach unten session_unset

nach unten nach oben session_cache_expire

int session_cache_expire ( [int neue_cache_verfallszeit] )
(PHP 4 >= 4.2.0, PHP 5)
Kann die den Wert der aktuellen Cachespeicherung aus der Konfigurationsdatei zurückgeben
Detailbeschreibung

nach unten nach oben session_cache_limiter

string session_cache_limiter ( [string Cacheverwaltung] )
(PHP 4 >= 4.0.3, PHP 5)
Zeigt die aktuelle Bezeichnung der Cacheverwaltung an
Detailbeschreibung

nach unten nach oben session_decode

bool session_decode ( string Daten )
(PHP 4, PHP 5)
Decodiert einen String
Detailbeschreibung

nach unten nach oben session_destroy

bool session_destroy ( void )
(PHP 4, PHP 5)
Beendet eine aktuelle Session und löscht alle Daten
Detailbeschreibung

nach unten nach oben session_encode

string session_encode ( void )
(PHP 4, PHP 5)
Codiert einen String einer Session
Detailbeschreibung

nach unten nach oben session_get_cookie_params

array session_get_cookie_params ( void )
(PHP 4, PHP 5)
Zeigt den derzeit gültigen Cookie-Parameter an
Detailbeschreibung

nach unten nach oben session_id

string session_id ( [string ID] )
(PHP 4, PHP 5)
Liefert die aktuelle Session-ID
Detailbeschreibung

nach unten nach oben session_is_registered

bool session_is_registered ( string Name )
(PHP 4, PHP 5)
Prüft, ob eine Variable in einer Session registriert wurde
Detailbeschreibung

nach unten nach oben session_module_name

string session_module_name ( [string Modul] )
(PHP 4, PHP 5)
Gibt den Namen des aktuellen Session-Moduls aus
Detailbeschreibung

nach unten nach oben session_name

string session_name ( [string Name] )
(PHP 4, PHP 5)
Gibt den Namen der aktuellen Session aus
Detailbeschreibung

nach unten nach oben session_regenerate_id

bool session_regenerate_id ( [bool alte_session_löschen] )
(PHP 4 >= 4.3.2, PHP 5)
Kann die aktuelle Session-ID durch eine Neue ersetzen
Detailbeschreibung

nach unten nach oben session_register

bool session_register ( mixed Name [, mixed ...] )
(PHP 4, PHP 5)
Registriert eine oder mehrere Variablen in der Session
Detailbeschreibung

nach unten nach oben session_save_path

string session_save_path ( [string Pfad] )
(PHP 4, PHP 5)
Zeigt den aktuellen Speicherpfad der Session an
Detailbeschreibung

nach unten nach oben session_set_cookie_params

void session_set_cookie_params ( int Lebensdauer [, string Pfad [, string Domain [, bool secure]]] )
(PHP 4, PHP 5)
Bestimmt verschiedene Parameter eines Cookies
Detailbeschreibung

nach unten nach oben session_start

bool session_start ( void )
(PHP 4, PHP 5)
Erstellt eine neue Session oder nimmt eine aktuelle Session wieder auf
Detailbeschreibung

nach unten nach oben session_unregister

bool session_unregister ( string Name )
(PHP 4, PHP 5)
Hebt die Registrierung einer Variablen in einer Session auf
Detailbeschreibung

nach unten nach oben session_unset

void session_unset ( void )
(PHP 4, PHP 5)
Deregistrierung aller Variablen einer Session
Detailbeschreibung

Zurück: Reguläre Ausdrücke (POSIX)

Weiter: Sonstige-Funktionen


Funktionsübersicht / Sonstige-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Sonstige-Funktionen

nach unten connection_aborted | nach unten connection_status | nach unten connection_timeout
nach unten define | nach unten defined | nach unten die
nach unten eval | nach unten exit | nach unten get_browser
nach unten highlight_file | nach unten highlight_string | nach unten ignore_user_abort
nach unten ini_alter | nach unten leak | nach unten show_source
nach unten sleep | nach unten uniqid | nach unten usleep

nach unten nach oben connection_aborted

int connection_aborted ( void )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Überprüft, ob das Skript nicht durch den User abgebrochen wurde
Detailbeschreibung

nach unten nach oben connection_status

int connection_status ( void )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Liefert den internen Verbindungsstatus
Detailbeschreibung

nach unten nach oben connection_timeout

int connection_timeout ( void )
(PHP 3 >= 3.0.7, PHP 4 <= 4.0.4)
Überprüft, ob das Skript durch einen TimeOut beendet wurde
Detailbeschreibung

nach unten nach oben define

int define ( string name, mixed value [, int case_insensitive] )
(PHP 3, PHP 4, PHP 5)
Kann man eine Konstante definieren
Detailbeschreibung

nach unten nach oben defined

int defined ( string name )
(PHP 3, PHP 4, PHP 5)
Überprüft, ob eine Konstante definiert wurde
Detailbeschreibung

nach unten nach oben die

void die ( string message )
(PHP 3, PHP 4, PHP 5)
Bricht ein laufendes Skript ab
Detailbeschreibung

nach unten nach oben eval

mixed eval ( string code_str )
(PHP 3, PHP 4, PHP 5)
Wertet einen String mit PHP-Code aus
Detailbeschreibung

nach unten nach oben exit

void exit ( void )
(PHP 3, PHP 4, PHP 5)
Beendet ein laufendes Skript
Detailbeschreibung

nach unten nach oben get_browser

object get_browser ( [string user_agent] )
(PHP 3, PHP 4, PHP 5)
Ermittelt die Möglichkeiten eines Browsers
Detailbeschreibung

nach unten nach oben highlight_file

void highlight_file ( string filename )
(PHP 4, PHP 5)
Hebt den Syntax einer Datei farbig hervor
Detailbeschreibung

nach unten nach oben highlight_string

void highlight_string ( string str )
(PHP 4, PHP 5)
Hebt den Syntax eines Strings farbig hervor
Detailbeschreibung

nach unten nach oben ignore_user_abort

int ignore_user_abort ( [int setting] )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Legt fest, ob ein Skript nach Verbindungsabbruch auch beendet werden soll
Detailbeschreibung

nach unten nach oben ini_alter

string ini_alter (string varname, string newvalue)
(PHP 4, PHP 5)
Ändert Konfigurations-Optionen in der php.ini
Detailbeschreibung

nach unten nach oben leak

void leak (int bytes)
(PHP 3, PHP 4 >= 4.0b1)
Belegt eine angegebene Speichergröße
Detailbeschreibung

nach unten nach oben show_source

void show_source ( string filename )
(PHP 4, PHP 5)
Hebt den Syntax einer Datei farbig hervor
Detailbeschreibung

nach unten nach oben sleep

void sleep ( int seconds )
(PHP 3, PHP 4, PHP 5)
Unterbricht ein Skript für eine gewisse Zeit
Detailbeschreibung

nach unten nach oben uniqid

string uniqid ( string prefix [, boolean lcg] )
(PHP 3, PHP 4, PHP 5)
Erzeugt eine eindeutige ID mit Präfix
Detailbeschreibung

nach unten nach oben usleep

void usleep ( int micro_seconds )
(PHP 3, PHP 4, PHP 5)
Hält ein Skript für eine gewisse Zeit an
Detailbeschreibung

Zurück: Session-Funktionen

Weiter: String-Funktionen


Funktionsübersicht / String-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

String-Funktionen

nach unten addcslashes | nach unten addslashes | nach unten bin2hex
nach unten chop | nach unten chr | nach unten chunk_split
nach unten convert_cyr_string | nach unten count_chars | nach unten crc32
nach unten crypt | nach unten echo | nach unten explode
nach unten get_html_translation_table | nach unten htmlentities | nach unten htmlspecialchars
nach unten implode | nach unten join | nach unten levenshtein
nach unten ltrim | nach unten md5 | nach unten metaphone
nach unten nl2br | nach unten ord | nach unten parse_str
nach unten print | nach unten printf | nach unten quoted_printable_decode
nach unten quotemeta | nach unten rtrim | nach unten setlocale
nach unten similar_text | nach unten soundex | nach unten sprintf
nach unten sscanf | nach unten strcasecmp | nach unten strchr
nach unten strcmp | nach unten strcspn | nach unten stripcslashes
nach unten stripslashes | nach unten strip_tags | nach unten stristr
nach unten strlen | nach unten strnatcasecmp | nach unten strnatcmp
nach unten strncmp | nach unten strpos | nach unten strrchr
nach unten strrev | nach unten strrpos | nach unten strspn
nach unten strstr | nach unten strtok | nach unten strtolower
nach unten strtoupper | nach unten strtr | nach unten str_pad
nach unten str_repeat | nach unten str_replace | nach unten str_rot13
nach unten str_shuffle | nach unten str_split | nach unten str_word_count
nach unten substr | nach unten substr_count | nach unten substr_replace
nach unten trim | nach unten ucfirst | nach unten ucwords
nach unten wordwrap

nach unten nach oben addcslashes

string addcslashes ( string str, string charlist )
(PHP 4, PHP 5)
Schützt vordefinierte Sonderzeichen mit einem Backslash
Detailbeschreibung

nach unten nach oben addslashes

string addslashes ( string str )
(PHP 3, PHP 4, PHP 5)
Schützt alle Vorkommen bestimmter Zeichen mit einem Backslash
Detailbeschreibung

nach unten nach oben bin2hex

string bin2hex ( string str )
(PHP 3 >= 3.0.9, PHP 4, PHP 5)
Konvertiert Binär-Daten in hexadezimale Daten
Detailbeschreibung

nach unten nach oben chop

string chop (string str)
(PHP 3, PHP 4, PHP 5)
Entfernt nicht sichtbare Zeichen am Ende einer Zeichenkette
Detailbeschreibung

nach unten nach oben chr

string chr ( int ascii )
(PHP 3, PHP 4, PHP 5)
Gibt das ASCII-Zeichen zu einer angegebenen Nummer aus
Detailbeschreibung

nach unten nach oben chunk_split

string chunk_split ( string body [, int chunklen [, string end]] )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Zerlegt eine Zeichenkette in kleinere Stücke
Detailbeschreibung

nach unten nach oben convert_cyr_string

string convert_cyr_string ( string str, string from, string to )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Konvertiert eine kryllische Zeichenkette in eine andere vorgegebenen Zeichenkette
Detailbeschreibung

nach unten nach oben count_chars

mixed count_chars ( string string [, int mode] )
(PHP 4, PHP 5)
Zählt die Häufigkeit von Zeichen durch Vorgabekriterien
Detailbeschreibung

nach unten nach oben crc32

int crc32 ( string str )
(PHP 4 >= 4.0.1, PHP 5)
Berechnet den polynomischen CRC32-Wert eines Strings
Detailbeschreibung

nach unten nach oben crypt

string crypt ( string str [, string salt] )
(PHP 3, PHP 4, PHP 5)
Verschlüsselt eine Zeichenkette
Detailbeschreibung

nach unten nach oben echo

void echo ( string arg1 [, string ...] )
(PHP 3, PHP 4, PHP 5)
Gibt einen String an den Browser aus
Detailbeschreibung

nach unten nach oben explode

array explode ( string separator, string string [, int limit] )
(PHP 3, PHP 4, PHP 5)
Zerlegt eine Zeichenkette anhand eines Trennzeichens
Detailbeschreibung

nach unten nach oben get_html_translation_table

string get_html_translation_table ( int table [, int quote_style] )
(PHP 4, PHP 5)
Greift auf die intern genutzte Zeichentabelle zu
Detailbeschreibung

nach unten nach oben htmlentities

string htmlentities ( string string [, int quote_style [, string charset]] )
(PHP 3, PHP 4, PHP 5)
Wandelt alle Sonderzeichen in HTML-Code um
Detailbeschreibung

nach unten nach oben htmlspecialchars

string htmlspecialchars ( string string [, int quote_style [, string charset]] )
(PHP 3, PHP 4, PHP 5)
Wandelt bestimmte Sonderzeichen in HTML-Code um
Detailbeschreibung

nach unten nach oben implode

string implode ( string glue, array pieces )
(PHP 3, PHP 4, PHP 5)
Fügt ein Array anhand eines Trennseparators zu einer Variablen zusammen
Detailbeschreibung

nach unten nach oben join

string join ( string glue, array pieces )
(PHP 3, PHP 4, PHP 5)
Fügt ein Array anhand eines Trennseparators zu einer Variablen zusammen
Detailbeschreibung

nach unten nach oben levenshtein

int levenshtein ( string str1, string str2 )
(PHP 3 >= 3.0.17, PHP 4 >= 4.0.1, PHP 5)
Berechnet den Unterschied zweier Strings
Detailbeschreibung

nach unten nach oben ltrim

string ltrim ( string str )
(PHP 3, PHP 4, PHP 5)
Entfernt Leerraum am Anfang einer Zeichenkette
Detailbeschreibung

nach unten nach oben md5

string md5 ( string str )
(PHP 3, PHP 4, PHP 5)
Verschlüsselt eine Zeichenkette nach der MD5-Methode
Detailbeschreibung

nach unten nach oben metaphone

string metaphone ( string str )
(PHP 4, PHP 5)
Berechnet den Metaphone-Schlüssel eines Strings
Detailbeschreibung

nach unten nach oben nl2br

string nl2br ( string string )
(PHP 3, PHP 4, PHP 5)
Wandelt Zeichenumbrüche in die HTML-Entsprechung
Detailbeschreibung

nach unten nach oben ord

int ord ( string string )
(PHP 3, PHP 4, PHP 5)
Gibt den ASCII-Wert eines Zeichens zurück
Detailbeschreibung

nach unten nach oben parse_str

void parse_str ( string str [, array arr] )
(PHP 3, PHP 4, PHP 5)
Durchsucht eine Zeichenkette als ob es ein Query-String wäre
Detailbeschreibung

nach unten nach oben print

int print ( string arg )
(PHP 3, PHP 4, PHP 5)
Gibt eine Zeichenkette aus
Detailbeschreibung

nach unten nach oben printf

void printf ( string format [, mixed args] )
(PHP 3, PHP 4, PHP 5)
Formatiert eine Zeichenkette nach einem Muster
Detailbeschreibung

nach unten nach oben quoted_printable_decode

string quoted_printable_decode ( string str )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Konvertiert ein "qouted-printable"-String in einen 8Bit-String
Detailbeschreibung

nach unten nach oben quotemeta

string quotemeta ( string str )
(PHP 3, PHP 4, PHP 5)
quotemeta
Detailbeschreibung

nach unten nach oben rtrim

string rtrim ( string str )
(PHP 3, PHP 4, PHP 5)
Entfernt Leerzeichen am Ende eines Strings
Detailbeschreibung

nach unten nach oben setlocale

string setlocale ( mixed category, string locale [, string ...] )
(PHP 3, PHP 4, PHP 5)
Ändert die lokalen Einstellungen eines Landes
Detailbeschreibung

nach unten nach oben similar_text

int similar_text ( string first, string second [, double percent] )
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
Berechnet die Ähnlichkeit zweier Strings
Detailbeschreibung

nach unten nach oben soundex

string soundex ( string str )
(PHP 3, PHP 4, PHP 5)
Berechnet die Laut-Ähnlichkeit eines Strings
Detailbeschreibung

nach unten nach oben sprintf

string sprintf ( string format [, mixed args] )
(PHP 3, PHP 4, PHP 5)
Formatiert ein String nach einem speziellen Muster
Detailbeschreibung

nach unten nach oben sscanf

mixed sscanf ( string str, string format [, string var1] )
(PHP 4 >= 4.0.1, PHP 5)
Formatiert ein String in ein entsprechendes Format
Detailbeschreibung

nach unten nach oben strcasecmp

int strcasecmp ( string str1, string str2 )
(PHP 3 >= 3.0.2, PHP 4, PHP 5)
Vergleicht zwei Strings auf Binär-Ebene
Detailbeschreibung

nach unten nach oben strchr

string strchr ( string haystack, string needle )
(PHP 3, PHP 4, PHP 5)
Sucht innerhalb einer Zeichenkette nach bestimmten Zeichen
Detailbeschreibung

nach unten nach oben strcmp

int strcmp ( string str1, string str2 )
(PHP 3, PHP 4, PHP 5)
Vergleicht zwei Strings auf Binär-Ebene
Detailbeschreibung

nach unten nach oben strcspn

int strcspn ( string str1, string str2 )
(PHP 3 >= 3.0.3, PHP 4, PHP 5)
Listet alle nicht übereinstimmende Zeichen eines Strings
Detailbeschreibung

nach unten nach oben stripcslashes

string stripcslashes ( string str )
(PHP 4, PHP 5)
Entfernt Schrägstriche aus einer Zeichenkette
Detailbeschreibung

nach unten nach oben stripslashes

string stripslashes ( string str )
(PHP 3, PHP 4, PHP 5)
Entfernt Schrägstriche aus einer Zeichenkette
Detailbeschreibung

nach unten nach oben strip_tags

string strip_tags ( string str [, string allowable_tags] )
(PHP 3 >= 3.0.8, PHP 4, PHP 5)
Entfernt HTML- und PHP-Tags aus einer Zeichenkette
Detailbeschreibung

nach unten nach oben stristr

string stristr ( string haystack, string needle )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Sucht innerhalb einer Zeichenkette nach bestimmten Zeichen
Detailbeschreibung

nach unten nach oben strlen

int strlen ( string str )
(PHP 3, PHP 4, PHP 5)
Gibt die Länge einer Zeichenkette aus
Detailbeschreibung

nach unten nach oben strnatcasecmp

int strnatcasecmp ( string str1, string str2 )
(PHP 4, PHP 5)
Vergleicht Zeichenketten nach einer natürlichen Ordnung
Detailbeschreibung

nach unten nach oben strnatcmp

int strnatcmp ( string str1, string str2 )
(PHP 4, PHP 5)
Vergleicht Zeichenketten nach einer natürlichen Ordnung
Detailbeschreibung

nach unten nach oben strncmp

int strncmp ( string str1, string str2, int len )
(PHP 4, PHP 5)
Vergleicht Zeichenketten auf Binär-Basis
Detailbeschreibung

nach unten nach oben strpos

int strpos ( string haystack, string needle [, int offset] )
(PHP 3, PHP 4, PHP 5)
Findet das erste Vorkommen eines Zeichens oder Zeichenkette in einem String
Detailbeschreibung

nach unten nach oben strrchr

string strrchr ( string haystack, string needle )
(PHP 3, PHP 4, PHP 5)
Gibt den Rest einer Zeichenkette ab dem Suchtreffer aus
Detailbeschreibung

nach unten nach oben strrev

string strrev ( string string )
(PHP 3, PHP 4, PHP 5)
Dreht eine Zeichenkette um
Detailbeschreibung

nach unten nach oben strrpos

int strrpos ( string haystack, char needle )
(PHP 3, PHP 4, PHP 5)
Findet das letzte Vorkommen eines Zeichens in einer Zeichenkette
Detailbeschreibung

nach unten nach oben strspn

int strspn ( string str1, string str2 )
(PHP 3 >= 3.0.3, PHP 4, PHP 5)
Zält die Anzahl der Zeichen vom Beginn der ersten Zeichenkette bis zu einem Zeichen, welches nicht in der zweiten Zeichenkette vorkomt
Detailbeschreibung

nach unten nach oben strstr

string strstr ( string haystack, string needle )
(PHP 3, PHP 4, PHP 5)
Gint das erste Vorkommen eines Strings innerhalb einer Zeichenkette aus
Detailbeschreibung

nach unten nach oben strtok

string strtok ( string arg1, string arg2 )
(PHP 3, PHP 4, PHP 5)
Es wird eine Zeichenkette durch eine andere Zeichenkette zerlegt
Detailbeschreibung

nach unten nach oben strtolower

string strtolower ( string str )
(PHP 3, PHP 4, PHP 5)
Wandelt den Inhalt einer Zeichenkette in Kleinbuchstaben um
Detailbeschreibung

nach unten nach oben strtoupper

string strtoupper ( string string )
(PHP 3, PHP 4, PHP 5)
Wandelt den Inhalt einer Zeichenkette in Großbchstaben um
Detailbeschreibung

nach unten nach oben strtr

string strtr ( string str, string from, string to )
(PHP 3, PHP 4, PHP 5)
Tauscht bestimmte Zeichen eines Strings aus
Detailbeschreibung

nach unten nach oben str_pad

string str_pad ( string input, int pad_length [, string pad_string [, int pad_type]] )
(PHP 4 >= 4.0.1, PHP 5)
Füllt einen String mit einer bestimmten Menge an Zeichen auf
Detailbeschreibung

nach unten nach oben str_repeat

string str_repeat ( string input, int multiplier )
(PHP 4, PHP 5)
Gibt einen String mehrmals aus
Detailbeschreibung

nach unten nach oben str_replace

mixed str_replace ( mixed search, mixed replace, mixed subject )
(PHP 3 >= 3.0.6, PHP 4, PHP 5)
Ersetzt alle Vorkommen eines Strings durch einen anderen String
Detailbeschreibung

nach unten nach oben str_rot13

string str_rot13 ( string str )
(PHP 4 >= 4.2.0, PHP 5)
Kann in einen String jeden Buchstaben um 13 Stellen nach rechts verschieben
Detailbeschreibung

nach unten nach oben str_shuffle

string str_shuffle ( string str )
(PHP 4 >= 4.3.0, PHP 5)
Kann einen String durchwürfeln und diesen danach modifiziert zurückgeben
Detailbeschreibung

nach unten nach oben str_split

array str_split ( string string [, int split_length] )
(PHP 5)
Mit str_split kann man ein String in kleinere Stücke zerlegen
Detailbeschreibung

nach unten nach oben str_word_count

mixed str_word_count ( string string [, int format] )
(PHP 4 >= 4.3.0, PHP 5)
Kann innerhalb einer Zeichenkette die vorhandenen Wörter zählen und diesen Wert zurückgeben
Detailbeschreibung

nach unten nach oben substr

string substr ( string string, int start [, int length] )
(PHP 3, PHP 4, PHP 5)
Gibt einen Teilstring aus
Detailbeschreibung

nach unten nach oben substr_count

int substr_count ( string haystack, string needle )
(PHP 4, PHP 5)
Ermittelt in einem String eine bestimmte Zeichenkette
Detailbeschreibung

nach unten nach oben substr_replace

string substr_replace ( string string, string replacement, int start [, int length] )
(PHP 4, PHP 5)
Ersetzt einen Teilstring durch eine Zeichenkette
Detailbeschreibung

nach unten nach oben trim

string trim ( string str )
(PHP 3, PHP 4, PHP 5)
Entfernt überflüssige Zeichen am Anfang und am Ende eines Strings
Detailbeschreibung

nach unten nach oben ucfirst

string ucfirst ( string str )
(PHP 3, PHP 4, PHP 5)
Schreibt das erste Zeichen eines Strings gross
Detailbeschreibung

nach unten nach oben ucwords

string ucwords ( string str )
(PHP 3 >= 3.0.3, PHP 4, PHP 5)
Schreibt das erste Zeichen aller Wörter eines Strings gross
Detailbeschreibung

nach unten nach oben wordwrap

string wordwrap ( string str [, int width [, string break [, bool cut]]] )
(PHP 4 >= 4.0.2, PHP 5)
Bricht einen String ab einer gewissen Länge um
Detailbeschreibung

Zurück: Sonstige-Funktionen

Weiter: URL-Funktionen


Funktionsübersicht / URL-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

URL-Funktionen

nach unten base64_decode | nach unten base64_encode | nach unten get_headers
nach unten get_meta_tags | nach unten http_build_query | nach unten parse_url
nach unten rawurldecode | nach unten rawurlencode | nach unten urldecode
nach unten urlencode

nach unten nach oben base64_decode

string base64_decode ( string encoded_data )
(PHP 3, PHP 4, PHP 5)
Konvertiert eine Zeichenkette von Base64-Code nach 8Bit-Zeichen-Format
Detailbeschreibung

nach unten nach oben base64_encode

string base64_encode ( string data )
(PHP 3, PHP 4, PHP 5)
Konvertiert eine Zeichenkette von 8Bit-Zeichen-Format nach Base64-Code
Detailbeschreibung

nach unten nach oben get_headers

array get_headers ( string url [, int format] )
(PHP 5)
Gibt alle übermittelten Headerwerte, die von einem Server nach einem HTTP-Request gesendet werden aus
Detailbeschreibung

nach unten nach oben get_meta_tags

array get_meta_tags ( string filename [, bool use_include_path] )
(PHP 3 >= 3.0.4, PHP 4, PHP 5)
Liest aus einer Datei die Meta-Tags aus
Detailbeschreibung

nach unten nach oben http_build_query

string http_build_query ( array formdata [, string numeric_prefix] )
(PHP 5)
Kann anhand eines Objekts oder assoziativen Arrays eine kodierte URL erstellen
Detailbeschreibung

nach unten nach oben parse_url

array parse_url ( string url )
(PHP 3, PHP 4, PHP 5)
Zerlegt eine URL in ihre Bestandteile
Detailbeschreibung

nach unten nach oben rawurldecode

string rawurldecode ( string str )
(PHP 3, PHP 4, PHP 5)
Dekodiert einen kodierten String einer URL
Detailbeschreibung

nach unten nach oben rawurlencode

string rawurlencode ( string str )
(PHP 3, PHP 4, PHP 5)
Kodiert einen String für eine URL
Detailbeschreibung

nach unten nach oben urldecode

string urldecode ( string str )
(PHP 3, PHP 4, PHP 5)
Dekodiert einen kodierten String einer URL
Detailbeschreibung

nach unten nach oben urlencode

string urlencode ( string str )
(PHP 3, PHP 4, PHP 5)
Kodiert einen String für eine URL
Detailbeschreibung

Zurück: String-Funktionen

Weiter: Variablen-Funktionen


Funktionsübersicht / Variablen-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Variablen-Funktionen

nach unten doubleval | nach unten empty | nach unten floatval
nach unten gettype | nach unten intval | nach unten isset
nach unten is_array | nach unten is_bool | nach unten is_double
nach unten is_float | nach unten is_int | nach unten is_integer
nach unten is_long | nach unten is_null | nach unten is_numeric
nach unten is_object | nach unten is_real | nach unten is_resource
nach unten is_scalar | nach unten is_string | nach unten print_r
nach unten serialize | nach unten settype | nach unten strval
nach unten unserialize | nach unten unset | nach unten var_dump
nach unten var_export

nach unten nach oben doubleval

double doubleval ( mixed var )
(PHP 3, PHP 4, PHP 5)
Umwandlung einer Variablen in eine Fließkommazahl
Detailbeschreibung

nach unten nach oben empty

int empty ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob eine Variable leer ist
Detailbeschreibung

nach unten nach oben floatval

float floatval ( mixed var )
(PHP 4 >= 4.2.0, PHP 5)
Versucht aus einer Variablen eine Floatzahl zu erstellen
Detailbeschreibung

nach unten nach oben gettype

string gettype ( mixed var )
(PHP 3, PHP 4, PHP 5)
Ermittelt den Typ einer Variablen
Detailbeschreibung

nach unten nach oben intval

int intval ( mixed var [, int base] )
(PHP 3, PHP 4, PHP 5)
Umwandlung einer Variablen in eine Intergerzahl
Detailbeschreibung

nach unten nach oben isset

bool isset ( mixed var [, mixed var [, ...]] )
(PHP 3, PHP 4, PHP 5)
Prüft ob eine Variable existiert
Detailbeschreibung

nach unten nach oben is_array

bool is_array ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ Array ist
Detailbeschreibung

nach unten nach oben is_bool

bool is_bool ( mixed var )
(PHP 4, PHP 5)
Prüft, ob die Variable ein boolescher Wert ist
Detailbeschreibung

nach unten nach oben is_double

int is_double ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ Double ist
Detailbeschreibung

nach unten nach oben is_float

int is_float ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ float ist
Detailbeschreibung

nach unten nach oben is_int

bool is_int ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ Integer ist
Detailbeschreibung

nach unten nach oben is_integer

int is_integer ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ Integer ist
Detailbeschreibung

nach unten nach oben is_long

int is_long ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ Long ist
Detailbeschreibung

nach unten nach oben is_null

bool is_null ( mixed var )
(PHP 4 >= 4.0.4, PHP 5)
Überprüft, ob eine Variable vom Typ NULL ist
Detailbeschreibung

nach unten nach oben is_numeric

bool is_numeric ( mixed var )
(PHP 4, PHP 5)
Überprüft, ob es sich bei einer Variable um eine Zahl oder numerischen String handelt
Detailbeschreibung

nach unten nach oben is_object

bool is_object ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ Object ist
Detailbeschreibung

nach unten nach oben is_real

int is_real ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ Real ist
Detailbeschreibung

nach unten nach oben is_resource

bool is_resource ( mixed var )
(PHP 4, PHP 5)
Überprüft, ob eine Variable vom Typ Resource ist
Detailbeschreibung

nach unten nach oben is_scalar

bool is_scalar ( mixed var )
(PHP 4 >= 4.0.5, PHP 5)
Überprüft, ob eine Variable vom Typ Scalar ist
Detailbeschreibung

nach unten nach oben is_string

bool is_string ( mixed var )
(PHP 3, PHP 4, PHP 5)
Prüft ob die Variable vom Typ String ist
Detailbeschreibung

nach unten nach oben print_r

bool print_r ( mixed expression [, bool return] )
(PHP 4, PHP 5)
Kann Variablen in lesbarer und vorformatierter Form ausgeben
Detailbeschreibung

nach unten nach oben serialize

string serialize ( mixed value )
(PHP 3 >= 3.0.5, PHP 4, PHP 5)
Erstellt eine serialisierte Zeichenkette, die für beliebige Speicherarten nutzt werden kann
Detailbeschreibung

nach unten nach oben settype

bool settype ( mixed &var, string type )
(PHP 3, PHP 4, PHP 5)
Legt den Typ einer Variablen fest
Detailbeschreibung

nach unten nach oben strval

string strval ( mixed var )
(PHP 3, PHP 4, PHP 5)
Umwandlung einer Variablen in ein String
Detailbeschreibung

nach unten nach oben unserialize

mixed unserialize ( string str )
(PHP 3 >= 3.0.5, PHP 4, PHP 5)
Erstellt aus einer serialisierten Zeichenkette, die ursprüngliche Struktur einer Variablen
Detailbeschreibung

nach unten nach oben unset

void unset ( mixed var )
(PHP 3, PHP 4, PHP 5)
Löscht eine Variable
Detailbeschreibung

nach unten nach oben var_dump

void var_dump ( mixed expression )
(PHP 3 >= 3.0.5, PHP 4, PHP 5)
Kann alle Informationen einer Variablen ausgeben
Detailbeschreibung

nach unten nach oben var_export

mixed var_export ( mixed expression [, bool return] )
(PHP 4 >= 4.2.0, PHP 5)
Kann eine Variable ausgeben
Detailbeschreibung

Zurück: URL-Funktionen

Weiter: Verzeichnis-Funktionen


Funktionsübersicht / Verzeichnis-Funktionen

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verzeichnis-Funktionen

nach unten chdir | nach unten closedir | nach unten dir
nach unten getcwd | nach unten mkdir | nach unten opendir
nach unten readdir | nach unten rewinddir | nach unten rmdir
nach unten scandir

nach unten nach oben chdir

int chdir ( string directory )
(PHP 3, PHP 4, PHP 5)
Bewegen innerhalb von Verzeichnissen
Detailbeschreibung

nach unten nach oben closedir

void closedir ( int dir_handle )
(PHP 3, PHP 4, PHP 5)
Beendet ein Verzeichnishandle
Detailbeschreibung

nach unten nach oben dir

dir (string directory)
(PHP 3, PHP 4, PHP 5)
Mechanismus zum lesen von Verzeichnissen
Detailbeschreibung

nach unten nach oben getcwd

string getcwd ( void )
(PHP 4, PHP 5)
Ermittelt das Arbeitsverzeichnis des Skriptes
Detailbeschreibung

nach unten nach oben mkdir

int mkdir ( string pathname [, int mode] )
(PHP 3, PHP 4, PHP 5)
Erstellt ein Verzeichnis
Detailbeschreibung

nach unten nach oben opendir

int opendir ( string path )
(PHP 3, PHP 4, PHP 5)
Öffnet ein Verzeichnishandle
Detailbeschreibung

nach unten nach oben readdir

string readdir ( int dir_handle )
(PHP 3, PHP 4, PHP 5)
Liest den Inhalt eines Verzeichnishandle
Detailbeschreibung

nach unten nach oben rewinddir

void rewinddir ( int dir_handle )
(PHP 3, PHP 4, PHP 5)
Setzt ein Verzeichnishandle zurück
Detailbeschreibung

nach unten nach oben rmdir

int rmdir ( string dirname )
(PHP 3, PHP 4, PHP 5)
Löscht ein bestehendes Verzeichnis
Detailbeschreibung

nach unten nach oben scandir

array scandir ( string directory [, int sorting_order [, resource context]] )
(PHP 5)
Kann ein Verzeichnis auslesen und das Ergebnis in ein Array ausgeben
Detailbeschreibung

Zurück: Variablen-Funktionen

Weiter: Funktionsübersicht


phpinfo()

PHP Version 4.4.2

System | Linux wp070 2.6.15.3-he-all #1 SMP Thu Feb 9 11:37:59 CET 2006 i686
Build Date | Jan 19 2006 19:09:46
Configure Command | './configure' '--program-prefix=php4-' '--prefix=/usr/local/php4' '--datadir=/usr/share/php4' '--with-config-file-path=/etc/php4' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2=shared' '--with-dom=shared,/usr' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd=shared' '--enable-gd-native-ttf' '--with-ttf=shared' '--with-gdbm=shared' '--with-gettext=shared' '--with-iconv=shared' '--with-jpeg-dir=shared,/usr' '--with-openssl' '--with-png=shared' '--with-pspell=shared' '--with-regex=system' '--with-xml=shared' '--with-expat=shared' '--with-zlib=/usr/local' '--with-zlib-dir=/usr/local' '--with-layout=GNU' '--enable-bcmath=shared' '--enable-exif=shared' '--enable-ftp=shared' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-discard-path' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--without-oci8' '--with-pear=/usr/share/pear' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-versioning' '--enable-calendar=shared' '--enable-dbx=shared' '--enable-dio=shared' '--enable-mcal=shared' '--enable-dba=shared' '--enable-dbase=shared' '--with-ndbm=shared' '--with-ndb=shared' '--with-mcrypt=shared' '--with-mhash=shared' '--with-ming=shared' '--with-curl=shared,/usr' '--with-apxs2=/usr/bin/apxs2' '--enable-mbstring=shared'
Server API | Apache 2.0 Handler
Virtual Directory Support | disabled
Configuration File (php.ini) Path | /etc/php4/php.ini
PHP API | 20020918
PHP Extension | 20020429
Zend Extension | 20050606
Debug Build | no
Zend Memory Manager | enabled
Thread Safety | disabled
Registered PHP Streams | php, http, ftp, https, ftps, compress.zlib, compress.bzip2

Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.9, Copyright (c) 2003-2005, by Zend Technologies with Zend Optimizer v2.6.0, Copyright (c) 1998-2005, by Zend Technologies

PHP Credits

Configuration

PHP Core

Directive | Local Value | Master Value
allow_call_time_pass_reference | Off | Off
allow_url_fopen | On | On
always_populate_raw_post_data | Off | Off
arg_separator.input | & | &
arg_separator.output | &amp; | &amp;
asp_tags | Off | Off
auto_append_file | no value | no value
auto_prepend_file | no value | no value
browscap | no value | no value
default_charset | no value | no value
default_mimetype | text/html | text/html
define_syslog_variables | Off | Off
disable_classes | no value | no value
disable_functions | no value | no value
display_errors | On | On
display_startup_errors | Off | Off
doc_root | no value | no value
docref_ext | no value | no value
docref_root | no value | no value
enable_dl | Off | Off
error_append_string | no value | no value
error_log | no value | no value
error_prepend_string | no value | no value
error_reporting | 2039 | 2039
expose_php | On | On
extension_dir | /usr/lib/apache2/modules/php4/ | /usr/lib/apache2/modules/php4/
file_uploads | On | On
gpc_order | GPC | GPC
highlight.bg | #FFFFFF | #FFFFFF
highlight.comment | #FF9900 | #FF9900
highlight.default | #0000BB | #0000BB
highlight.html | #000000 | #000000
highlight.keyword | #007700 | #007700
highlight.string | #DD0000 | #DD0000
html_errors | On | On
ignore_repeated_errors | Off | Off
ignore_repeated_source | Off | Off
ignore_user_abort | Off | Off
implicit_flush | Off | Off
include_path | ./:/usr/share/pear/php4/ | ./:/usr/share/pear/php4/
log_errors | Off | Off
log_errors_max_len | 1024 | 1024
magic_quotes_gpc | Off | Off
magic_quotes_runtime | Off | Off
magic_quotes_sybase | Off | Off
max_execution_time | 30 | 30
max_input_time | 60 | 60
memory_limit | 16M | 16M
open_basedir | /tmp:/bin:/usr:/is/htdocs/wp1042434_BDEO6BJ7VB | no value
output_buffering | no value | no value
output_handler | no value | no value
post_max_size | 8M | 8M
precision | 14 | 14
register_argc_argv | On | On
register_globals | Off | Off
report_memleaks | On | On
safe_mode | Off | Off
safe_mode_exec_dir | no value | no value
safe_mode_gid | Off | Off
safe_mode_include_dir | no value | no value
sendmail_from | no value | no value
sendmail_path | /usr/sbin/sendmail -t -i | /usr/sbin/sendmail -t -i
serialize_precision | 100 | 100
short_open_tag | On | On
SMTP | localhost | localhost
smtp_port | 25 | 25
sql.safe_mode | Off | Off
track_errors | Off | Off
unserialize_callback_func | no value | no value
upload_max_filesize | 8M | 8M
upload_tmp_dir | /tmp | /tmp
user_dir | no value | no value
variables_order | EGPCS | EGPCS
xmlrpc_error_number | 0 | 0
xmlrpc_errors | Off | Off
y2k_compliance | On | On

Zend Optimizer

Optimization Pass 1 | enabled
Optimization Pass 2 | enabled
Optimization Pass 3 | enabled
Optimization Pass 4 | enabled
Optimization Pass 9 | enabled
Zend Loader | enabled
License Path | no value

apache2handler

Apache Version | Apache/2.0.52 (Debian GNU/Linux) PHP/4.4.2
Apache API Version | 20020903
Server Administrator | webmaster@nureinbeispiel4.de
Hostname:Port | www.nureinbeispiel4.de:0
User/Group | nobody(99)/99
Max Requests | Per Child: 20 - Keep Alive: on - Max Per Connection: 100
Timeouts | Connection: 300 - Keep-Alive: 5
Virtual Server | Yes
Server Root | /etc/httpd
Loaded Modules | core mod_access mod_auth mod_log_config mod_logio mod_env mod_setenvif prefork http_core mod_mime mod_status mod_autoindex mod_negotiation mod_dir mod_alias mod_so sapi_apache2 mod_mime_magic mod_vhost_limit mod_headers mod_extract_forwarded2

Directive | Local Value | Master Value
engine | 1 | 1
last_modified | 0 | 0
xbithack | 0 | 0

Apache Environment

Variable | Value
force-no-vary | 1
PROXY_ADDR | 80.237.132.77
HTTP_HOST | www.nureinbeispiel4.de
HTTP_ACCEPT | image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
HTTP_ACCEPT_LANGUAGE | de
HTTP_ACCEPT_ENCODING | gzip, deflate
HTTP_USER_AGENT | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
HTTP_MAX_FORWARDS | 10
HTTP_X_FORWARDED_FOR | 84.44.135.130
HTTP_X_FORWARDED_HOST | www.nureinbeispiel4.de
HTTP_X_FORWARDED_SERVER | www.nureinbeispiel4.de
PATH | /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SERVER_SIGNATURE | <address>Apache/2.0.52 (Debian GNU/Linux) PHP/4.4.2 Server at www.nureinbeispiel4.de Port 80</address>
SERVER_SOFTWARE | Apache/2.0.52 (Debian GNU/Linux) PHP/4.4.2
SERVER_NAME | www.nureinbeispiel4.de
SERVER_ADDR | 80.237.132.77
SERVER_PORT | 80
REMOTE_ADDR | 84.44.135.130
DOCUMENT_ROOT | /is/htdocs/wp1042434_BDEO6BJ7VB/www/
SERVER_ADMIN | webmaster@nureinbeispiel4.de
SCRIPT_FILENAME | /is/htdocs/wp1042434_BDEO6BJ7VB/www/info.php
REMOTE_PORT | 33957
GATEWAY_INTERFACE | CGI/1.1
SERVER_PROTOCOL | HTTP/1.1
REQUEST_METHOD | GET
QUERY_STRING | no value
REQUEST_URI | /info.php
SCRIPT_NAME | /info.php
force-response-1.0 | 1

HTTP Headers Information

HTTP Request Headers
HTTP Request | GET /info.php HTTP/1.1
Host | www.nureinbeispiel4.de
Accept | image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
Accept-Language | de
Accept-Encoding | gzip, deflate
User-Agent | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Max-Forwards | 10
X-Forwarded-For | 84.44.135.130
X-Forwarded-Host | www.nureinbeispiel4.de
X-Forwarded-Server | www.nureinbeispiel4.de
HTTP Response Headers
X-Powered-By | PHP/4.4.2
Connection | close
Content-Type | text/html

bcmath

BCMath support enabled

bz2

BZip2 Support | Enabled
BZip2 Version | 1.0.2, 30-Dec-2001

calendar

Calendar support enabled

ctype

ctype functions enabled

curl

CURL support | enabled
CURL Information | libcurl/7.13.2 OpenSSL/0.9.6c zlib/1.2.1

dba

DBA support | enabled
Supported handlers | gdbm ndbm cdb cdb_make inifile flatfile

dbx

dbx support | enabled
dbx version | 1.0.0
supported databases | MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT

Directive | Local Value | Master Value
dbx.colnames_case | lowercase | lowercase

domxml

DOM/XML | enabled
DOM/XML API Version | 20020815
libxml Version | 20611
HTML Support | enabled
XPath Support | enabled
XPointer Support | enabled

exif

EXIF Support | enabled
EXIF Version | 1.4 $Id: exif.c,v 1.118.2.37.2.4 2006/01/01 13:46:52 sniper Exp $
Supported EXIF Version | 0220
Supported filetypes | JPEG,TIFF

ftp

FTP support enabled

gd

GD Support | enabled
GD Version | bundled (2.0.28 compatible)
FreeType Support | enabled
FreeType Linkage | with freetype
GIF Read Support | enabled
GIF Create Support | enabled
JPG Support | enabled
PNG Support | enabled
WBMP Support | enabled
XBM Support | enabled

gettext

GetText Support enabled

iconv

iconv support | enabled
iconv implementation | glibc
iconv library version | 2.2.5

Directive | Local Value | Master Value
iconv.input_encoding | ISO-8859-1 | ISO-8859-1
iconv.internal_encoding | ISO-8859-1 | ISO-8859-1
iconv.output_encoding | ISO-8859-1 | ISO-8859-1

imap

IMAP c-Client Version | 2001
SSL Support | enabled

ldap

LDAP Support | enabled
RCS Version | $Id: ldap.c,v 1.130.2.13.2.1 2006/01/01 13:46:54 sniper Exp $
Total Links | 0/unlimited
API Version | 2004
Vendor Name | OpenLDAP
Vendor Version | 20023

mbstring

Multibyte Support | enabled
Japanese support | enabled
Simplified chinese support | enabled
Traditional chinese support | enabled
Korean support | enabled
Russian support | enabled
Multibyte (japanese) regex support | enabled

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Directive | Local Value | Master Value
mbstring.detect_order | no value | no value
mbstring.encoding_translation | Off | Off
mbstring.func_overload | 0 | 0
mbstring.http_input | pass | pass
mbstring.http_output | pass | pass
mbstring.internal_encoding | ISO-8859-1 | no value
mbstring.language | neutral | neutral
mbstring.substitute_character | no value | no value

mcrypt

mcrypt support | enabled
version | >= 2.4.x
Supported ciphers | cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Supported modes | cbc cfb ctr ecb ncfb nofb ofb stream

Directive | Local Value | Master Value
mcrypt.algorithms_dir | no value | no value
mcrypt.modes_dir | no value | no value

mhash

MHASH support | Enabled
MHASH API Version | 20011020

ming

Ming SWF output library | enabled
Version | 0.2a

mysql

MySQL Support | enabled
Active Persistent Links | 0
Active Links | 0
Client API version | 4.1.15
MYSQL_MODULE_TYPE | external
MYSQL_SOCKET | /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE | -I/usr/include/mysql
MYSQL_LIBS | -L/usr/lib -lmysqlclient

openssl

OpenSSL support | enabled
OpenSSL Version | OpenSSL 0.9.6c 21 dec 2001

overload

User-Space Object Overloading Support enabled

pcre

PCRE (Perl Compatible Regular Expressions) Support | enabled
PCRE Library Version | 6.2 01-Aug-2005

posix

Revision $Revision: 1.51.2.4.2.1 $

pspell

PSpell Support enabled

session

Session Support | enabled
Registered save handlers | files user

Directive | Local Value | Master Value
session.auto_start | Off | Off
session.bug_compat_42 | Off | Off
session.bug_compat_warn | On | On
session.cache_expire | 180 | 180
session.cache_limiter | nocache | nocache
session.cookie_domain | no value | no value
session.cookie_lifetime | 0 | 0
session.cookie_path | / | /
session.cookie_secure | Off | Off
session.entropy_file | no value | no value
session.entropy_length | 0 | 0
session.gc_divisor | 1000 | 1000
session.gc_maxlifetime | 1440 | 1440
session.gc_probability | 10 | 10
session.name | PHPSESSID | PHPSESSID
session.referer_check | no value | no value
session.save_handler | files | files
session.save_path | /tmp | /tmp
session.serialize_handler | php | php
session.use_cookies | On | On
session.use_only_cookies | Off | Off
session.use_trans_sid | Off | Off

shmop

shmop support enabled

sockets

Sockets Support enabled

standard

Regex Library | Bundled library enabled
Dynamic Library Support | enabled
Path to sendmail | /usr/sbin/sendmail -t -i

Directive | Local Value | Master Value
assert.active | 1 | 1
assert.bail | 0 | 0
assert.callback | no value | no value
assert.quiet_eval | 0 | 0
assert.warning | 1 | 1
auto_detect_line_endings | 0 | 0
default_socket_timeout | 60 | 60
safe_mode_allowed_env_vars | PHP_ | PHP_
safe_mode_protected_env_vars | LD_LIBRARY_PATH | LD_LIBRARY_PATH
url_rewriter.tags | a=href,area=href,frame=src,input=src,form=fakeentry | a=href,area=href,frame=src,input=src,form=fakeentry
user_agent | no value | no value

templates

Templates Support | enabled
Engine version | 1.7
Template tag | {tag_name}
Template context | <tmpl:context_name> </tmpl:context_name>

Directive | Local Value | Master Value
templates.ctx_cl | </tmpl: | </tmpl:
templates.ctx_cr | > | >
templates.ctx_ol | <tmpl: | <tmpl:
templates.ctx_or | > | >
templates.left | { | {
templates.right | } | }

WWW http://php-templates.sourceforge.net/

tokenizer

Tokenizer Support enabled

wddx

WDDX Support | enabled
WDDX Session Serializer | enabled

xml

XML Support | active
XML Namespace Support | active
EXPAT Version | 1.95.6

yp

YP Support enabled

zlib

ZLib Support | enabled
Compiled Version | 1.2.1
Linked Version | 1.2.1

Directive | Local Value | Master Value
zlib.output_compression | Off | Off
zlib.output_compression_level | -1 | -1
zlib.output_handler | no value | no value

Additional Modules

Module Name
dbase
sysvsem
sysvshm

Environment

Variable | Value
PWD | /
CONSOLE | /dev/console
PREVLEVEL | N
runlevel | 2
SHLVL | 4
previous | N
TERM | linux
PATH | /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
RUNLEVEL | 2
INIT_VERSION | sysvinit-2.84
_ | /sbin/start-stop-daemon

PHP Variables

Variable | Value
_SERVER["force-no-vary"] | 1
_SERVER["PROXY_ADDR"] | 80.237.132.77
_SERVER["HTTP_HOST"] | www.nureinbeispiel4.de
_SERVER["HTTP_ACCEPT"] | image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
_SERVER["HTTP_ACCEPT_LANGUAGE"] | de
_SERVER["HTTP_ACCEPT_ENCODING"] | gzip, deflate
_SERVER["HTTP_USER_AGENT"] | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
_SERVER["HTTP_MAX_FORWARDS"] | 10
_SERVER["HTTP_X_FORWARDED_FOR"] | 84.44.135.130
_SERVER["HTTP_X_FORWARDED_HOST"] | www.nureinbeispiel4.de
_SERVER["HTTP_X_FORWARDED_SERVER"] | www.nureinbeispiel4.de
_SERVER["PATH"] | /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
_SERVER["SERVER_SIGNATURE"] | <address>Apache/2.0.52 (Debian GNU/Linux) PHP/4.4.2 Server at www.nureinbeispiel4.de Port 80</address>
_SERVER["SERVER_SOFTWARE"] | Apache/2.0.52 (Debian GNU/Linux) PHP/4.4.2
_SERVER["SERVER_NAME"] | www.nureinbeispiel4.de
_SERVER["SERVER_ADDR"] | 80.237.132.77
_SERVER["SERVER_PORT"] | 80
_SERVER["REMOTE_ADDR"] | 84.44.135.130
_SERVER["DOCUMENT_ROOT"] | /is/htdocs/wp1042434_BDEO6BJ7VB/www/
_SERVER["SERVER_ADMIN"] | webmaster@nureinbeispiel4.de
_SERVER["SCRIPT_FILENAME"] | /is/htdocs/wp1042434_BDEO6BJ7VB/www/info.php
_SERVER["REMOTE_PORT"] | 33957
_SERVER["GATEWAY_INTERFACE"] | CGI/1.1
_SERVER["SERVER_PROTOCOL"] | HTTP/1.1
_SERVER["REQUEST_METHOD"] | GET
_SERVER["QUERY_STRING"] | no value
_SERVER["REQUEST_URI"] | /info.php
_SERVER["SCRIPT_NAME"] | /info.php
_SERVER["PHP_SELF"] | /info.php
_SERVER["PATH_TRANSLATED"] | /is/htdocs/wp1042434_BDEO6BJ7VB/www/info.php
_SERVER["argv"]
Array
(
)
_SERVER["argc"] | 0
_ENV["PWD"] /
_ENV["CONSOLE"] | /dev/console
_ENV["PREVLEVEL"] | N
_ENV["runlevel"] | 2
_ENV["SHLVL"] | 4
_ENV["previous"] | N
_ENV["TERM"] | linux
_ENV["PATH"] | /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
_ENV["RUNLEVEL"] | 2
_ENV["INIT_VERSION"] | sysvinit-2.84
_ENV["_"] | /sbin/start-stop-daemon

PHP License

This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.


phpinfo()

PHP Version 5.1.2

System | Linux wp070 2.6.15.3-he-all #1 SMP Thu Feb 9 11:37:59 CET 2006 i686
Build Date | Jan 20 2006 12:03:41
Configure Command | './configure' '--with-apxs2=/usr/bin/apxs2' '--program-prefix=php5-' '--prefix=/usr/local/php5' '--datadir=/usr/share/php5' '--enable-force-cgi-redirect' '--with-config-file-path=/etc/php5' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2=shared' '--with-dom=shared,/usr' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd=shared' '--enable-gd-native-ttf' '--with-ttf=shared' '--with-gdbm=shared' '--with-gettext=shared' '--with-iconv=shared' '--with-jpeg-dir=shared,/usr' '--with-openssl' '--with-png=shared' '--with-pspell=shared' '--with-regex=system' '--with-expat=shared' '--with-zlib=/usr/local' '--with-zlib-dir=/usr/local' '--with-layout=GNU' '--enable-bcmath=shared' '--enable-exif=shared' '--enable-ftp=shared' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets=shared' '--enable-sysvsem=shared' '--enable-sysvshm=shared' '--enable-discard-path' '--enable-track-vars' '--enable-trans-sid' '--enable-wddx=shared' '--without-oci8' '--with-pear=/usr/share/pear/php5' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pdo-mysql=shared,/usr' '--enable-sqlite-utf8' '--enable-memory-limit' '--enable-shmop' '--enable-calendar=shared' '--enable-dbx=shared' '--enable-dio=shared' '--enable-mcal=shared' '--enable-dba=shared' '--enable-dbase=shared' '--with-ndbm=shared' '--with-ndb=shared' '--with-mcrypt=shared' '--with-curl=shared' '--with-xsl=shared' '--with-xml=shared' '--with-libxml-dir=/usr' '--enable-soap=shared' '--enable-sysvmsg=shared' '--with-ming=shared' '--with-mhash=shared' '--enable-mbstring=shared'
Server API | Apache 2.0 Handler
Virtual Directory Support | disabled
Configuration File (php.ini) Path | /etc/php5/php.ini
PHP API | 20041225
PHP Extension | 20050922
Zend Extension | 220051025
Debug Build | no
Thread Safety | disabled
Zend Memory Manager | enabled
IPv6 Support | enabled
Registered PHP Streams | php, file, http, ftp, compress.zlib, https, ftps, compress.bzip2
Registered Stream Socket Transports | tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters | string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, zlib.*, bzip2.*, convert.iconv.*

Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with Zend Extension Manager v1.0.9, Copyright (c) 2003-2005, by Zend Technologies
with Zend Optimizer v2.6.0, Copyright (c) 1998-2005, by Zend Technologies

PHP Credits

Configuration

PHP Core

Directive | Local Value | Master Value
allow_call_time_pass_reference | Off | Off
allow_url_fopen | On | On
always_populate_raw_post_data | Off | Off
arg_separator.input | & | &
arg_separator.output | &amp; | &amp;
asp_tags | Off | Off
auto_append_file | no value | no value
auto_globals_jit | On | On
auto_prepend_file | no value | no value
browscap | no value | no value
default_charset | no value | no value
default_mimetype | text/html | text/html
define_syslog_variables | Off | Off
disable_classes | no value | no value
disable_functions | no value | no value
display_errors | On | On
display_startup_errors | Off | Off
doc_root | no value | no value
docref_ext | no value | no value
docref_root | no value | no value
enable_dl | Off | Off
error_append_string | no value | no value
error_log | no value | no value
error_prepend_string | no value | no value
error_reporting | 2039 | 2039
expose_php | On | On
extension_dir | /usr/lib/apache2/modules/php5/ | /usr/lib/apache2/modules/php5/
file_uploads | On | On
highlight.bg | #FFFFFF | #FFFFFF
highlight.comment | #FF9900 | #FF9900
highlight.default | #0000BB | #0000BB
highlight.html | #000000 | #000000
highlight.keyword | #007700 | #007700
highlight.string | #DD0000 | #DD0000
html_errors | On | On
ignore_repeated_errors | Off | Off
ignore_repeated_source | Off | Off
ignore_user_abort | Off | Off
implicit_flush | Off | Off
include_path | ./:/usr/share/pear/php5/ | ./:/usr/share/pear/php5/
log_errors | Off | Off
log_errors_max_len | 1024 | 1024
magic_quotes_gpc | Off | Off
magic_quotes_runtime | Off | Off
magic_quotes_sybase | Off | Off
mail.force_extra_parameters | no value | no value
max_execution_time | 30 | 30
max_input_time | 60 | 60
memory_limit | 16M | 16M
open_basedir | /tmp:/bin:/usr:/is/htdocs/wp1042434_BDEO6BJ7VB | no value
output_buffering | no value | no value
output_handler | no value | no value
post_max_size | 8M | 8M
precision | 14 | 14
realpath_cache_size | 16K | 16K
realpath_cache_ttl | 120 | 120
register_argc_argv | On | On
register_globals | Off | Off
register_long_arrays | Off | Off
report_memleaks | On | On
report_zend_debug | On | On
safe_mode | Off | Off
safe_mode_exec_dir | no value | no value
safe_mode_gid | Off | Off
safe_mode_include_dir | no value | no value
sendmail_from | no value | no value
sendmail_path | /usr/sbin/sendmail -t -i | /usr/sbin/sendmail -t -i
serialize_precision | 100 | 100
short_open_tag | On | On
SMTP | localhost | localhost
smtp_port | 25 | 25
sql.safe_mode | Off | Off
track_errors | Off | Off
unserialize_callback_func | no value | no value
upload_max_filesize | 8M | 8M
upload_tmp_dir | /tmp | /tmp
user_dir | no value | no value
variables_order | EGPCS | EGPCS
xmlrpc_error_number | 0 | 0
xmlrpc_errors | Off | Off
y2k_compliance | On | On
zend.ze1_compatibility_mode | Off | Off

apache2handler

Apache Version | Apache/2.0.52 (Debian GNU/Linux) PHP/5.1.2 DAV/2
Apache API Version | 20020903
Server Administrator | webmaster@nureinbeispiel4.de
Hostname:Port | www.nureinbeispiel4.de:0
User/Group | nobody(99)/99
Max Requests | Per Child: 100 - Keep Alive: on - Max Per Connection: 100
Timeouts | Connection: 300 - Keep-Alive: 5
Virtual Server | Yes
Server Root | /etc/httpd
Loaded Modules | core mod_access mod_auth mod_log_config mod_logio mod_env mod_setenvif prefork http_core mod_mime mod_status mod_autoindex mod_negotiation mod_dir mod_alias mod_so mod_rewrite mod_php5 mod_cgi mod_dav mod_dav_fs mod_include mod_actions mod_mime_magic mod_cache mod_disk_cache mod_proxy proxy_http mod_vhost_limit

Directive | Local Value | Master Value
engine | 1 | 1
last_modified | 0 | 0
xbithack | 0 | 0

Apache Environment

Variable | Value
force-no-vary | 1
HTTP_ACCEPT | image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
HTTP_ACCEPT_LANGUAGE | de
HTTP_ACCEPT_ENCODING | gzip, deflate
HTTP_USER_AGENT | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
HTTP_HOST | www.nureinbeispiel4.de
HTTP_CONNECTION | Keep-Alive
PATH | /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SERVER_SIGNATURE | <address>Apache/2.0.52 (Debian GNU/Linux) PHP/5.1.2 DAV/2 Server at www.nureinbeispiel4.de Port 80</address>
SERVER_SOFTWARE | Apache/2.0.52 (Debian GNU/Linux) PHP/5.1.2 DAV/2
SERVER_NAME | www.nureinbeispiel4.de
SERVER_ADDR | 80.237.132.77
SERVER_PORT | 80
REMOTE_ADDR | 84.44.135.130
DOCUMENT_ROOT | /is/htdocs/wp1042434_BDEO6BJ7VB/www/
SERVER_ADMIN | webmaster@nureinbeispiel4.de
SCRIPT_FILENAME | /is/htdocs/wp1042434_BDEO6BJ7VB/www/info.php5
REMOTE_PORT | 1306
GATEWAY_INTERFACE | CGI/1.1
SERVER_PROTOCOL | HTTP/1.1
REQUEST_METHOD | GET
QUERY_STRING | no value
REQUEST_URI | /info.php5
SCRIPT_NAME | /info.php5
force-response-1.0 | 1

HTTP Headers Information

HTTP Request Headers
HTTP Request | GET /info.php5 HTTP/1.1
Accept | image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
Accept-Language | de
Accept-Encoding | gzip, deflate
User-Agent | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host | www.nureinbeispiel4.de
Connection | Keep-Alive
HTTP Response Headers
X-Powered-By | PHP/5.1.2
Connection | close
Content-Type | text/html

bcmath

BCMath support enabled

bz2

BZip2 Support | Enabled
Stream Wrapper support | compress.bz2://
Stream Filter support | bzip2.decompress, bzip2.compress
BZip2 Version | 1.0.2, 30-Dec-2001

calendar

Calendar support enabled

ctype

ctype functions enabled

curl

CURL support | enabled
CURL Information | libcurl/7.13.2 OpenSSL/0.9.6c zlib/1.2.1

date

date/time support | enabled
Timezone Database Version | 2005.18
Timezone Database | internal
Default timezone | Europe/Berlin

Directive | Local Value | Master Value
date.default_latitude | 31.7667 | 31.7667
date.default_longitude | 35.2333 | 35.2333
date.sunrise_zenith | 90.583333 | 90.583333
date.sunset_zenith | 90.583333 | 90.583333
date.timezone | no value | no value

dba

DBA support | enabled
Supported handlers | gdbm ndbm cdb cdb_make inifile flatfile

dbx

dbx support | enabled
dbx version | 1.1.0
supported databases | MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT SQLite

Directive | Local Value | Master Value
dbx.colnames_case | lowercase | lowercase

dom

DOM/XML | enabled
DOM/XML API Version | 20031129
libxml Version | 2.6.11
HTML Support | enabled
XPath Support | enabled
XPointer Support | enabled
Schema Support | enabled
RelaxNG Support | enabled

exif

EXIF Support | enabled
EXIF Version | 1.4 $Id: exif.c,v 1.173.2.4 2006/01/01 12:50:06 sniper Exp $
Supported EXIF Version | 0220
Supported filetypes | JPEG,TIFF

ftp

FTP support enabled

gd

GD Support | enabled
GD Version | bundled (2.0.28 compatible)
FreeType Support | enabled
FreeType Linkage | with freetype
FreeType Version | 2.0.9
GIF Read Support | enabled
GIF Create Support | enabled
JPG Support | enabled
PNG Support | enabled
WBMP Support | enabled
XBM Support | enabled

gettext

GetText Support enabled

hash

hash support | enabled
Hashing Engines | md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru gost adler32 crc32 crc32b haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

iconv

iconv support | enabled
iconv implementation | glibc
iconv library version | 2.2.5

Directive | Local Value | Master Value
iconv.input_encoding | ISO-8859-1 | ISO-8859-1
iconv.internal_encoding | ISO-8859-1 | ISO-8859-1
iconv.output_encoding | ISO-8859-1 | ISO-8859-1

imap

IMAP c-Client Version | 2001
SSL Support | enabled

ldap

LDAP Support | enabled
RCS Version | $Id: ldap.c,v 1.161.2.3 2006/01/01 12:50:08 sniper Exp $
Total Links | 0/unlimited
API Version | 2004
Vendor Name | OpenLDAP
Vendor Version | 20023

libxml

libXML support | active
libXML Version | 2.6.11
libXML streams | enabled

mbstring

Multibyte Support | enabled
Multibyte string engine | libmbfl
Multibyte (japanese) regex support | enabled
Multibyte regex (oniguruma) version | 3.7.1

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Directive | Local Value | Master Value
mbstring.detect_order | no value | no value
mbstring.encoding_translation | Off | Off
mbstring.func_overload | 0 | 0
mbstring.http_input | pass | pass
mbstring.http_output | pass | pass
mbstring.internal_encoding | no value | no value
mbstring.language | neutral | neutral
mbstring.strict_detection | Off | Off
mbstring.substitute_character | no value | no value

mcrypt

mcrypt support | enabled
Version | 2.5.7
Api No | 20021217
Supported ciphers | cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Supported modes | cbc cfb ctr ecb ncfb nofb ofb stream

Directive | Local Value | Master Value
mcrypt.algorithms_dir | no value | no value
mcrypt.modes_dir | no value | no value

mhash

MHASH support | Enabled
MHASH API Version | 20011020

ming

Ming SWF output library | enabled
Version | 0.2a

mysql

MySQL Support | enabled
Active Persistent Links | 0
Active Links | 0
Client API version | 4.1.15
MYSQL_MODULE_TYPE | external
MYSQL_SOCKET | /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE | -I/usr/include/mysql
MYSQL_LIBS | -L/usr/lib -lmysqlclient

openssl

OpenSSL support | enabled
OpenSSL Version | OpenSSL 0.9.6c 21 dec 2001

pcre

PCRE (Perl Compatible Regular Expressions) Support | enabled
PCRE Library Version | 6.2 01-Aug-2005

PDO

PDO support | enabled
PDO drivers | sqlite2, sqlite, mysql

pdo_mysql

PDO Driver for MySQL, client library version 4.1.15

pdo_sqlite

PDO Driver for SQLite 3.x | enabled
PECL Module version | (bundled) 1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6 2006/01/01 12:50:12 sniper Exp $
SQLite Library | 3.2.8

posix

Revision $Revision: 1.70.2.3 $

pspell

PSpell Support enabled

Reflection

Reflection | enabled
Version | $Id: php_reflection.c,v 1.164.2.17 2006/01/01 12:50:12 sniper Exp $

session

Session Support | enabled
Registered save handlers | files user sqlite
Registered serializer handlers | php php_binary wddx

Directive | Local Value | Master Value
session.auto_start | Off | Off
session.bug_compat_42 | Off | Off
session.bug_compat_warn | On | On
session.cache_expire | 180 | 180
session.cache_limiter | nocache | nocache
session.cookie_domain | no value | no value
session.cookie_lifetime | 0 | 0
session.cookie_path | / | /
session.cookie_secure | Off | Off
session.entropy_file | no value | no value
session.entropy_length | 0 | 0
session.gc_divisor | 1000 | 1000
session.gc_maxlifetime | 1440 | 1440
session.gc_probability | 10 | 10
session.hash_bits_per_character | 5 | 5
session.hash_function | 0 | 0
session.name | PHPSESSID | PHPSESSID
session.referer_check | no value | no value
session.save_handler | files | files
session.save_path | /tmp | /tmp
session.serialize_handler | php | php
session.use_cookies | On | On
session.use_only_cookies | Off | Off
session.use_trans_sid | 1 | 1

shmop

shmop support enabled

SimpleXML

Simplexml support | enabled
Revision | $Revision: 1.151.2.10 $
Schema support | enabled

soap

Soap Client | enabled
Soap Server | enabled

Directive | Local Value | Master Value
soap.wsdl_cache_dir | /tmp | /tmp
soap.wsdl_cache_enabled | 1 | 1
soap.wsdl_cache_ttl | 86400 | 86400

sockets

Sockets Support enabled

SPL

SPL support | enabled
Interfaces | Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes | AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, DirectoryIterator, DomainException, EmptyIterator, FilterIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RuntimeException, SimpleXMLIterator, SplFileInfo, SplFileObject, SplObjectStorage, SplTempFileObject, UnderflowException, UnexpectedValueException

SQLite

SQLite support | enabled
PECL Module version | 2.0-dev $Id: sqlite.c,v 1.166.2.11 2006/01/01 12:50:14 sniper Exp $
SQLite Library | 2.8.17
SQLite Encoding | UTF-8

Directive | Local Value | Master Value
sqlite.assoc_case | 0 | 0

standard

Regex Library | Bundled library enabled
Dynamic Library Support | enabled
Path to sendmail | /usr/sbin/sendmail -t -i

Directive | Local Value | Master Value
assert.active | 1 | 1
assert.bail | 0 | 0
assert.callback | no value | no value
assert.quiet_eval | 0 | 0
assert.warning | 1 | 1
auto_detect_line_endings | 0 | 0
default_socket_timeout | 60 | 60
safe_mode_allowed_env_vars | PHP_ | PHP_
safe_mode_protected_env_vars | LD_LIBRARY_PATH | LD_LIBRARY_PATH
url_rewriter.tags | a=href,area=href,frame=src,input=src,form=fakeentry | a=href,area=href,frame=src,input=src,form=fakeentry
user_agent | no value | no value

sysvmsg

sysvmsg support | enabled
Revision | $Revision: 1.20.2.3 $

templates

Templates Support | enabled
Engine version | 1.7
Template tag | {tag_name}
Template context | <tmpl:context_name> </tmpl:context_name>

Directive | Local Value | Master Value
templates.ctx_cl | </tmpl: | </tmpl:
templates.ctx_cr | > | >
templates.ctx_ol | <tmpl: | <tmpl:
templates.ctx_or | > | >
templates.left | { | {
templates.right | } | }

WWW http://php-templates.sourceforge.net/

tokenizer

Tokenizer Support enabled

wddx

WDDX Support | enabled
WDDX Session Serializer | enabled

xml

XML Support | active
XML Namespace Support | active
libxml2 Version | 2.6.11

xmlreader

XMLReader enabled

xmlwriter

XMLWriter enabled

xsl

XSL | enabled
libxslt Version | 1.0.30
libxslt compiled against libxml Version | 2.5.7
EXSLT | enabled
libexslt Version | 1.0.30

Zend Optimizer

Optimization Pass 1 | enabled
Optimization Pass 2 | enabled
Optimization Pass 3 | enabled
Optimization Pass 4 | enabled
Optimization Pass 9 | enabled
Zend Loader | enabled
License Path | no value

zlib

ZLib Support | enabled
Stream Wrapper support | compress.zlib://
Stream Filter support | zlib.inflate, zlib.deflate
Compiled Version | 1.2.1
Linked Version | 1.2.1

Directive | Local Value | Master Value
zlib.output_compression | Off | Off
zlib.output_compression_level | -1 | -1
zlib.output_handler | no value | no value

Additional Modules

Module Name
dbase
sysvsem
sysvshm

Environment

Variable | Value
PWD | /
CONSOLE | /dev/console
PREVLEVEL | N
runlevel | 2
SHLVL | 4
previous | N
TERM | linux
PATH | /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
RUNLEVEL | 2
INIT_VERSION | sysvinit-2.84
_ | /sbin/start-stop-daemon

PHP Variables

Variable | Value
_SERVER["force-no-vary"] | 1
_SERVER["HTTP_ACCEPT"] | image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
_SERVER["HTTP_ACCEPT_LANGUAGE"] | de
_SERVER["HTTP_ACCEPT_ENCODING"] | gzip, deflate
_SERVER["HTTP_USER_AGENT"] | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
_SERVER["HTTP_HOST"] | www.nureinbeispiel4.de
_SERVER["HTTP_CONNECTION"] | Keep-Alive
_SERVER["PATH"] | /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
_SERVER["SERVER_SIGNATURE"] | <address>Apache/2.0.52 (Debian GNU/Linux) PHP/5.1.2 DAV/2 Server at www.nureinbeispiel4.de Port 80</address>
_SERVER["SERVER_SOFTWARE"] | Apache/2.0.52 (Debian GNU/Linux) PHP/5.1.2 DAV/2
_SERVER["SERVER_NAME"] | www.nureinbeispiel4.de
_SERVER["SERVER_ADDR"] | 80.237.132.77
_SERVER["SERVER_PORT"] | 80
_SERVER["REMOTE_ADDR"] | 84.44.135.130
_SERVER["DOCUMENT_ROOT"] | /is/htdocs/wp1042434_BDEO6BJ7VB/www/
_SERVER["SERVER_ADMIN"] | webmaster@nureinbeispiel4.de
_SERVER["SCRIPT_FILENAME"] | /is/htdocs/wp1042434_BDEO6BJ7VB/www/info.php5
_SERVER["REMOTE_PORT"] | 1306
_SERVER["GATEWAY_INTERFACE"] | CGI/1.1
_SERVER["SERVER_PROTOCOL"] | HTTP/1.1
_SERVER["REQUEST_METHOD"] | GET
_SERVER["QUERY_STRING"] | no value
_SERVER["REQUEST_URI"] | /info.php5
_SERVER["SCRIPT_NAME"] | /info.php5
_SERVER["PHP_SELF"] | /info.php5
_SERVER["REQUEST_TIME"] | 1143785155
_SERVER["argv"]
Array
(
)
_SERVER["argc"] | 0
_ENV["PWD"] /
_ENV["CONSOLE"] | /dev/console
_ENV["PREVLEVEL"] | N
_ENV["runlevel"] | 2
_ENV["SHLVL"] | 4
_ENV["previous"] | N
_ENV["TERM"] | linux
_ENV["PATH"] | /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
_ENV["RUNLEVEL"] | 2
_ENV["INIT_VERSION"] | sysvinit-2.84
_ENV["_"] | /sbin/start-stop-daemon

PHP License

This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.


SELFPHP - Das PHP Kochbuch

Letztes Update: 30.08.2006 10:57:36

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

SELFPHP - Das PHP Kochbuch

Letztes Update: 00.00.0000 00:00:00 Zum Buch
Letztes Update: 14.07.2006 06:55:57 Zielgruppe
Letztes Update: 14.07.2006 06:56:11 Wie dieses Buch zu lesen ist
Letztes Update: 17.07.2006 08:12:31 Schreibweise/Parametererklärung bei Funktionsaufrufen
Letztes Update: 17.07.2006 08:18:04 Programmcodedarstellung
Letztes Update: 17.07.2006 08:23:45 Kurzreferenz zum Buch
Letztes Update: 17.07.2006 08:28:15 Versionskontrolle
Letztes Update: 17.07.2006 08:36:26 Host Europe GmbH - Webhosting zu diesem Buch

Letztes Update: 00.00.0000 00:00:00 Datumsberechnungen
Letztes Update: 17.07.2006 08:47:57 Schaltjahre bestimmen
Letztes Update: 17.07.2006 09:10:18 Tage zwischen zwei Datumsangaben ermitteln
Letztes Update: 19.07.2006 12:11:46 Verstrichene Zeit in Tagen, Stunden, Minuten und Sekunden anzeigen
Letztes Update: 19.07.2006 12:34:38 Tage eines Monats ermitteln
Letztes Update: 19.07.2006 12:46:16 Berechnungen von Monaten
Letztes Update: 19.08.2006 19:59:31 Datum/Uhrzeit von MySQL-Format ins deutsche Format und zurück
Letztes Update: 20.07.2006 16:41:05 Datumsangaben in Deutsch anzeigen
Letztes Update: 20.07.2006 16:51:46 Datum auf Gültigkeit überprüfen
Letztes Update: 20.07.2006 17:03:44 Performance (Zeit) von Befehlen testen

Letztes Update: 00.00.0000 00:00:00 Formulare
Letztes Update: 20.07.2006 18:50:52 Pflichtfelder in Formularen bei Fehlern farbig hervorheben
Letztes Update: 19.08.2006 20:05:21 Mehrfaches Absenden eines Formulars verhindern
Letztes Update: 19.08.2006 20:09:08 Captcha - Der Unterschied zwischen Mensch und Maschine
Letztes Update: 24.07.2006 17:35:42 Captcha mit Rechenaufgaben und Buchstaben/Zahlenkombinationen
Letztes Update: 24.07.2006 20:41:59 Checkboxen-Verwaltung mittels Binärwerten

Letztes Update: 00.00.0000 00:00:00 Variablenüberprüfung/Reguläre Ausdrücke
Letztes Update: 24.07.2006 20:56:48 MD5-Hash-Summe überprüfen
Letztes Update: 24.07.2006 21:28:47 Eine übermittelte Variable in eine Zahl konvertieren
Letztes Update: 24.07.2006 21:44:47 Übermittelte Dateinamen überprüfen
Letztes Update: 24.07.2006 22:12:06 Tags in Variablen ersetzen

Letztes Update: 00.00.0000 00:00:00 Webseitenlayout
Letztes Update: 24.07.2006 22:44:17 Tabellenzeilen abwechselnd farbig darstellen
Letztes Update: 25.07.2006 12:14:46 Dynamische Seitennavigation - Seite 1 von n
Letztes Update: 25.07.2006 18:46:11 Suchmaschine im Google-Format

Letztes Update: 00.00.0000 00:00:00 Dateien
Letztes Update: 25.07.2006 18:57:09 Grundlegende Informationen
Letztes Update: 25.07.2006 19:22:31 Download mit wget
Letztes Update: 25.07.2006 20:19:27 Dateidownload realisieren
Letztes Update: 25.07.2006 20:45:45 Spezielle Filtermechanismen für Dateien und Verzeichnisse
Letztes Update: 26.07.2006 08:47:27 Programmcode farbig hervorheben inkl. Zeilennummern
Letztes Update: 19.08.2006 20:21:36 Dateien inkl. Unterverzeichnissen kopieren

Letztes Update: 00.00.0000 00:00:00 Verzeichnisse
Letztes Update: 26.07.2006 09:18:18 Grundlegende Informationen
Letztes Update: 26.07.2006 09:31:18 Alle Bilder eines Verzeichnisses auflisten
Letztes Update: 26.07.2006 10:58:12 Rekursive Verzeichnisauflistung - Bildergalerie, PDFDateien etc.
Letztes Update: 27.07.2006 12:41:50 Speichergröße eines Verzeichnisses ermitteln
Letztes Update: 27.07.2006 13:32:25 FlatFile Based Login System
Letztes Update: 27.07.2006 14:33:04 Pfadangabe für inkludierte Dateien setzen

Letztes Update: 00.00.0000 00:00:00 Komprimieren/Archivieren/Backups
Letztes Update: 27.07.2006 14:59:00 Grundlegende Informationen
Letztes Update: 27.07.2006 15:12:19 Dateien und Verzeichnisse mit TAR/Gzip komprimieren
Letztes Update: 27.07.2006 15:19:41 Dateien und Verzeichnisse mit TAR/Gzip entpacken
Letztes Update: 27.07.2006 15:28:48 Dateien/Verzeichnisse mit Bzip2 komprimieren
Letztes Update: 27.07.2006 15:45:16 Dateien/Verzeichnisse mit Bzip2 entpacken
Letztes Update: 27.07.2006 15:57:55 Dateien/Verzeichnisse mit ZIP komprimieren
Letztes Update: 27.07.2006 16:06:40 Dateien/Verzeichnisse mit ZIP entpacken
Letztes Update: 27.07.2006 17:50:28 MySQL-Backup über die Shell
Letztes Update: 27.07.2006 18:08:16 MySQL-Backup in Datenbank einspielen

Letztes Update: 00.00.0000 00:00:00 Dies & Das
Letztes Update: 00.00.0000 00:00:00 Eindeutige IDs erzeugen
Letztes Update: 27.07.2006 18:19:37 Metatags auslesen
Letztes Update: 19.08.2006 20:33:29 Umrechnung Byte/Kilobyte/Megabyte - Byte/Kibibyte/Mebibyte
Letztes Update: 27.07.2006 19:11:33 Vorschaubilder erstellen

Letztes Update: 00.00.0000 00:00:00 CURL - Die Verbindung zur Außenwelt
Letztes Update: 27.07.2006 19:30:47 Grundlegende Informationen
Letztes Update: 20.08.2006 08:28:56 Server oder Webseite auf Online/Offline testen
Letztes Update: 28.07.2006 09:08:27 Webformulare automatisiert ausfüllen
Letztes Update: 28.07.2006 09:40:36 Benutzer-/Passwort-Authentifikation mit CURL
Letztes Update: 19.08.2006 19:49:15 FTP-Upload mit CURL
Letztes Update: 20.08.2006 08:32:48 FTP-Download mit CURL

Letztes Update: 00.00.0000 00:00:00 PHP & Shell
Letztes Update: 28.07.2006 12:21:35 Verzeichnis rekursiv kopieren
Letztes Update: 28.07.2006 12:29:09 Verzeichnis rekursiv löschen
Letztes Update: 28.07.2006 13:11:25 Datei in mehrere Dateien aufsplitten
Letztes Update: 28.07.2006 14:17:37 Suchen in Dateien

Letztes Update: 00.00.0000 00:00:00 Verschlüsselung/Prüfsummen
Letztes Update: 28.07.2006 14:40:58 Passwortschutz für Verzeichnisse
Letztes Update: 28.07.2006 15:04:01 Zyklische Redundanzprüfung (CRC)
Letztes Update: 28.07.2006 16:27:32 Kryptografische Hash-Funktionen (MD5)
Letztes Update: 28.07.2006 17:10:04 Bit-Shifting
Letztes Update: 28.07.2006 17:52:29 Symmetrische Textverschlüsselung mit Rijndael (AES)
Letztes Update: 29.07.2006 10:41:32 Rijndael - Komplettes Beispielprojekt Verschlüsselung


Schaltjahre bestimmen

Letztes Update: 17.07.2006 08:47:57

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Schaltjahre bestimmen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

schaltjahr.php

Problem

Sie möchten für weitere Datumsberechnungen das Schaltjahr für ein gewisses Jahr berechnen. Lösung Die Berechnung eines Schaltjahres erfolgt anhand feststehender Kriterien. Es handelt sich um ein Schaltjahr, wenn die Jahreszahl durch 4, aber nicht durch 100 teilbar ist. Sollte die Jahreszahl durch 400 teilbar sein, handelt es sich dennoch um ein Schaltjahr.

Zur Berechnung ziehen wir den ModulosOperator heran und ermitteln somit den Restwert der Berechnung (25). Ist der Rest 0 (Null), so handelt es sich um ein Schaltjahr. Ist der Rest 1, so ist es kein Schaltjahr. Im nachfolgenden Beispiel wurde die verkürzte Form (%) des ModulosOperators genutzt. Sie können selbstverständlich auch die Funktion bcmod() zur Berechnung heranziehen.

24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
function schaltjahr($jahr){
if(($jahr % 400) == 0 || (($jahr % 4) == 0 && ($jahr % 100) != 0))
   return TRUE;
else
   return FALSE;
}

$wort[0] = 'kein';
$wort[1] = 'ein';

//Jahr 1900 - durch 4 aber auch durch 100 teilbar
$jahr = 1900;
$checkJahr = schaltjahr($jahr);
echo $jahr . ' ist ' . $wort[$checkJahr] . ' Schaltjahr.';

// Jahr 2000 - durch 4 und 100 aber auch durch 400 teilbar
echo '2000 ist ' . $wort[schaltjahr(2000)] . ' Schaltjahr.
';

if(schaltjahr(date("Y")))
   echo date("Y") . ' ist ein Schaltjahr.';
else
   echo date("Y") . ' ist kein Schaltjahr.';

Beispiel 2.1: schaltjahr.php

Ausgabe

1900 ist kein Schaltjahr.
2000 ist ein Schaltjahr.
2006 ist kein Schaltjahr.


Tage zwischen zwei Datumsangaben ermitteln

Letztes Update: 17.07.2006 09:10:18

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Tage zwischen zwei Datumsangaben ermitteln

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

GregorianToJD.php

Problem

Sie haben zwei Datumsangaben und möchten die Anzahl der Tage ermitteln, die zwischen diesen Datumsangaben liegen. Mögliche Fragen, die diese Problemstellung umschreiben, wären zum Beispiel:

  • Wie alt sind Sie in Tagen?
  • Vor wie viel Tagen ist Mozart gestorben?
  • In wie vielen Tagen ist die nächste totale Sonnenfinsternis in Deutschland?
  • In wie vielen Tagen läuft ein AuktionsAngebot aus?

Mit den Ergebnissen dieser Frage könnten Sie weitere Berechnungen durchführen, die Anzahl der Tage als Counter für dieses Ereignis auf Ihrer Website präsentieren oder einfach nur als Information für Ihre Besucher bereithalten.

Lösung

Die Lösung für dieses Problem ist relativ simpel. PHP bietet bereits eine vorgefertigte Lösung in Form einer Funktion an. Mit der Funktion GregorianToJD() können wir unsere Datumsangaben vom Gregorianischen Kalender zum Julianischen Datum hin konvertieren und erhalten als Ergebnis die Anzahl der Tage, die seit dem 01.01.4713 v. Chr. verstrichen sind.

Um die Tage zwischen den beiden Ereignissen zu erhalten, subtrahiert () man nur noch das jüngste Datum vom ältesten Datum. Bitte achten Sie aber darauf, nur Datumsangaben zwischen 4714 v. Chr. bis 9999 n. Chr. zu benutzen.

function seDay($begin,$end,$format,$sep)
@param string $begin
@param string $end
@param string $format
@param string $sep
@return integer

Als Parameter erwartet die Funktion zwei Datumsangaben ($begin, $end) (39), einmal das jüngste und einmal das älteste Datum. Dabei ist es irrelevant, in welcher Reihenfolge Sie diese übergeben, da die Funktion diese automatisch erkennt und zur Berechnung jeweils richtig nutzt. Der Parameter $format muss die korrekte Datumsformatierung enthalten, also wie Ihr Datum aufgebaut ist. Mögliche Werte hierfür sind:

  • d Tag
  • m Monat
  • Y Jahr

Der letzte Parameter $sep steht für die Trennzeichen Ihrer Datumsangabe. Je nachdem, ob Sie z. B. ein deutsches oder amerikanisches Datumsformat haben, kann es mit diesem Parameter eingestellt werden.

Zuerst wird anhand Ihrer Formatierungsangabe (z. B. d.m.Y) herausgefunden (41-43), an welcher Stelle (1, 2 oder 3) die einzelnen Buchstaben stehen. Diese Information benötigen wir später (48, 49), um die korrekten Werte für GregorianToJD() setzen zu können. Die beiden Datumsangaben werden dann durch die Trennzeichen ($sep) in einem Array zerlegt (45, 46). Somit haben wir alle Informationen, um das Datum zu berechnen (48, 49).

Ist das erste Datum größer (51) als das zweite Datum, so ziehen wir das zweite Datum vom ersten Datum ab (52). War das erste Datum kleiner (53), ziehen wir das zweite Datum vom ersten Datum ab. Als Rückgabewert wird jeweils die Menge der Tage geliefert.

39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56: 		function seDay($begin,$end,$format,$sep){

$pos1 = strpos($format, 'd');
$pos2 = strpos($format, 'm');
$pos3 = strpos($format, 'Y');

$begin = explode($sep,$begin);
$end = explode($sep,$end);

$first = GregorianToJD($end[$pos2],$end[$pos1],$end[$pos3]);
$second = GregorianToJD($begin[$pos2],$begin[$pos1],$begin[$pos3]);

if($first > $second)
   return $first - $second;
else
   return $second - $first;

}
Beispiel 2.2: GregorianToJD.php

Dieses Beispiel soll zeigen, wie die Funktion mit deutschen Datumsangaben aufgerufen wird. Das deutsche Datum wird bekanntlich im Format Tag, Monat, Jahr aufgebaut und enthält als Trennzeichen den Punkt. $timeA enthält hier das Geburtsdatum von Wolfgang Amadeus Mozart, hingegen $timeB die aktuelle Zeit.

64:
65:
66:
67:
68:
         $timeA = '27.01.1756';
$timeB = date("d.m.Y");

$mozart = seDay($timeA,$timeB,"dmY",".");
echo 'Wolfgang Amadeus Mozart wäre heute ' . $mozart . ' Tage alt';
Beispiel 2.3: GregorianToJD.php

Das folgende Beispiel soll zeigen, wie die Funktion mit amerikanischen Datumsangaben aufgerufen wird. Das amerikanische Datum wird im Format Monat, Tag, Jahr dargestellt. Als Trennzeichen enthält es einen Bindestrich oder den Schrägstrich. $timeA enthält hier das das Datum der nächsten totalen Sonnenfinsternis in Deutschland, $timeB dagegen die aktuelle Zeit.

79:
80:
81:
82:
83:
84: 		$timeA = '09-03-2081';
$timeB = date("m-d-Y");

$sonne = seDay($timeA,$timeB,"mdY","-");

echo 'Die nächste totale Sonnenfinsternis in Deutschland ist in ' . $sonne . ' Tagen';
Beispiel 2.4: GregorianToJD.php

Ausgabe im Browser

Wolfgang Amadeus Mozart wäre heute 91354 Tage alt
Die nächste totale Sonnenfinsternis in Deutschland ist in 27570 Tagen


Verstrichene Zeit in Tagen, Stunden, Minuten und Sekunden anzeigen

Letztes Update: 19.07.2006 12:11:46

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verstrichene Zeit in Tagen, Stunden, Minuten und Sekunden anzeigen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

verstrichene_zeit.php

Problem

Sie haben zwei Datumsangaben im TimestampFormat (Sekunden) und möchten die Anzahl der Tage, Stunden, Minuten und Sekunden ermitteln, die zwischen diesen Datumsangaben liegen. Mögliche Fragen, die diese Problemstellung umschreiben, wären beispielsweise:

  • Wann beginnt das Eröffnungsspiel der WM 2006?
  • Wann war ein Besucher das letzte Mal online?
  • In wie vielen Tagen läuft ein AuktionsAngebot aus?

Lösung

Bei dieser Lösung handelt es sich um eine rein mathematische Aufgabe. Bevor Sie sich die Lösung anschauen, versuchen Sie sich doch einmal selbst und berechnen Sie die Minuten und Sekunden für folgendes Beispiel:

67 Sekunden sind: ? Minuten, ? Sekunden

Sie werden sicherlich sagen: "Logisch, das sind eine Minute und 7 Sekunden!". Damit haben Sie natürlich Recht - aber haben Sie das Ergebnis berechnet oder nur abgelesen? Haben Sie eine mathematische Gleichung aufgestellt?

Wenn ja, dann sollten Sie die folgende Aufgabe mit Ihrer Gleichung lösen können:

198375 Sekunden sind: ? Tage, ? Stunden, ? Minuten, ? Sekunden

Wie Sie sehen, ist diese Aufgabe nicht einfach zu lösen, sondern muss mathematisch berechnet werden. Ich möchte Ihnen an dieser Stelle aber auch das Ergebnis zeigen, sodass Sie Ihr Ergebnis vergleichen können.

198375 Sekunden sind: 2 Tage, 7 Stunden, 6 Minuten, 15 Sekunden

Bevor wir uns das Programm und somit die Lösung anschauen, zeige ich Ihnen den Ansatz für die Berechnungen auf. Zunächst stellt sich die Frage, was wir benötigen, um die Aufgabe zu lösen? Die Antwort ist einfach:

  • Subtraktion ( ) Minus
  • Division ( / ) Dividieren
  • Modulo ( % ) Restwert einer Division
  • Abrunden

Wir gehen nun Schritt für Schritt die Berechnungen durch. Sie werden feststellen, dass es viel einfacher ist, als Sie denken.

function makeDifferenz($first, $second)
@param integer $first
@param integer $second
@return array

Die Funktion makeDifferenz() benötigt zum einen den TimeStamp der Vergangenheit oder der Gegenwart. Als zweiten Parameter benötigen wir den Timestamp (Sekunden) der Zukunft oder der Gegenwart. Je nachdem, was Sie berechnen möchten, kann hier der Wert ein anderer sein.

Sie müssen sich nicht darum kümmern, welcher Wert wo hingehört. Innerhalb der Funktion wird dies überprüft (37). Wir errechnen also bei der Abfrage gleich die Differenz (38, 40) zwischen den Werten.

Bei allen Berechnungen ist es sehr wichtig, dass wir nur mit Ganzzahlen rechnen, also nicht mit Fließkommazahlen. Aus diesem Grund ziehen wir nach jeder Berechnung die zuvor ermittelten Sekunden, Minuten und Stunden jeweils ab und rechnen nur noch mit dem Restwert. Erst zum Schluss, also bei den Tagen, werden wir einmal abrunden.

Im ersten Schritt errechnen wir aus der Differenz die Sekunden. Da eine Minute 60 Sekunden hat, müssen wir aus dem Differenzwert den Modulos-Wert ermitteln. Beim Modulos-Wert handelt es sich um den Restwert einer Division. Nehmen wir einmal an, dass der Differenzwert 67 (Sekunden) ist. Somit ergibt sich folgende Berechnung (42):

67 / 60 = 1 Restwert 7

Wie Sie sehen, war die Berechnung der Sekunden ein Kinderspiel. Wir wollen für die weiteren Berechnungen aber einen Differenzwert nehmen, mit dem man alle Werte berechnen kann, also Tage, Stunden, Minuten und Sekunden. Für die weiteren Berechnungen nehmen wir daher den Differenzwert 94358.

Alle Berechnungen beruhen fast immer auf dem gleichen Schema. Wir werden daher die Berechnung nochmals für den zuvor erwähnten Differenzwert durchführen.

Berechnung der Sekunden (42)

94358 / 60 = 1572 Restwert 38
1572 * 60 = 94320

Wir haben jetzt also 1572 Minuten und 38 Sekunden. Nun müssen die ermittelten geraden Minuten in Stunden umgerechnet werden, auch hier wieder mit dem Modulos-Operator. Zuvor ziehen wir die bereits ermittelten Sekunden von unserem Differenzbetrag ab. Bei dieser Modulos-Berechnung müssen wir berücksichtigen, dass eine Stunde 60 Minuten hat. Als Ergebnis erhalten wir den Restwert, also die Minuten.

Berechnung der Minuten (44)

94358 - 38 = 94320 / 60 = 1572 / 60 = 26 Restwert 12
26 * 60 = 1560

Somit haben wir als Zwischenergebnis 26 Stunden, 12 Minuten und 38 Sekunden. Im nächsten Schritt errechnen wir die Stunden. Ein Tag hat 24 Stunden, und mit dem Modulos-Operator sollte auch hier die Berechnung ohne Probleme durchführbar sein. Wir müssen aber auch hier erst die bereits ermittelten Sekunden und Minuten abziehen. Nach der Berechnung mit dem Modulos-Operator erhalten wir den Restwert der Stunden.

Berechnung der Stunden (46)

94358 - 38 = 94320 / 60 = 1572 - 12 = 1560 / 60 = 26 / 24 = 1 Restwert 2
1 * 24 = 24

Nach dieser Berechnung haben wir nun 2 Stunden, 12 Minuten und 38 Sekunden. Im letzten Schritt müssen wir lediglich die Tage berechnen. Auch hier gilt es wieder, erst alle ermittelten Werte von dem Differenzbetrag abzuziehen und zum Schluss durch 24 zu teilen. In diesem Fall werden wir allerdings meistens eine Fließkommazahl erhalten, die wir nur noch abrunden müssen.

Berechnung der Tage (48)

94358 - 38 = 94320 / 60 = 1572 - 12 = 1560 / 60 = 26 / 24 = 1.083333333
~ 1

Nun haben wir alle Werte zusammen. Das Ergebnis lautet 1 Tag, 2 Stunden, 12 Minuten und 38 Sekunden.

Im letzten Schritt müssen wir nur noch die passenden Namen mit in das Array schreiben, sodass nicht 1 Stunden, sondern 1 Stunde ausgegeben wird. Wir geben also das komplette Array an die Funktion makeString() (50).

Sie sehen nach den Erklärungen der Funktionen den kompletten Arrayinhalt für unsere Beispiele. Mit ihrer Hilfe können Sie wunderbar den Aufbau des Arrays sehen.

035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:

047:
048:

049:
050:
051:
052:
053:
054: 		function makeDifferenz($first, $second){

    if($first > $second)
        $td['dif'][0] = $first - $second;
    else
        $td['dif'][0] = $second - $first;

    $td['sec'][0] = $td['dif'][0] % 60; // 67 = 7

    $td['min'][0] = (($td['dif'][0] - $td['sec'][0]) / 60) % 60;

    $td['std'][0] = (((($td['dif'][0] - $td['sec'][0]) /60)-
    $td['min'][0]) / 60) % 24;

    $td['day'][0] = floor( ((((($td['dif'][0] - $td['sec'][0]) /60)-
    $td['min'][0]) / 60) / 24) );

    $td = makeString($td);

    return $td;

}

Beispiel 2.5: verstrichene_zeit.php

function makeString($td)
@param array $td
@return array

Die Funktion makeString() erwartet als Parameter das komplette Array mit den gefüllten Werten der Zeitberechnung. Wir prüfen lediglich jeweils den Inhalt der Arrays, also ob ein Tag, eine Stunde, eine Minute oder eine Sekunde den Wert 1 hat. Diese Funktion dient lediglich für die spätere Ausgabe der Werte, damit nicht z. B. 1 Stunden, sondern 1 Stunde ausgegeben wird.

063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087: 		function makeString($td){

    if ($td['sec'][0] == 1)
        $td['sec'][1] = 'Sekunde';
    else
        $td['sec'][1] = 'Sekunden';

    if ($td['min'][0] == 1)
        $td['min'][1] = 'Minute';
    else
        $td['min'][1] = 'Minuten';

    if ($td['std'][0] == 1)
        $td['std'][1] = 'Stunde';
    else
        $td['std'][1] = 'Stunden';

    if ($td['day'][0] == 1)
        $td['day'][1] = 'Tag';
    else
        $td['day'][1] = 'Tage';

    return $td;

}
Beispiel 2.6: verstrichene_zeit.php

Sie haben jetzt bereits die beiden Funktionen für die Darstellung und die Zeitberechnung gesehen. Der restliche Quellcode dient hier lediglich für unser Beispiel. Wichtig ist, dass Sie immer die Zeit im TimestampFormat übergeben, also die Sekunden. Wie Sie Ihre Werte dabei in ein Timestamp bekommen, ist Ihnen überlassen. Wir haben hierfür die Funktion mktime() genutzt.
mktime() besitzt hier folgende Werte:

mktime(Stunde, Minute, Sekunde, Monat, Tag, Jahr)

089:
090:
091:
092:
093:
094:
095:

096:
097:
098:
099:
100:
101:
102:
103:
104:

105:
106:
107:
108:
109:
110:
111:
112:
113:
         $secLast = time();
$secNow = mktime ( 18, 0, 0, 6, 10, 2006 );

$td = makeDifferenz($secLast, $secNow);

echo 'Die Eröffnungsspiel der WM 2006 ist in<br>';
echo $td['day'][0] . ' ' . $td['day'][1] . ', ' . $td['std'][0] . ' ' .
$td['std'][1] . ', ' . $td['min'][0] . ' ' . $td['min'][1] . ', ' .
$td['sec'][0] . ' ' . $td['sec'][1];
echo '<br><br>';

$secLast = time();
$secNow = mktime ( 18, 35, 0, 04, 19, 2006 );

$td = makeDifferenz($secLast, $secNow);

echo 'Das Angebot endet in<br>';
echo $td['day'][0] . ' ' . $td['day'][1] . ', ' . $td['std'][0] . ' ' .
$td['std'][1] .  ', ' . $td['min'][0] . ' ' . $td['min'][1] . ', ' .
$td['sec'][0] . ' ' . $td['sec'][1];
echo '<br><br>';

$secLast = mktime ( 13, 12, 35, 3, 29, 2006 );
$secNow = time();

$td = makeDifferenz($secLast, $secNow);

echo 'Ihr letzter Besuch war vor:<br>';
echo $td['day'][0] . ' ' . $td['day'][1] . ', ' . $td['std'][0] . ' ' . $td['std'][1] .
', ' . $td['min'][0] . ' ' . $td['min'][1] . ', ' . $td['sec'][0] . ' ' . $td['sec'][1];
Beispiel 2.7: verstrichene_zeit.php

Inhalt des Arrays

Sie sehen hier noch einmal das komplette Array aus einer Berechnung. Somit haben Sie die Möglichkeit, die einzelnen Werte selbst zu formatieren und auszugeben. Der Differenzbetrag beider von Ihnen übergebenen Werte wird ebenfalls mit in das Array aufgenommen und kann bei Bedarf ausgegeben werden.

Array
(
[dif] => Array
(
[0] => 4851342
)
[sec] => Array
(
[0] => 42
[1] => Sekunden
)
[min] => Array
(
[0] => 35
[1] => Minuten
)
[std] => Array
(
[0] => 3
[1] => Stunden
)
[day] => Array
(
[0] => 56
[1] => Tagen
)
)
Array
(
[dif] => Array
(
[0] => 360642
)
[sec] => Array
(
[0] => 42
[1] => Sekunden
)
[min] => Array
(
[0] => 10
[1] => Minuten
)
[std] => Array
(
[0] => 4
[1] => Stunden
)
[day] => Array
(
[0] => 4
[1] => Tagen
)
)
Array
(
[dif] => Array
(
[0] => 1473103
)
[sec] => Array
(
[0] => 43
[1] => Sekunden
)
[min] => Array
(
[0] => 11
[1] => Minuten
)
[std] => Array
(
[0] => 1
[1] => Stunde
)
[day] => Array
(
[0] => 17
[1] => Tagen
)
)

Ausgabe im Browser

Das Eröffnungsspiel der WM 2006 ist in 56 Tagen, 3 Stunden, 35 Minuten, 42 Sekunden
Das Angebot endet in 4 Tagen, 4 Stunden, 10 Minuten, 42 Sekunden
Ihr letzter Besuch war vor: 17 Tagen, 1 Stunde, 11 Minuten, 43 Sekunden


Tage eines Monats ermitteln

Letztes Update: 19.07.2006 12:34:38

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Tage eines Monats ermitteln

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

dayofmonth.php

Problem

Sie müssen für eine Datumsberechnung die Gesamtmenge der Tage eines Monats ermitteln. Diese kann sehr variieren, da bei Schaltjahren der Februar nur 29 Tage hat und Sie hier den richtigen Wert benötigen.

Lösung

Auch hier gibt uns PHP wieder eine sehr große Hilfestellung. Die Funktion date() liefert mit dem Parameter "t" die Anzahl der Tage eines Monats. Hierbei wird auch ein Schaltjahr berücksichtigt. Als Rückgabewert erhalten wir hier je nach Monat und Schaltjahr eine Zahl zwischen 28 und 31.

1:
2:
3:
         <?php
echo date("t");
?>

Um sich z. B. für ein ganzes Jahr diesen Wert liefern zu lassen, können Sie nachfolgendes Beispiel verwenden. Bitte beachten Sie aber, dass die Funktion mktime() (32, 33) nur Datumswerte zwischen 1970 und 2038 verarbeiten kann.

Da wir die Monatsnamen in deutscher Schreibweise erhalten wollen, müssen wir zuerst überprüfen, auf welchem Betriebssystem unser Beispiel ausgeführt wird. Je nachdem, ob es sich um Windows oder Linux handelt, haben wir einen anderen Ländercode anzugeben. Wir überprüfen also erst das Betriebssystem (24), um dann mittels setlocale() (27) den Ländercode zu setzen.

Die FOR-Schleife (31) durchläuft für jeden Monat die Schleife und speichert dabei den Monatsnamen (32) in deutscher Ausgabe und die Anzahl der Tage des Monats (33), um Sie dann zeilenweise auszugeben (34).

24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:

35:
36: 		if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
    $localeCode = 'ge';
else
    $localeCode = 'de_DE';

setlocale(LC_TIME,$localeCode);

for($x=1;$x<=12;$x++){
    $monat = strftime("%B",mktime(0, 0, 0, $x, 1, date("Y")));
    $tage = date("t",mktime(0, 0, 0, $x, 1, date("Y")));
    echo "Der " . $monat . " " . date("Y") . " hat " . $tage .
    " Tage.<br>\n";
}
?>

Beispiel 2.8: dayofmonth.php

Ausgabe im Browser

Der Januar 2006 hat 31 Tage.
Der Februar 2006 hat 28 Tage.
Der März 2006 hat 31 Tage.
Der April 2006 hat 30 Tage.
Der Mai 2006 hat 31 Tage.
Der Juni 2006 hat 30 Tage.
Der Juli 2006 hat 31 Tage.
Der August 2006 hat 31 Tage.
Der September 2006 hat 30 Tage.
Der Oktober 2006 hat 31 Tage.
Der November 2006 hat 30 Tage.
Der Dezember 2006 hat 31 Tage.


Berechnungen von Monaten

Letztes Update: 19.07.2006 12:46:16

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Berechnungen von Monaten

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

dateMonth.php, dateMonth_1.php

Problem

Gerade bei den Berechnungen von Monaten zeigen sich immer wieder Probleme, die mittels PHP eigenen Funktionen sehr schnell gelöst werden können. Oftmals werden aber die Berechnungen in mühevollen Programmieraufgaben gelöst und sind somit nicht effizient. Warum also das Rad neu erfinden, wenn PHP für die meisten Aufgaben bereits etwas zur Verfügung stellt?

Lösung

Sie sehen hier einige Aufgaben, die immer wieder vorkommen. Die folgenden Beispiele wurden am 06.04.2006 erstellt und dienen bei diesem Beispiel als Grundlage.

Zeile 25: Das aktuelle Datum und die Uhrzeit
Zeile 26: Gibt den UNIXTimestamp für den 06.04.2006 aus
Zeile 27: Gibt den Monat als Zahl aus
Zeile 28: Das Datum des letzten Monats
Zeile 29: Das Datum des nächsten Monats
Zeile 30: Das Datum vor 5 Monaten
Zeile 31: Das Datum in 3 Monaten

24:
25:
26:
27:
28:
29:
30:
31: 		$LF = "\n<br>";
echo date('d.n.Y H:m:s') . $LF;
echo strtotime('last Month') . $LF;
echo date('n', strtotime('last month')) . $LF;
echo date('d.n.Y', strtotime('last month')) . $LF;
echo date('d.n.Y', strtotime('next month')) . $LF;
echo date('d.n.Y', strtotime('-5 month')) . $LF;
echo date('d.n.Y', strtotime('+3 month')) . $LF;
Beispiel 2.9: dateMonth.php

Ausgabe

06.4.2006 14:04:50
1141652690
3
06.3.2006
06.5.2006
06.11.2005
06.7.2006

Das nächste Beispiel zeigt eine etwas aufwändigere Berechnung, bei der die Ausgabe der Monate in deutscher Sprache erfolgen wird. Die nachfolgenden Beispiele wurden am 06.04.2006 erstellt und dienen bei diesem Beispiel als Grundlage.

Zeile 25: Das aktuelle Datum und die Uhrzeit
Zeile 26: Gibt das Datum für den 10.09.2000 aus
Zeile 27: Gibt das Datum für den nächsten Tag aus
Zeile 28: Gibt das Datum eine Woche später aus
Zeile 29: Das Datum in einer Woche, 2 Tagen, 4 Stunden und 2 Sekunden
Zeile 30: Das Datum am nächsten Donnerstag
Zeile 31: Das Datum vor einem Monat

24:
25:
26:
27:
28:
29:
30:
31: 		$LF = "\n<br>";
echo date('d.m.Y', strtotime("now")) . $LF;
echo date('d.m.Y', strtotime("10 September 2000")) . $LF;
echo date('d.m.Y', strtotime("+1 day")) . $LF;
echo date('d.m.Y', strtotime("+1 week")) . $LF;
echo date('d.m.Y', strtotime("+1 week 2 days 4 hours 2 seconds")) . $LF;
echo date('d.m.Y', strtotime("next Thursday")) . $LF;
echo date('d.m.Y', strtotime("last Monday")) . $LF;
Beispiel 2.10: dateMonth_1.php

Ausgabe:

06.04.2006
10.09.2000
07.04.2006
13.04.2006
15.04.2006
06.04.2006
03.04.2006

Wie Sie sehen, waren die Berechnungen von Monaten und gewissen Datumsangaben relativ einfach. In Zukunft werden Sie sich freuen, wenn Sie auf diese bereits bestehenden Möglichkeiten zurückgreifen können.


Datum/Uhrzeit von MySQL-Format ins deutsche Format und zurück

Letztes Update: 19.08.2006 19:59:31

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datum/Uhrzeit von MySQL-Format ins deutsche Format und zurück

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

mysqlDate.php

Problem

Sie haben ein deutsches Datumsformat in der Form 22.03.2006 und müssen es für die Speicherung in einer MySQLDatenbank in das entsprechende Format konvertieren (20060322). Umgekehrt stellt sich die Frage, wie man ein Datum vom MySQLFormat, z. B. einen MySQLTimestamp (20060322181602) oder ein DateTimeFormat (20060322 23:59:12), in ein deutsches Format bekommt.

Eine andere Problemstellung wäre etwa, dass Sie ein MySQLDatum aus einer Textdatei zu einem deutschen Format weiterverarbeiten müssen und nicht auf MySQL direkt zugreifen können. Sie sehen erneut, dass man nicht unbedingt immer nur eine Lösung parat haben kann, sondern je nach Problem agieren muss.

Lösung

Die Konvertierung des vorhandenen Datums stellt sich als sehr simpel heraus, da lediglich einzelne Bereiche innerhalb des Datums vertauscht werden müssen. Deutsche Datumsangaben liegen immer in der Form dd.mm.YYYY (z. B. 22.03.2006) vor, MySQLDatumsangaben dagegen im ISO8601Format (YYYY.mm.dd).

Sie werden später im Buch sehen, wie direkt mit der MySQLFunktion date_format() dieses Datumsproblem umgangen werden kann. Sollten Sie Zugriff auf eine MySQLDatenbank haben, bietet sich die elegantere Variante mit date_format() an.

function date_mysql2german($date)

Diese Funktion erwartet als einzigen Parameter (32) das Datum im MySQLFormat (20060322). Das übergebene Datum wird im nächsten Schritt anhand des Bindestrichs in seine Bestandteile zerlegt (33) und dabei in ein Array überführt. Jetzt haben wir im ArrayIndex 0 das Jahr, im ArrayIndex 1 den Monat und im ArrayIndex 2 den Tag.

Zum Schluss müssen wir lediglich unser Array mit den einzelnen Datumsbestandteilen wieder in ein korrektes deutsches Datum konvertieren. Hierfür bedienen wir uns sprintf() und geben den formatierten String in der Form dd.mm.YYYY an die aufrufende Stelle (98) zurück.

Haben Sie ein DatumsZeitformat (20060322 23:59:12), so müssen Sie das Datum vor der Übergabe mit explode() zerlegen (91) und nur den Wert im ArrayIndex 0 an die Funktion übergeben. Die Uhrzeit im ArrayIndex 1 kann so bestehen bleiben, muss also nicht formatiert werden.

032:
033:
034:
035:
036: 		function date_mysql2german($date) {
    $d    =    explode("-",$date);

    return    sprintf("%02d.%02d.%04d", $d[2], $d[1], $d[0]);
}
Beispiel 2.11: mysqlDate.php

087:
088:
089:
090:
091:
092: 		echo "Beispiel:    2006-03-22    <br>\n";
echo "wird zu    :    " . date_mysql2german("2006-03-22") . "    <br>\n";

echo "Beispiel:    2006-03-22 23:59:12    <br>\n";
$expDate = explode(" ","2006-03-22 23:59:12");
echo "wird zu    :    " . date_mysql2german($expDate[0]) . " $expDate[1] <br>\n";
Beispiel 2.12: mysqlDate.php

Ausgabe

Beispiel: 20060322 wird zu : 22.03.2006
Beispiel: 20060322 23:59:12 wird zu : 22.03.2006 23:59:12

function date_german2mysql ($date)

Bei der Konvertierung vom deutschen Datumsformat in das MySQLFormat ist der vorherige Schritt nur umzudrehen. Wir trennen wieder unser Datum in seine Bestandteile (47) und formatieren es mit sprintf() (49), bevor wir es an die aufgerufene Stelle (88) zurückgeben.

046:
047:
048:
049:
050: 		function date_german2mysql($date) {
    $d    =    explode(".",$date);

    return    sprintf("%04d-%02d-%02d", $d[2], $d[1], $d[0]);
}
Beispiel 2.13: mysqlDate.php

087:
088: 		echo "Beispiel:    2006-03-22    <br>\n";
echo "wird zu    :    " . date_mysql2german("2006-03-22") . "    <br>\n";
Beispiel 2.14: mysqlDate.php

Ausgabe

Beispiel: 22.03.2006 wird zu : 20060322

function timestamp_mysql2german($date)
@param integer $date
@return string

Die Konvertierung von einem MySQL-TimestampFormat (20060322181602) in ein deutsches Format erfordert ein wenig mehr Aufwand, ist aber auch mit wenigen Programmzeilen erledigt. Die Funktion erwartet als Parameter (60) das Datum im MySQL-TimestampFormat und stellt dieses der Funktion sprintf() (62) zur Formatierung zur Verfügung. Wir müssen jetzt lediglich zum einen das Datum trennen (62) und zum anderen die Uhrzeit (64).

Die Werte in den Klammern von substr($date, 6, 2) bedeuten hier lediglich, dass von der sechsten Stelle an insgesamt 2 Zeichen ausgegeben werden sollen. Bitte bedenken Sie, dass bei der Funktion substr() von Null (0) aus angefangen wird zu zählen! Den Tag (62), den Monat und das Jahr formatieren wir wieder im Format dd.mm.YYYY (%02d.%02d.%04d) und speichern diese wieder in das Array $stamp['date'].

Die Stunden (64), die Minuten und die Sekunden formatieren wir mit sprintf() in das Format HH:ii:ss (%02d:%02d:%02d) und speichern den Wert in unser Array $stamp['time']. Zum Schluss müssen wir lediglich das Array (66) an die aufrufende Stelle (99) zurückgeben.

060:
061:
062:

063:
064:

065:
066:
067: 		function timestamp_mysql2german($date) {

    $stamp['date']    =    sprintf("%02d.%02d.%04d",
                             substr($date, 6, 2),
                             substr($date, 4, 2),
                             substr($date, 0, 4));

    $stamp['time']    =    sprintf("%02d:%02d:%02d",
                             substr($date, 8, 2),
                             substr($date, 10, 2),
                             substr($date, 12, 2));

    return $stamp;
}
Beispiel 2.15: mysqlDate.php

097:
098:
099: 		echo "Beispiel:    20060322181602    <br>\n";
$dateTime    =    timestamp_mysql2german("20060322181602");
echo "wird zu    :    " . $dateTime['date'] . " " . $dateTime['time'] . "    <br>\n";
Beispiel 2.16: mysqlDate.php

Ausgabe

Beispiel: 20060322181602 wird zu : 22.03.2006 18:16:02

function timestamp_german2mysql($date)
@param string $date
@return integer

Die Umrechnung von einem deutschen Datumsformat mit Zeitangabe (22.03. 2006 18:16:02) in ein My-SQLTimestamp-Format beginnt wieder mit der Übergabe des Datums an die Funktion (77).

Da das Datum mit einem Leerzeichen von der Uhrzeit getrennt ist, trennen wir den kompletten String (79) anhand des Leerzeichens und erhalten ein Array $split, bestehend aus Datum und Uhrzeit.

Die Werte in den Klammern von substr($split[0], 6, 4) bedeuten hier lediglich, dass das Datum aus unserem Array mit dem Index Null (0) von der sechsten Stelle aus, insgesamt 4 Zeichen, ausgegeben werden soll. Achtung: Auch bei der Funktion substr() wird von Null (0) ausgehend gezählt!

Jetzt müssen wir lediglich das Jahr (80), den Monat sowie den Tag mit der Funktion sprintf() (80) in das Format YYYY.mm.dd konvertieren und den Wert in unsere Variable $timestamp speichern.

Bei der Uhrzeit gehen wir ähnlich vor, jedoch mit dem Unterschied, dass wir die formatierte Uhrzeit (HH:ii:ss) an die Variable $timestamp anhängen.

077:
078:
079:
080:

081:
082:

083:
084:
085: 		function timestamp_german2mysql($date) {

    $split = explode(" ",$date);
    $timestamp =    sprintf("%04d%02d%02d",
                          substr($split[0], 6, 4),
                          substr($split[0], 3, 2),
                          substr($split[0], 0, 2));

    $timestamp .=    sprintf("%02d%02d%02d",
                          substr($split[1], 0, 2),
                          substr($split[1], 3, 2),
                          substr($split[1], 6, 2));

    return $timestamp;
}
Beispiel 2.17: mysqlDate.php

101:
102: 		echo "Beispiel:    22.03.2006 18:16:02    <br>\n";
echo "wird zu    :    " . timestamp_german2mysql("22.03.2006 18:16:02") . "    <br>\n";
Beispiel 2.18: mysqlDate.php

Ausgabe

Beispiel: 22.03.2006 18:16:02 wird zu : 20060322181602


Datumsangaben in Deutsch anzeigen

Letztes Update: 20.07.2006 16:41:05

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datumsangaben in Deutsch anzeigen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

germanDate.php, date.php, localInstall.php

Problem

Sie möchten gerne einen Kalender mit den Monatsnamen auf Ihrer Website präsentieren, allerdings sollen deutsche Namen für die Monate genommen werden.

Lösung

Sie könnten jetzt ein Array mit zwölf Index-Einträgen bilden und den jeweiligen Monatsnamen in jedes Arrayelement speichern. Kompliziert wird die Sache aber, wenn Sie z. B. zwölf verschiedene Sprachen auf Ihrer Seite anbieten - das wird zwar selten vorkommen, im Fall des Falles würde aber eine Menge Schreibarbeit auf Sie zukommen.

Einfacher geht es, wenn Sie einfach den Ländercode umstellen und sich den Monatsnamen in deutscher Ausgabe vom System liefern lassen. Dann könnten Sie hundert Sprachen anbieten, der administrative Aufwand wäre dennoch gering.

Zuerst müssen wir herausfinden, auf welchem Betriebssystem (24) das Beispielskript läuft. Da wir nicht jede Windowsversion abfragen wollen, nehmen wir lediglich den gekürzten Teil (WIN) zur Überprüfung. Der Ländercode ist ausnahmsweise zwischen Linux-und Windowsrechnern verschieden.

Haben wir das Betriebssystem erkannt, können wir den Ländercode mit setlocale() (29) neu setzen und erhalten als Rückgabewert den eingestellten Ländercode. Erschrecken Sie nicht, denn er kann von unseren Voreinstellungen (siehe Beispielausgabe) abweichen.

Jetzt benötigen wir lediglich strftime() (34), das mit dem Paramter %B, den Monatsnamen ausgehend von der zuvor gesetzten Ländereinstellung liefern kann.

24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
         if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
    $localeCode = 'ge';
else
    $localeCode = 'de_DE';

$typ = setlocale(LC_TIME,$localeCode);

echo 'Aktueller Ländercode: ' . $typ . "<br>\n";

for($x=1;$x<=12;$x++){
    echo strftime("%B",mktime(0, 0, 0, $x, 1, date("Y"))). "<br>\n";
}
Beispiel 2.19: germanDate.php

Ausgabe

Aktueller Ländercode: German_Germany.1252
Januar
Februar
März
April
Mai
Juni
Juli
August
September
Oktober
November
Dezember

Wie Sie sehen, ist das keine Hexerei und der Aufwand minimal. Oft ist auf Webseiten auch das aktuelle Datum in der Form "Sonntag, 26. März 2006" zu sehen. Das sieht schön aus und ziert die Webseite - ob es sinnvoll ist oder nicht, sei hier einfach mal dahingestellt. Eine solche Ausgabe zu erzeugen, sollte für Sie nun eigentlich kein Problem mehr sein - oder doch? Sie können zwar den Monatsnamen in deutscher Schrift ausgeben, aber woher bekommen Sie den Tag?

Es sind die Parameter, die uns helfen. Der Parameter %B bei strftime() hat uns bereits den Monatsnamen geliefert. Da so ein Parameter für die Monate existiert, sollte es auch einen für Tage geben. Dem ist tatsächlich so! Der Parameter %A liefert uns den Tag. Wenn wir jetzt noch ein wenig die Ausgabe formatieren, erhalten wir als Ergebnis das gewünschte Datum.

24:
25:
26:
27:
28:
29:
30:
31:
         if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
    $localeCode = 'ge';
else
    $localeCode = 'de_DE';

setlocale(LC_TIME,$localeCode);

echo strftime("%A, %d. %B %Y");
Beispiel 2.20: date.php

Ausgabe

Sonntag, 26. März 2006

Im folgenden Beispiel sehen Sie eine kleine Auswahl für andere Länder, denn vielleicht möchten Sie den Besuchern Ihrer Webseite einen besonderen Service bieten und ihnen das jeweilige Datum in ihrer Landessprache anzeigen. Bitte bedenken Sie aber, dass die verschiedenen Sprachen je nach Betriebssystem anders deklariert werden müssen (siehe Türkei oder Polen).

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
         if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
    $os = 'win';
else
    $os = 'linux';

$countries = array('de','fr','fi','it','tr','hu','pl');
$lc['win']['de'] = array('ge','Deutschland');
$lc['win']['fr'] = array('fr','Frankreich');
$lc['win']['fi'] = array('fi','Finnland');
$lc['win']['it'] = array('it','Italien');
$lc['win']['tr'] = array('turkish','Türkei');
$lc['win']['hu'] = array('hu','Ungarn');
$lc['win']['pl'] = array('polish','Polen');

$lc['linux']['de'] = array('de_DE','Deutschland');
$lc['linux']['fr'] = array('fr_CA','Frankreich');
$lc['linux']['fi'] = array('fi_FI','Finnland');
$lc['linux']['it'] = array('it_IT','Italien');
$lc['linux']['tr'] = array('tr_TR','Türkei');
$lc['linux']['hu'] = array('hu_HU','Ungarn');
$lc['linux']['pl'] = array('pl_PL','Polen');

for($x=0;$x<count($countries);$x++)
{
    setlocale(LC_TIME, $lc[$os][$countries[$x]][0]);
    echo strftime('%A, %e %B %Y, in ') . $lc[$os][$countries[$x]][1];
    echo '<br>';
}

Ausgabe

Sonntag, 26 März 2006, in Deutschland
dimanche, 26 mars 2006, in Frankreich
sunnuntai, 26 maaliskuu 2006, in Finnland
domenica, 26 marzo 2006, in Italien
Pazar, 26 Mart 2006, in Türkei
vasárnap, 26 március 2006, in Ungarn
niedziela, 26 marzec 2006, in Polen

Unter Linux haben Sie die Möglichkeit, sich alle unterstützten Ländercodes anzeigen zu lassen. Das folgende kleine Skript listet Ihnen alle Ländercodes auf. Dabei wird die Ausgabe nicht direkt erzeugt, sondern mit ob_start() (24) gepuffert.

Der Shell-Befehl (25) fragt hier die Ländercodes ab, und der Inhalt der Ausgabe wird dann mit ob_get_contents() (26) in die Variable gespeichert. Zum Schluss müssen wir lediglich den Inhalt (ein Array!) ausgeben (29).

Die Ausgabe wurde hier in einer Tabelle dargestellt, entspricht also nicht der Ausgabe im Browser (dort sollten Sie den Quelltext öffnen, um die Ausgabe besser sehen zu können).

24:
25:
26:
27:
28:
29:
         ob_start();
system('locale -a');
$lc = ob_get_contents();
ob_end_clean();

print_r($lc);
Beispiel 2.21: localInstall.php

Ausgabe formatiert

af_ZA
ar_AE
ar_BH
ar_DZ
ar_EG
ar_IN
ar_IQ
ar_JO
ar_KW
ar_LB
ar_LY
ar_MA
ar_OM
ar_QA
ar_SA
ar_SD
ar_SY
ar_TN
ar_YE
be_BY
bg_BG
bokmal
bokmål
br_FR
bs_BA
ca_ES
ca_ES@euro
catalan
croatian
cs_CZ
cy_GB
czech
da_DK
danish
dansk
ga_IE@euro
ko_KR
ko_KR.euckr
ko_KR.utf8
korean
korean.euc
kw_GB
lithuanian
lt_LT
lv_LV
mi_NZ
mk_MK
mr_IN.utf8
ms_MY
mt_MT
nb_NO
nb_NO.ISO88591
nl_BE
nl_BE@euro 		de_AT
de_AT@euro
de_BE
de_BE@euro
de_CH
de_DE
de_DE.utf8
de_DE@euro
de_LU
de_LU@euro
deutsch
dutch
eesti
el_GR
el_GR.utf8
en_AU
en_BW
en_CA
en_DK
en_GB.utf8
en_HK
en_IE
en_IE@euro
en_IN
en_NZ
en_PH
en_SG
en_US
en_US.utf8
en_ZA
en_ZW
es_AR
es_BO
es_CL
es_CO
nl_NL
nl_NL@euro
nn_NO
oc_FR
pl_PL
polish
portuguese
pt_BR
pt_PT
pt_PT@euro
ro_RO
romanian
ru_RU
ru_RU.koi8r
ru_RU.utf8
ru_UA
russian
sk_SK
sl_SI 		es_CR
es_DO
es_EC
es_ES
es_ES@euro
es_GT
es_HN
es_MX
es_NI
es_PA
es_PE
es_PR
es_PY
es_SV
es_US
en_GB
es_UY
es_VE
estonian
et_EE
eu_ES
eu_ES@euro
fa_IR.utf8
fi_FI
fi_FI@euro
finnish
fo_FO
fr_BE
fr_BE@euro
fr_CA
fr_CH
fr_FR
fr_FR.utf8
fr_FR@euro
fr_LU
slovak
slovene
slovenian
spanish
sq_AL
sr_YU
sr_YU@cyrillic
sv_FI
sv_FI@euro
sv_SE
swedish
ta_IN
te_IN
tg_TJ
th_TH
no_NO
norwegian
nynorsk
thai 		fr_LU@euro
français
french
galego
galician
german
gl_ES
gl_ES@euro
greek
gv_GB
he_IL
hebrew
hi_IN.utf8
hr_HR
hrvatski
hu_HU
hungarian
icelandic
id_ID
is_IS
it_CH
it_IT
it_IT@euro
italian
iw_IL
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
japanese.sjis
ka_GE
kl_GL
ga_IE
tl_PH
tr_TR
turkish
uk_UA
ur_PK
uz_UZ
vi_VN.utf8
wa_BE
wa_BE@euro
yi_US
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.utf8
zh_TW
zh_TW.euctw
zh_TW.utf8


Datum auf Gültigkeit überprüfen

Letztes Update: 20.07.2006 16:51:46

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datum auf Gültigkeit überprüfen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

checkdate.php

Problem

Sie kennen sicherlich das Problem, das entstehen kann, wenn ein Besucher Ihrer Seite z. B. sein Geburtsdatum in einem Formularfeld angeben kann. Die Fehlerquote hierbei ist extrem hoch, und die Daten bei einer Falscheingabe sind für Sie nutzlos. Sie müssen also das eingegebene Datum auf seine Gültigkeit hin überprüfen.

Lösung

Die PHP-Funktion checkdate() erledigt diese Aufgabe zuverlässig, auch unter Berücksichtigung von Schaltjahren. Der Funktion müssen wir lediglich den Tag, den Monat und das Jahr übergeben. Folgende Kriterien muss ein korrektes Datum erfüllen:

1. Das Jahr muss zwischen 1 und 32767 liegen.
2. Der Monat muss zwischen 1 und 12 liegen.
3. Der Tag muss zwischen 1 und 31 liegen (Schaltjahre werden berücksichtigt).

Als ersten Parameter erwartet die Funktion checkdate() den Monat, dann den Tag und zum Schluss das Jahr. Handelt es sich bei dem Datum um ein korrektes Datum, so gibt checkdate() den booleschen Wert "TRUE" zurück, ansonsten "FALSE".

Das nachfolgende Beispiel erledigt genau diese Aufgabe. Es kann dabei mit unterschiedlichen Formaten umgehen. Sie müssen lediglich die einzelnen Parameter setzen und erhalten als Rückgabewert entweder "TRUE" für ein korrektes Datum oder "FALSE".

Folgende Parameter werden für die Funktion check_date() benötigt:

  • @param string $date
    Das zu prüfende Datum
  • @param string $format
    Der Aufbau des Datums (z. B. Tag/Monat/Jahr) mögliche Werte sind d,m,Y d => Tag, m => Monat, Y => Jahr
  • @param string $sep
    Das Trennzeichen des Datums
  • @return bool
    true, wenn es sich um ein korrektes Datum handelt, ansonsten false

Die Funktion checkdate() wird mit dem zu prüfenden Datum, dem Aufbau des Datums sowie des Trennzeichens aufgerufen (56, 65). Mit strpos() (42-44) suchen wir nach den Parametern für den Aufbau des Datums, also ob es 27.03.1971, 03.27.1971 oder alternativ vielleicht 1971.03.27 ist.

Anhand des übergebenen Separators und des Aufbaus können wir jetzt das Datum in seine Bestandteile zerlegen (46) und es der Funktion checkdate() (48) zur Überprüfung geben. Das Ergebnis der Überprüfung (true oder false) geben wir der aufrufenden Stelle zurück.

39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
         function check_date($date,$format,$sep)
{

    $pos1    = strpos($format, 'd');
    $pos2    = strpos($format, 'm');
    $pos3    = strpos($format, 'Y');

    $check    = explode($sep,$date);

    return checkdate($check[$pos2],$check[$pos1],$check[$pos3]);

}

$dateA    = '27.03.1971';

echo $dateA . '<br>';

if(check_date($dateA,"dmY","."))
    echo 'Das Datum ist korrekt.<br>';
else
    echo 'Bitte überprüfen Sie Ihr Datum!<br>';

$dateB    = '02-29-2006';

echo $dateB . '<br>';

if(check_date($dateB,"mdY","-"))
    echo 'Das Datum ist korrekt.<br>';
else
    echo 'Bitte überprüfen Sie Ihr Datum!<br>';

Beispiel 2.22: checkdate.php

Ausgabe im Browser

27.03.1971 Das Datum ist korrekt.
02-29-2006 Bitte überprüfen Sie Ihr Datum!


Performance (Zeit) von Befehlen testen

Letztes Update: 20.07.2006 17:03:44

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Performance (Zeit) von Befehlen testen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5
  • wahlweise MySQL

Datei(en)

timer.php, timerSQL.php, timerSQL.sql

Problem

Sie kennen sicher das Problem, dass man für eine zu lösende Aufgabe mehrere Varianten (PHP-Befehle, MySQL-Abfragen, allgemeine Routinen) zur Verfügung hat. Da stellt sich die Frage, wie schnell die einzelnen Lösungen sind. Ziel sollte es immer sein, Rücksicht auf die Performance zu nehmen und somit eine schnelle und vor allem reibungslose Darstellung zu gewährleisten.

Lösung

Das folgende Beispiel berechnet die Zeit für die Ausführung einer bestimmten Aufgabe und gibt den Wert in Sekunden zurück. In unserem Beispiel wurde dabei eine FOR-Schleife 10 Millionen Mal durchlaufen. Bei den einzelnen Durchläufen passierte nichts Besonderes, es sollte lediglich eine Arbeit verrichtet werden. Wenn Sie das Skript auf Ihrem Server ausführen, tasten Sie sich langsam an die Menge der Durchläufe heran - nehmen Sie nicht unbedingt 10 Millionen, sondern fangen erst mit z. B. 1 Million Durchläufen an.

24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
         function startTime(){

    $timeExplode = explode(" ", microtime());
    $time = $timeExplode[1] + $timeExplode[0];

    return $time;

}

function endTime($timer){

    $timeExplode = explode(" ", microtime());
    $time = $timeExplode[1] + $timeExplode[0];
    $finish = $time - $timer;
    $endTime = sprintf("%4.3f", $finish);

    return $endTime;

}

// Startet den Timer
$timer = startTime();

for($x=0;$x<10000000;$x++){
    // Hier passiert nichts!
}

// Beendet den Timer
$endTime = endTime($timer);

echo $endTime . ' Sekunden';

Beispiel 2.23: timer.php

Ausgabe

16.971 Sekunden

Im nachfolgenden Beispiel wird anhand einer MySQLAbfrage der Unterschied der Laufzeiten der PHPBefehle mysql_fetch_row() und mysql_fetch_ array() ermittelt.

Dabei soll die Frage geklärt werden, wie lange beide Befehle für die Darstellung von 8420 Datensätzen benötigen. Um einen genaueren Wert zu erhalten, haben wir das Skript insgesamt 6-mal durchlaufen lassen.

Sie finden für dieses Beispiel die passende Datenbank zum Testen im Verzeichnis Datenbanken unter dem Namen timerSQL.sql. Sie können diese Datei direkt mit phpMyAdmin einlesen.

24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:

52:

53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
         function startTime(){

    $timeExplode = explode(" ", microtime());
    $time = $timeExplode[1] + $timeExplode[0];

  return $time;

}

function endTime($timer){

    $timeExplode = explode(" ", microtime());
    $time = $timeExplode[1] + $timeExplode[0];
  $finish = $time - $timer;
  $endTime = sprintf("%4.3f", $finish);

  return $endTime;

}

// Definiert die Parameter für den Datenbank Connect
define("DB_HOST","localhost"); // MySQL hostname
define("DB_NAME","datenbankname"); //MySQL db-name
define("DB_USER","benutzer"); //MySQL User
define("DB_PASS","passwort"); // MySQL Passwort

// Datenbank Connect herstellen
$db = @MYSQL_CONNECT(DB_HOST,DB_USER,DB_PASS)
      or die("Datenbank momentan nicht erreichbar");
$db_check = @MYSQL_SELECT_DB(DB_NAME)
       or die("Datenbank momentan nicht erreichbar");

// Holt alle Datensätze  - insgesamt 100
$result = @mysql_query("SELECT * FROM statistik_pageviews");
$result1 = @mysql_query("SELECT * FROM statistik_pageviews");

// Startet den Timer
$timer = startTime();

while($row = @mysql_fetch_row($result)){
    // Hier findet die Ausgabe des Seiteninhalts statt
    $contentWeb .= $row[0] . ' -- ' . $row[1] . '<br>';
}

// Beendet den Timer
$endTime = endTime($timer);

echo $endTime . ' Sekunden für mysql_fetch_row <br>';

// Startet den Timer
$timer = startTime();

while($row = mysql_fetch_array($result1)){
  $contentWeb .= $row['id'] . ' -- ' . $row['seite'] . '<br>';
}

// Beendet den Timer
$endTime = endTime($timer);

echo $endTime . ' Sekunden für mysql_fetch_array <br>';

Beispiel 2.24: timerSQL.php

Ausgabe

0.081 Sekunden für mysql_fetch_row
0.111 Sekunden für mysql_fetch_array
0.133 Sekunden für mysql_fetch_row
0.181 Sekunden für mysql_fetch_array
0.138 Sekunden für mysql_fetch_row
0.169 Sekunden für mysql_fetch_array
0.085 Sekunden für mysql_fetch_row
0.118 Sekunden für mysql_fetch_array
0.132 Sekunden für mysql_fetch_row
0.209 Sekunden für mysql_fetch_array
0.097 Sekunden für mysql_fetch_row
0.114 Sekunden für mysql_fetch_array

Sie können mit diesen beiden Beispielen jeweils die Laufzeit in Sekunden berechnen. Falls Sie also einmal nicht sicher sein sollten, welcher Befehl der schnellere ist, binden Sie einfach die beiden Funktionen ein und testen Ihr Skript.


Zielgruppe

Letztes Update: 14.07.2006 06:55:57

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zielgruppe

Sie sind interessiert daran, Ihre bisherigen Kenntnisse in PHP zu vertiefen? Sie stoßen öfter auf Problemsituationen in der Umsetzung bei der PHP-Programmierung? Sie würden gerne schlanke und effiziente Lösungen für gewisse Aufgaben programmieren, aber der Ansatz dazu fehlt Ihnen? Sie sind Anfänger bis Profi in PHP?

Wenn Sie auch nur eine der Fragen mit einem »Ja« beantworten konnten, so sind Sie für dieses Buch der ideale Adressat.

Im Buch selbst werden eine Vielzahl von PHP-Problemstellungen erklärt und mit Beispielen sowie den passenden Ausgaben unterlegt. Damit Sie alle Beispiele bequem ausprobieren können, finden Sie jeweils am Ende eines Beispiels alle PHP-Dateien, Bilder, Textdateien sowie Datenbanken. Probieren Sie ruhig alle Beispiele aus, und modifizieren Sie den Quellcode nach Ihren Bedürfnissen.

Sicherlich hätte man die Beispiele auch wesentlich kompakter programmieren können. Manche Beispiele bieten sich regelrecht an, aus Ihnen Klassen zu machen. Der Autor will aber nicht zeigen, wie toll man programmieren könnte, sondern gerade unerfahrenen Programmierern den Weg zum Ziel weisen. Sie selbst können und sollten die Beispiele modifizieren und anpassen - nur so werden Sie ein Gefühl für die Programmierung und die Lösungswege bekommen.

Dieses Buch wartet nicht mit ein paar hundert Beispielen in ebenso vielen Kapiteln auf, sondern zeigt gezielt Lösungen für immer wiederkehrende Fragen. Wir haben bewusst darauf verzichtet, Ihnen hier Beispiele zu zeigen, die bereits mit einer Zeile Programmcode erledigt werden könnten.

Falls Sie dennoch eine Lösung suchen, finden Sie hier auf SELFPHP die Befehlsreferenz und das Praxisbuch von SELFPHP. Beides zusammen umfasst ca. 1150 Buchseiten und sollte eigentlich jedes Problem lösen können.


Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Letztes Update: 20.07.2006 18:50:52

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Pflichtfelder in Formularen bei Fehlern farbig hervorheben

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

form.php, formStyle.css

Problem

Sie besitzen auf Ihrer Website ein Formular, mit dem Sie Benutzerdaten wie Vorname, Nachname, Straße, PLZ, Ort etc. abfragen. Diese Daten könnten z. B. bei einem Gewinnspiel, das Sie ausloben, anfallen.

Sicherlich werden Sie in diesem Fall Pflichtfelder nutzen wollen, also Felder (z. B. Vorname, Nachname oder E-Mail), die zwingend ausgefüllt werden müssen. Es kommt aber häufig vor, dass ein Benutzer ein Feld nicht ausfüllt und dennoch das Formular abschickt. Jetzt liegt es an Ihnen, den Benutzer auf seinen Fehler hinzuweisen.

Lösung

Es gibt verschiedene Lösungswege, die man einschlagen kann. Sie könnten neben jedem Feld einen Texthinweis listen, dass dieses Feld ausgefüllt werden muss. Der Nachteil ist aber, dass Sie im Vorfeld diesen Platz freihalten müssen, um keine Verschiebung Ihres Formulars zu erhalten. Eine andere Möglichkeit besteht darin, dass beim Neuladen der Seite ein Hinweistext angezeigt wird. In diesem Text könnte z. B. Folgendes stehen:

"Bei der Übermittlung Ihrer Daten ist es zu einem Fehler gekommen. Bitte füllen Sie alle Pflichtfelder aus, und senden Sie das Formular erneut ab."

Diese Variante scheint jedoch ebenfalls nicht genügend aussagekräftig zu sein. Der Benutzer weiß zwar, dass er etwas vergessen hat, worum genau es sich dabei handelt, ist ihm in diesem Moment allerdings noch nicht klar. Sie könnten in dem Text zwar genau sagen, was fehlt, beispielsweise der Vorname, damit erhöhen Sie aber den programmiertechnischen Aufwand und die Fehlerdarstellung an sich - also die Größe des Fehlertextes. Und es gibt nichts Schlimmeres, als ellenlange Fehlermeldungen anzuzeigen.

Die wohl beste Methode ist die visuelle Darstellung der Fehlermeldung. Sie sollten es Ihren Besuchern so leicht wie möglich machen, den Fehler zu finden. Aber was versteht man eigentlich unter visueller Darstellung?

Die Lösung hierfür besteht jetzt aus zwei Bereichen. Zum einen müssen wir beim Neuladen der Seite einen Hinweistext zeigen. Dieser sollte im oberen Bereich der Seite platziert werden, sodass er sofort gesehen wird. Am besten ist es, wenn man diesen Text in einer Tabelle platziert und farbig hervorhebt.

Der Tabellenrahmen könnte mit einer 1 Pixel großen roten Outline (Linie) und der Tabellenhintergrund mit einer gelben Farbe dargestellt werden. Der Text darin sollte kurz und prägnant sein. Er könnte etwa folgendermaßen lauten:

Achtung! Es ist zu einem Fehler gekommen. Bitte füllen Sie alle farbig markierten Pflichtfelder aus.

So eine Fehlermeldung ist nicht so leicht zu übersehen, zumal wir in dem gleichen Farbton auch die fehlenden Felder markieren. Der Benutzer sieht dann sofort, wo er noch etwas eintragen muss.

Diese Lösung ist zwar bereits sehr gut, sie kann aber noch erweitert und verbessert werden. So könnte es beispielsweise passieren, dass einer der WebseitenBesucher farbenblind ist und unsere Fehlermeldung nur sehr schwer interpretieren bzw. nicht farbig unterscheiden kann.

Besser wäre es deshalb, zusätzlich noch ein grafisches Symbol aufzulisten, das wir im Fehlerfall in unserer zuvor gezeigten Tabelle sowie vor jedem nicht ausgefüllten Pflichtfeld setzen.

Achtung! Es ist zu einem Fehler gekommen. Bitte füllen Sie alle farbig markierten Pflichtfelder aus.

Diese Darstellung ist schon wesentlich besser und fällt sicherlich schnell auf. Auf der folgenden Seite sehen Sie beide Formularmöglichkeiten, einmal im unausgefüllten Zustand und einmal nach Eintreten eines Fehlers. Sie können jetzt sehr gut sehen, wie Ihr Formular aufgebaut sein kann und vor allem, wie es mit Fehlern umgeht. Sie zeigen Ihren Besuchern mit einem solchen Formular bzw. derartigen Fehlermeldungen, wie wichtig sie Ihnen sind - und das sollten sie auch sein!

Abbildung 3.1: Formular im Ursprung

Nachdem Sie gesehen haben, wie das Formular im Fehlerfall reagiert, können wir uns jetzt den Programmcode kümmern. Im Anschluss an diesen Programmcode werden Sie den Quellcode der HTML-Seite sowie die CSS-Definitionen sehen, damit Sie die Wirkungsweise besser verstehen.

Zuerst definieren wir die komplette URL (3) von unserem Skript, da wir diese Variable zum einen in unserem Formular benötigen und zum anderen, um die Datei nach erfolgreichem Absenden neu zu laden. Beim Neuladen der Seite übergeben wir mit GET den Wert "TRUE", um dem Besucher anzuzeigen (38-44), dass alles gespeichert wurde.

Zuvor müssen wir uns aber der Fehleranalyse widmen. Wir definieren in einem Array (5) die Felder, die auch als Pflichtfelder anzusehen sind. Wichtig ist allerdings, dass diese Felder im Formular bekannt sind. Damit Sie nicht zum HTML-Quellcode wechseln müssen, sehen Sie für das Pflichtfeld "lastname" den InputTag im Formular.

<INPUT class="<?PHP echo $errorClass['lastname']; ?>" name="lastname" value="<?PHP echo $_POST['lastname']; ?>">

Zwei entscheidende Bereiche, die für unsere Fehleranalyse sehr wichtig sind, sehen Sie hier direkt: zum einen die CSS-Klasse

(class="<?PHP echo $errorClass['lastname']; ?>")

Abbildung 3.2: Formular mit Fehlermeldung

und zum anderen den ValueWert

         (value="<?PHP echo $_POST['lastname']; ?>")

Wenn es zu einem Fehler kommt, soll unser Besucher nicht die bereits ausgefüllten Felder noch einmal ausfüllen müssen. Daher wird der Wert wieder in das Feld geschrieben, und unser Besucher muss nur noch die fehlenden Felder ergänzen.

Die CSS-Klasse belegen wir im Grundzustand mit unserer normalen CSS-Definition (15-17), da das Formular gerade erst geladen wurde und noch keine Fehler enthalten kann. Erst wenn das Formular abgeschickt wird, können sich die Klassen verändern. Zwar werden erst einmal alle Felder mit der Grundklasse belegt, im Fehlerfall aber mit der Fehler-Klasse überschrieben.

Beispiel für das Feld lastname

         $errorClass[’lastname’] = ’ inputField ’;

Wir durchlaufen (24-34) jetzt (das Formular wurde abgeschickt) unser zuvor erstelltes Array (5) und überprüfen (27) dabei, ob jedes Feld, das sich in unserem Array befindet, eventuell in der übermittelten POST-Variable leer ist.

Sollte das der Fall sein, überschreiben (30) wir die CSS-Klasse für dieses Feld mit unserer Error-Klasse. Zusätzlich speichern wir das Hinweisbild ebenfalls in einem Array - dieses Array wird im Formular vor dem jeweiligen Namen des Feldes ausgegeben.

Beispiel für das Feld lastname

$errorClass['lastname'] = 'errorField';
$errorPicture['lastname] = '<img src="achtung_klein.gif">&nbsp;';

Wie Sie sehen, war die Fehleranalyse bisher ein Kinderspiel. Ich kann Sie beruhigen, viel mehr müssen wir auch nicht mehr machen. Die Zeilen (38-44) werden erst einmal nicht ausgeführt, da dieser Bereich erst beim Neuladen, also nach dem Speichern der Daten, greift.

Sobald alle Daten gespeichert wurden, wird die Seite neu geladen (62) und übergibt per GET den Wert "TRUE". Somit können wir jetzt auch unsere Tabelle mit dem Hinweistext anzeigen, dass alles gespeichert wurde. Diese Variante des Neuladens hat einen zusätzlichen Vorteil. Bei einem Reload der Seite würden nicht noch einmal die gleichen Seiten per POST gesendet.

Sollte es aber zu einem Fehler gekommen sein, und unser Array mit den Pflichtfeldern wurde gefüllt, so greift hier die zusätzliche Ausgabe (48-54), die dann eine Tabelle mit einem Hinweisbild und einem Fehlertext anzeigt.

Unsere Fehleranalyse ist somit abgeschlossen, alle Variablen gefüllt und zur Ausgabe bereit. Weiter unten in der HTML-Seite werden diese Variablen bzw. unser Fehler-Array ausgegeben.

003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062: 		$script = 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"];

$errorFields = array('firstname',
                     'telefone',
                     'lastname',
                     'email',
                     'street',
                     'plz',
                     'city',
                     'gender'
               );

for($x=0;$x<count($errorFields);$x++)
{
    $errorClass[$errorFields[$x]] = 'inputField';
}

if(isset($_POST['submit']))
{

    $error = FALSE;
    foreach($errorFields as $key => $value)
    {

        if(empty($_POST[$errorFields[$key]]))
        {
            $error = TRUE;
            $errorClass[$value] = 'errorField';
            $errorPicture[$value] = '<img src="achtung_klein.gif">&nbsp;';
        }

    }

}

if($_GET['check'] == "TRUE")
{
    $errorMessage = '<table width="100%" class="errorTable"><tr><td><b>
                    Ihre Bestellung war erfolgreich!</b><br><br>
                    Vielen Dank für Ihre Bestellung des Jahresabos.
                    Ihre Daten wurden weitergeleitet.</td></tr></table><br>';
}

if(isset($_POST['submit'])){

    if($error == TRUE)
    {
        $errorMessage = '<table width="100%" class="errorTable"><tr><td>
                    <img src="achtung_gross.gif"></td><td><b>Achtung!</b><br>
                    Es ist zu einem Fehler gekommen. Bitte füllen Sie alle
                    farblich markierten Pflichtfelder aus.</td></tr></table><br>';
    }
    else
    {

        // Alles ist in Ordnung
        // Daten können gespeichert werden

        // Seite neu laden und Hinweis anzeigen
        header("Location: $script?check=TRUE");

Beispiel 3.1: form.php

Die nachfolgenden CSSDefinitionen sollten selbsterklärend sein und können nach Ihrem Belieben angepasst und erweitert werden. Die drei wichtigsten Bereiche in dieser Datei sind:
  • inputField Die Definition der Formularelemente im Grundzustand
  • errorField Die Definition der Formularelemente im Fehlerfall
  • errorTable Zur Anzeige des Hinweistextes - einmal im Fehlerfall und das andere Mal bei erfolgreichem Speichern der Daten

Inhalt der Datei formStyle.css

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
         body{
    font-family:                Verdana,Arial,sans-serif;
    FONT-SIZE: 9px;
    background-color:             #ffffff;
}

.table {
    font-family:                Verdana,Arial,sans-serif;
    FONT-SIZE: 9px;
    background-color:             #ffffff;
}

.inputField
{
    BORDER-RIGHT: #7f7f7f 1px solid;
    BORDER-TOP: #7f7f7f 1px solid;
    BORDER-LEFT: #7f7f7f 1px solid;
    BORDER-BOTTOM: #7f7f7f 1px solid;
    FONT-SIZE: 9px;
    WIDTH: 100px;
}

.errorField
{
    BORDER-RIGHT: #9F0004 1px solid;
    BORDER-TOP: #9F0004 1px solid;
    BORDER-LEFT: #9F0004 1px solid;
    BORDER-BOTTOM: #9F0004 1px solid;
    FONT-SIZE: 9px;
    WIDTH: 100px;
    background-color: #FFFFCC;
}
.errorTable
{
    BORDER-RIGHT: #9F0004 1px solid;
    BORDER-TOP: #9F0004 1px solid;
    BORDER-LEFT: #9F0004 1px solid;
    BORDER-BOTTOM: #9F0004 1px solid;
    FONT-SIZE: 9px;
    background-color: #E2E1E1;
}
.headlineweiss
{
    background-color: #9F0004;
    color: #FFFFFF;
}
.Jahresabo
{
    FONT-SIZE: 14px;
    font-weight:bold;
}

.button
{
    FONT-SIZE: 10px;
    BORDER-RIGHT: #000000 1px solid;
    BORDER-TOP: #000000 1px solid;
    BORDER-LEFT: #000000 1px solid;
    BORDER-BOTTOM: #000000 1px solid
}
Beispiel 3.2: formStyle.css

Das nachfolgende Formular sollte ebenfalls selbsterklärend sein. Es gibt hier nichts Besonderes zu beachten. Sie können das Formular wiederum nach Ihren Wünschen anpassen und erweitern.

Die Tabelle (93) für den Hinweistext steht bereits in einer Variablen bereit und kann dann an dieser Stelle (93) ausgegeben werden. Weiterhin wird bei jedem Formularelement der entsprechende Wert gesetzt: zum einen die CSS-Definition und zum anderen das eventuelle Hinweisbild.
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115
:
116:
117:

118:
119:
120:
121:
122:
123:

124:
125:
126:
127:
128:
129:
130:
131:
132:

133:
134:

135:
136:
137:
138:

139:
140:

141:
142:
143:
144:

145:
146:

147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
         </head>

<body>
<FORM action="<?PHP echo $script; ?>" method=post>

<TABLE width="420" border=0 align="center" cellPadding=0 cellSpacing=0>
    <TR>
      <TD bgcolor="#000000" ><IMG height=1 src="transparent.gif" width=1></TD>
    </TR>
    <TR>
        <TD height=2></TD>
    </TR>
    <TR>
        <TD height=18 class=headlineweiss>
            <div align="center"><strong>SELFPHP - Die PHP Kochzeitung</strong></div>
        </TD>
    </TR>
</table>

<!-- Formular Anfang -->
<TABLE width="420" align="center" border="0"  class="table">
    <TR>
        <TD colSpan=4>
            <div align="justify"><br>
                Ja, senden Sie mir monatlich die erscheinende Online-Fachzeitung
                SELFPHP - DIE PHP KOCHZEITUNG ab der n&auml;chsterreichbaren Ausgabe
                kostenlos an meine Emailadresse. Ich habe jederzeit die M&ouml;glichkeit
                die kostenlose Online-Fachzeitung wieder abzubestellen. Hierfür gen&uuml;gt
                eine formlose K&uuml;ndigung per Email an die Adresse zeitung@selfphp.de<br><br></div>
        </TD>
    </TR>
    <TR>
        <TD colSpan=4><?PHP echo $errorMessage; ?></TD>
    </TR>
    <TR>
        <TD align=center colSpan=4></TD>
    </TR>
    <TR>
        <TH align=left>Firma:</TH>
            <TD><INPUT class="inputField" size="60" name="company"
                        value="<?PHP echo $_POST['company']; ?>"></TD>
        <TH align=left>Abteilung:</TH>
            <TD><INPUT class="inputField" size="60" name="company2"
                         value="<?PHP echo $_POST['company2']; ?>"></TD>
    </TR>
    <TR>
        <TH align=left><?PHP echo $errorPicture['gender']; ?>Anrede:</TH>
            <TD colSpan=3>
                <SELECT size="1" name="gender" class="<?PHP echo $errorClass['gender']; ?>">
                <OPTION value="" <?PHP if(empty($_POST['gender'])) echo 'selected'; ?>
                        >Bitte ausw&auml;hlen</OPTION>
                <OPTION value="3" <?PHP if($_POST['gender'] == "3") echo 'selected'; ?>>Firma</OPTION>
                <OPTION value="2" <?PHP if($_POST['gender'] == "2") echo 'selected'; ?>>Frau</OPTION>
                <OPTION value="1" <?PHP if($_POST['gender'] == "1") echo 'selected'; ?>>Herr</OPTION>
        </SELECT>
            </TD>
    </TR>
    <TR>
        <TH align=left><?PHP echo $errorPicture['firstname']; ?>Vorname:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['firstname']; ?>" name="firstname"
                        value="<?PHP echo $_POST['firstname']; ?>"></TD>
        <TH align=left><?PHP echo $errorPicture['lastname']; ?>Nachname:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['lastname']; ?>" name="lastname"
                         value="<?PHP echo $_POST['lastname']; ?>"></TD>
    </TR>
    <TR>
        <TH align=left><?PHP echo $errorPicture['telefone']; ?>Telefon:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['telefone']; ?>" name="telefone"
                         value="<?PHP echo $_POST['telefone']; ?>"></TD>
        <TH align=left>Fax:</TH>
            <TD><INPUT class="inputField" name="faximile"
                         value="<?PHP echo $_POST['faximile']; ?>"></TD>
    </TR>
    <TR>
        <TH align=left>Mobil:</TH>
            <TD><INPUT class="inputField" name="mobilephone"
                        value="<?PHP echo $_POST['mobilephone']; ?>"></TD>
        <TH align=left><?PHP echo $errorPicture['email']; ?>Email:*</TH>
            <TD><INPUT class="<?PHP echo $errorClass['email']; ?>" name="email"
                        value="<?PHP echo $_POST['email']; ?>"></TD>
    </TR>
    <TR>
        <TD align=center colSpan=4><HR></TD>
    </TR>
    <TR>
        <TD align=right colSpan=4>
            <INPUT name="submit" type="submit" value="Absenden" class="button">
        </TD>
    </TR>
</TABLE>
Beispiel 3.3: form.php


Mehrfaches Absenden eines Formulars verhindern

Letztes Update: 19.08.2006 20:05:21

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mehrfaches Absenden eines Formulars verhindern

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5
  • MySQL

Datei(en)

formSend.php, formSend.sql

Problem

Wer kennt das leidige Thema nicht: Ein Besucher hat ein Formular ausgefüllt und drückt dann versehentlich zweimal hintereinander auf den Senden-Button. Oft passiert es auch, dass der Besucher nach dem Senden die Seite aktualisiert oder eine Seite zurückgeht und somit das Formular eventuell neu versendet. In der Datenbank finden sich dann mehrere gleiche Einträge, die da nicht hingehören und ausgefiltert werden müssen. Das ist nicht nur zeitaufwändig, sondern auch ärgerlich. Wir müssen also eine Lösung finden, die dieses unterbindet.

Lösung

Die Lösung hierfür ist relativ simpel und schnell programmiert. Alles, was wir benötigen, sind ein zusätzliches Feld in unserer Datenbank und eine eindeutige Kennung. Anhand dieser Kennung können wir dann in der Datenbank nachschauen, ob dieses Formular bereits gesendet wurde oder nicht. Vor jedem neuen Aufruf des Formulars wird eine derartige Kennung erzeugt und jeweils mit dem Datensatz des Formulars in die Datenbank gespeichert.

Wir überprüfen (3) bei jedem Aufruf der Seite, ob die übermittelte Variable "checkID" leer oder nicht existent ist. Sollte das der Fall sein, erstellen wir anhand der aktuellen Zeit in Sekunden und Mikrosekunden eine MD5-Prüfsumme (5) und speichern diese in die POST-Variable.

Wurde eine Prüfsumme übermittelt, also das Formular abgesendet, so überprüfen wir im ersten Schritt, ob es sich um eine gültige Prüfsumme handelt (10). Unsere Prüfsumme muss aus 32 Zeichen bestehen und darf nur Zahlen und Buchstaben enthalten.

Handelt es sich um keine gültige Prüfsumme, brechen wir den Vorgang ab (37) und geben eine Fehlermeldung aus (39). Handelt es sich bei der Variablen um eine gültige Prüfsumme, können wir den weiteren Test einleiten. Dafür stellen wir mit unseren DatenbankZugangsdaten (12-15) eine Verbindung zum MySQLServer her (17-18).

Der nächste Schritt ist die eigentliche Überprüfung der Prüfsumme (20). Wir fragen innerhalb der Datenbank nach, ob bereits eine identische Prüfsumme vorliegt. Falls ja, so liefert uns die MySQL-Anfrage genau einen Treffer (22), da die Spalte für die Prüfsummen in der Datenbank auf UNIQUE gesetzt ist und somit nur eindeutige Prüfsummen enthalten sein können.

Lieferte die Anfrage keinen Eintrag zurück (26), können wir sicher sein, dass das Formular nur einmal gesendet wurde. Wir speichern (28) die Daten aus dem Formular und überprüfen (30), ob sie korrekt gespeichert wurden.

Je nachdem, ob es zu einem Fehler kam oder nicht, wird ein entsprechender Hinweistext ausgegeben. Sollte der Besucher versehentlich das Formular zweimal gesendet haben, wird dieser Datensatz nicht gespeichert. Die eindeutigen Prüfsummen in der Datenbank verhindern dies.

Sie können davon ausgehen, dass die Prüfsummen einmalig sind, da sie aus der aktuellen Zeit in Sekunden und Mikrosekunden erstellt wurden. Diese gleiche Zeit wird es in der Zukunft nicht mehr geben und daher auch nicht die Prüfsumme. Die Wahrscheinlichkeit, dass zwei Personen zur gleichen Zeit (Sekunde und Microsekunde) das Formular aufrufen, ist ebenfalls verschwindend gering und kann vernachlässigt werden.

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:

18:

19:
20:

21:
22:
23:
24:
25:
26:
27:
28:

29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42: 		<?PHP

if(empty($_POST['checkID']))
{
    $_POST['checkID'] = md5(microtime());
}
else
{

    if(preg_match('/^[a-f0-9]{32}$/',$_POST['checkID']))
    {
        $db_host = "localhost";         // MySQL Hostname
        $db_name = "db1042434-test";         // MySQL Datenbankname
        $db_user = "dbu1042434";         // MySQL Benutzername
        $db_pass = "up24TzF";             // MySQL Passwort

        $dbCon = @MYSQL_CONNECT($db_host,$db_user,$db_pass)
                or die("Datenbank momentan nicht erreichbar");
        $db_check = @MYSQL_SELECT_DB($db_name)
                or die("Datenbank momentan nicht erreichbar");

        $sqlCheck = @mysql_query("SELECT id FROM formSend WHERE
                checkID = '".$_POST['checkID']."'");

        if(@mysql_num_rows($sqlCheck) == 1)
        {
            $message = 'Ihre Daten wurden bereits gespeichert!';
        }
        else
        {
            $sqlInsert = @mysql_query("INSERT INTO formSend (vorname,
                   name, checkID) VALUES ('".$_POST['vorname']."','".
                   $_POST['name']."','".$_POST['checkID']."')");

            if(@mysql_affected_rows() == 1)
                $message = 'Ihre Daten wurden gespeichert!';
            else
                $message = 'Ihre Daten konnten nicht gespeichert werden!';
        }

    }
    else
    {
        $message = 'Checksumme wurde manipuliert oder ist fehlerhaft!';
    }
}
?>

Beispiel 3.4: formSend.php

Der nachfolgende HTML-Quellcode sollte selbsterklärend sein. Allerdings sollten Sie sich die Speicherung (65) des hiddenFields und die Fehlermeldung (51) anschauen. Die Fehlermeldung müssen Sie nicht in Ihr Formular einbauen, das ist Ihnen überlassen. Sie müssen allerdings unbedingt das hiddenField mit der Check-Summe in Ihrem Formular verwenden, da sonst der Schutz nicht greift.

HTML-Quellcode

43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:

58:
59:
60:
61:
62:

63:
64:
65:

66:
67:
68:
69:
70:

71:
72:
73:
74:
75:
         <html>
<head>
<title>Mehrfaches Absenden eines Formulars verhindern</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="formStyle.css" rel="stylesheet" type="text/css">
</head>

<body>
<span class="table"><?PHP echo $message; ?></span>
<form name="form1" method="post" action="formSend.php">
<table width="100%" border="0" cellspacing="0" class="table">
  <tr>
    <td width="7%">Vorname</td>
    <td width="93%">
      <input name="vorname" type="text" class="inputField"
            value="<?PHP echo $_POST['vorname']; ?>">
    </td>
  </tr>
  <tr>
    <td>Name</td>
    <td><input name="name" type="text" class="inputField"
             value="<?PHP echo $_POST['name']; ?>"></td>
  </tr>
  <tr>
    <td><input name="checkID" type="hidden"
            value="<?PHP echo $_POST['checkID']; ?>"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input name="Submit" type="submit" class="button"
            value="Abschicken"></td>
  </tr>
</table>
</form>
</body>
</html>
Beispiel 3.5: formSend.php

Nachfolgend sehen Sie die Ausgabe im Browser. Selbstverständlich können uns sollten Sie die Fehlermeldung an Ihre Bedürfnisse anpassen, zumal in diesem Beispielskript keine Überprüfung der Variablen für Vorname und Name durchgeführt wurde.

Im vorherigen Kapitel wurde bereits gezeigt, wie Sie Ihre Fehlermeldung generieren können. Eine Kombination mit diesem Programm wäre wünschenswert und anzuraten. Sie werden es selbst sicher zu schätzen wissen, denn nicht nur die Fehlermeldungen sind aussagekräftig, sondern auch die Dubletten in der Datenbank gehören danach der Vergangenheit an.

Abbildung 3.3: Ausgabe im Browser


Captcha - Der Unterschied zwischen Mensch und Maschine

Letztes Update: 19.08.2006 20:09:08

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Captcha - Der Unterschied zwischen Mensch und Maschine

Systemvoraussetzung
  • Linux
  • Windows
  • PHP 4 >= 4.0.0RC2
  • PHP 5
  • GDBibliothek (> gd1.6)
  • FreeTypeBibliothek

Datei(en)

captcha.php, captcha_check.php, captcha_demo.php

Problem

Sie haben ein Webformular und wollen sicher sein, dass dieses Formular wirklich von einem Menschen ausgefüllt wurde und nicht etwa durch ein Skript auf einem anderen Server. Dieses Szenario kommt häufiger vor, als Sie denken. Gerade im Bereich Gewinnspiele wird diese Variante immer wieder gerne ausgenutzt.

Ein Mitglied bezahlt z. B. 15 Euro im Monat und wird dafür automatisch, also mithilfe eines Skripts, in mehreren 1000 Gewinnspielen eingetragen. Dieses Mitglied war nie auf einer der betreffenden Seiten und ist nicht an den Produkten auf dieser Seite interessiert - es will nur einen Gewinn "abstauben". Verlierer sind dann die ehrlichen Mitspieler, die das Formular wirklich selbst ausgefüllt haben. Sie können den Eintragungsdiensten aber mit ein wenig Aufwand entgegenwirken.

Im Kapitel CURL werden Sie später ein Programm sehen, das genau diese Aufgabe erledigt, also sich auf einer fremden Seite einträgt, ohne dass Sie dafür etwas machen müssen. Wir zeigen Ihnen dieses Programm nur, damit Sie Ihre Formulare besser schützen können.

Lösung

Das Zauberwort für das Problem der Eintragungsdienste heißt Captcha (Completely Automated Public TuringTest to Tell Computers and Humans Apart). Dabei geht es darum, eine Aufgabe zu stellen, die es zu lösen gilt. Die Aufgabe sollte so schwer sein, dass Sie ein Computer (z. B. ein Bot) nur schwer, ein Mensch dagegen leicht lösen kann.

Nachfolgend stellen wir einen solchen Captcha vor. Im Buch sehen Sie bei den Beispielen nur die Graustufen - tatsächlich aber erzeugt der hier vorgestellte Programmcode Bilder mit Farbverläufen und jeweils unterschiedlichen Farben für jeden Buchstaben.

Der Mensch wird aufgefordert, die nachfolgenden Buchstaben und Zahlen in ein Textfeld einzugeben. Nach dem Senden des Formulars wird dann geprüft, ob das Captcha einwandfrei gelöst wurde.

Diese Aufgabe ist relativ leicht, denn der Mensch muss nur die Buchstaben in der richtigen Reihenfolge in das Textfeld schreiben. In der Regel unterscheidet man dabei nicht zwischen Groß- und Kleinschreibung, da dieser Unterschied nicht immer sofort ersichtlich ist. Sie sehen an dem "S" im Bild, das man nicht mit hundertprozentiger Sicherheit sagen kann, ob es sich um einen Groß- oder Kleinbuchstaben handelt.

Weiterhin sollte man nicht alle Buchstaben und Zahlen für einen Captcha heranziehen - auch dort besteht Verwechslungsgefahr. Folgende Buchstaben und Zahlen sollten ausgeschlossen werden.

  • L und l das kleine und große L
  • I und i das kleine und große I
  • O und o das kleine und große O
  • 1 Die Zahl eins
  • 0 Die Zahl null

Eine weitere Möglichkeit ist auch die nachfolgende Variante. Dabei muss der Mensch die folgende leichte Rechenaufgabe lösen.

Die Aufgabe sollte für einen Menschen leicht sein. Die Lösung kann also in diesem Fall nur 27 sein. Sie könnten die Aufgabe auch noch erschweren und Ihren Captcha mit mehreren Möglichkeiten ausstatten.

  • Addition
  • Subtraktion
  • Multiplikation
  • Division

Wenn Sie diese Möglichkeiten mischen, erschweren Sie die Aufgabe. Bitte denken Sie aber daran, dass die Aufgabe nicht zu schwer wird. Es ist nicht sinnvoll, wenn Ihre Besucher frustriert das Formular nicht ausfüllen, weil sie die Aufgaben nicht lösen können.

Eines sollten Sie berücksichtigen! Menschen mit einer Sehstörung werden Sie bei dieser Variante ausschließen, sie benötigen einen Captcha, der z. B. einen Text aufsagt. Dieser gesprochene Text muss dann in ein Formularfeld eingegeben werden.

Wir wollen uns nun dem Programmcode widmen und schauen uns erst einmal die Funktionen an, die für den Aufbau des CaptchaBildes verantwortlich ist.

function MakeAlphabet()
@return array $alphabet

Die Funktion MakeAlphabet() soll uns ein Array erzeugen, in dem Klein, Großbuchstaben und Zahlen enthalten sind. Allerdings wollen wir wegen der Verwechslungsgefahr nicht alle Buchstaben und Zahlen haben. Daher greifen wir auf die asciiTabelle zu und lassen zuerst alle Großbuchstaben in das Array schreiben (45). Die Großbuchstaben in der asciiTabelle befinden sich an der Position 6590. Da wir das I, das L und das O ausschließen wollen, berücksichtigen wir das mit einer Abfrage (44).

Im nächsten Schritt erstellen wir die Kleinbuchstaben. In der asciiTabelle finden wir diese Buchstaben an der Stelle 97122. Auch hier schließen wir das i, das l und das o mit einer IFAbfrage aus (50) und speichern die restlichen Buchstaben in unser Array (51).

Zum Schluss müssen wir nur noch die Zahlen speichern. In der asciiTabelle finden wir die Zahlen an der Position 4857. Wegen der Verwechslungsgefahr schließen wir hier die 1 und die 0 aus (56) und speichern die restlichen Zahlen in unser Array (57).

Momentan befinden sich alle Buchstaben und Zahlen noch geordnet in dem Array. Später werden wir das Array durchmischen, sodass wir willkürliche Ausgaben erzeugen können.

Sie hätten die geraden erzeugten Buchstaben und Zahlen auch mit range() erzeugen können, ich finde die beschriebene Variante allerdings besser, da Sie hier gezielter Einfluss auf die Ausgabe haben. Dennoch möchte ich Ihnen die AlternativVariante mit range nicht vorenthalten.

  • $grossbuchstaben = range('A','Z');
  • $kleinbuchstaben = range('a','z');
  • $zahlen = range(0,9);

Als Rückgabewert liefert die Funktion MakeAlphabet() ein Array mit allen Buchstaben und Zahlen.

041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
         function MakeAlphabet(){
    // Grossbuchstaben erzeugen
    for ($x = 65; $x <= 90; $x++) {
      if($x != 73 && $x != 76 && $x != 79)
          $alphabet[] = chr($x);
    }

    // Kleinbuchstaben erzeugen
    for ($x = 97; $x <= 122; $x++) {
       if($x != 105 && $x != 108 && $x != 111)
           $alphabet[] = chr($x);
    }

    // Zahlen erzeugen
    for ($x = 48; $x <= 57; $x++) {
    if($x != 48 && $x != 49)
        $alphabet[] = chr($x);
    }

    return $alphabet;
}
Beispiel 3.6: captcha.php

function makeBorder($imgWidth,$imgHeight,$im,$color)
@param integer $imgWidth
@param integer $imgHeight
@param resource $im
@param array $color
@return void

Die Funktion makeBorder() setzt lediglich einen Außenrahmen um unser CaptchaBild. Als Parameter erwartet die Funktion die Bildbreite ($imgWidth), die Bildhöhe ($imgHeight), den Zeiger auf das Bild ($im) sowie die Farbe im RGBModus ($color).

Wir definieren als Erstes die Farbe und fangen danach an zu zeichnen. Dabei geben wir die Werte immer als X/YKoordinaten an. Der waagrechte Strich oben beginnt bei den Koordinaten 0/0 und endet bei Bildbreite/0 (74). Der untere Strich beginnt bei den Koordinaten 0/Bildhöhe1 (wichtig ist hier, die 1 abzuziehen, da man sonst die Linie nicht sehen würde) und Bildbreite/Bildhöhe1 (75).

Der linke senkrechte Strich beginnt bei den Koordinaten 0/0 und endet bei 0/Bildhöhe (76). Der rechte senkrechte Strich beginnt bei den Koordinaten Bildbreite1/ 0 und endet bei Bildbreite1/ Bildhöhe (77).

Damit haben wir erfolgreich einen Rahmen um die Grafik gezogen. Damit der Rahmen nachher wirklich vollkommen ist und nicht von Buchstaben oder Zahlen überlagert wird, rufen wir diese Funktion erst zum Schluss auf.

073:
074:
075:
076:
077:
078
         function makeBorder($imgWidth,$imgHeight,$im,$color){
    imageline($im,0,0,$imgWidth,0,$color);
    imageline($im,0,$imgHeight-1,$imgWidth,$imgHeight-1,$color);
    imageline($im,0,0,0,$imgHeight,$color);
    imageline($im,$imgWidth-1,0,$imgWidth-1,$imgHeight,$color);
}
Beispiel 3.7: captcha.php

function makeGradient($fromRGB,$toRGB,$imgHeight)
@param array $fromRGB
@param array $toRGB
@param integer $imgHeight
@return array $color

Die Funktion makeGradient() sorgt für den Farbverlauf im CaptchaBild. Diese Funktion muss als Erstes aufgerufen werden, da die Buchstaben, Zahlen und der Außenrahmen auf ihr platziert werden sollen. Sie müssen sich die Grafikerstellung wie Ebenen vorstellen, also von hinten nach vorne denken.

Die Funktion erwartet als Parameter den RGBWert für den Start des Farbverlaufs ($fromRGB), den RGBWert für das Ende des Farbverlaufs ($toRGB) und als letzten Parameter die Bildhöhe ($imgHeight). Der Farbverlauf beginnt im oberen Teil des Bildes und verläuft dann nach unten.

Für den Farbverlauf müssen wir im Vorfeld einige Berechnungen durchführen. Damit Sie diese Berechnungen an einem Beispiel nachvollziehen können, sehen Sie nachfolgend, mit welchen Parametern die Funktion aufgerufen wurde.

132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
160:
161:
         $imgHeight = 80;//80

// Farbverlauf RGB-Wert Start und RGB-Wert Ende
$fromRGB = array(
    253,
    214,
    0
);
$toRGB = array(
    215,
    81,
    6
);
// Erstellt den Farbverlauf
$colorRGB = makeGradient($fromRGB,$toRGB,$imgHeight);
Beispiel 3.8: captcha.php
Beispiel 3.9: captcha.php

Zuerst berechnen wir die Differenz der einzelnen RGBWerte von $fromRGB und $toRGB. Diese Differenz benötigen wir später für die Schrittbereiche der einzelnen Farblinien.

$diffR = 253 - 215 = 38
$diffG = 214 - 81 = 133
$diffB = 0 - 6 = 6

Diese Differenzbeträge dividieren wir im nächsten Schritt durch die Höhe des Bildes und erhalten dann die tatsächlichen Schrittbereiche.

$maxR = 38 / 80 = 0.475
$maxG = 133 / 80 = 1.6625
$maxB = 6 / 80 = 0.075

Somit ergeben sich z. B. für die Farbe Rot folgende Schrittwerte. Diese Schrittwerte werden nachher in der FORSchleife (103110) berechnet. Wir zeigen Ihnen hier nicht alle 80 Schritte, sondern nur einen Auszug:

253 , 252.525 , 252.05 , 251.575 . . . 215

Diese Schritte bestimmen wir für alle drei Farbwerte, also Rot, Grün und Blau. Wir speichern (99-101) diese Werte in einer Variablen zwischen, um die einzelnen Schrittwerte nachher innerhalb der FOR-Schleife addieren zu können.

Im letzten Schritt erstellen wir ein Array mit den einzelnen RGBWerten für den Verlauf. Da unsere Höhe hier 80 Pixel ist, müssen wir auch unsere Schleife (103) 80mal durchlaufen. Für jede Zeile (das Bild besteht aus 80 Zeilen) müssen wir jetzt den Wert, also R (104), G (105) und B (106) berechnen. Die einzelnen RGBWerte dürfen nur positiv sein, daher formatieren wir die Werte mit abs() in positive Werte um.

Wichtig ist, dass wir bei jedem Durchlauf den Schrittwert erhöhen. Für die Farbe Rot haben wir einen Schrittwert von 0.475. Somit ergibt sich beim zweiten Durchlauf ein Wert von 0.95, beim dritten Durchlauf ein Wert von 1.425 usw.

Diesen Wert ziehen wir dann jeweils von unserem Grundwert (im Beispiel Rot: 253) ab. Diese Berechnungen müssen wir für alle drei Farben machen und erhalten dann ein Array mit allen RGBWerten für die jeweiligen Zeilen.

089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
function makeGradient($fromRGB,$toRGB,$imgHeight){

    $diffR = ($fromRGB[0]-$toRGB[0]); //38
    $diffG = ($fromRGB[1]-$toRGB[1]); //133
    $diffB = ($fromRGB[2]-$toRGB[2]); // -6

    $maxR = $diffR / $imgHeight; // 0.475
    $maxG = $diffG / $imgHeight; // 1,66
    $maxB = $diffB / $imgHeight; // 0.075

    $maxNR = $maxR;
    $maxNG = $maxG;
    $maxNB = $maxB;

    for($x=0;$x<$imgHeight;$x++){
        $color['r'][$x] = abs($fromRGB[0] - $maxR);
        $color['g'][$x] = abs($fromRGB[1] - $maxG);
        $color['b'][$x] = abs($fromRGB[2] - $maxB);
        $maxR += $maxNR;
        $maxG += $maxNG;
        $maxB += $maxNB;
    }

    return $color;

}
Beispiel 3.10: captcha.php

Wir haben nun alle notwendigen Funktionen erklärt. Jetzt müssen wir den Programmcode für die einzelnen Funktionen erläutern. Wie bei fast jedem Programm kommt auch dieses nicht ohne ein paar Konfigurationselemente aus.

Die Konfigurationsparameter bestehen aus dem Pfad (119) zu der TrueTypeSchrift (geben Sie hier den absoluten Pfad an, da die Schrift sonst eventuell nicht eingebunden werden kann), der Schriftgröße (128), der Bildbreite (131) und der Bildhöhe (132).

Weiterhin müssen Sie in einem Array (135) den RGBWert für den Farbverlauf angeben. Dabei handelt es sich um den Startwert. Den RGBWert für den Endwert müssen Sie ebenfalls in einem Array (140) definieren. Als letzten Parameter müssen Sie noch eine Borderfarbe (147) für Ihr CaptchaBild angeben, diese selbstverständlich auch als RGBWert.

Sehr wichtig ist die Variable $captchaDir (125)! Sie sollten hier ein Verzeichnis angeben, in dem die CaptchaDateien gespeichert werden. Vergewissern Sie sich, dass dieses Verzeichnis Schreibrechte besitzt und Sie in dieses Verzeichnis auch schreiben dürfen. Anhand der darin liegenden CaptchaDateien wird auch nachher geprüft, ob das Captcha gelöst wurde. Bei jedem Aufruf dieses Programms wird eine CaptchaDatei nach folgendem Muster gebildet.

116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
// TTF-Schrift
// Sie sollten hier unbedingt den absoluten Pfad angeben, da ansonsten
// eventuell die TTF-Datei nicht eingebunden werden kann!
$fileTTF =  '/homepages/29/d151852282/htdocs/kochbuch/bddavinc.ttf';

// Verzeichnis für die Captcha-Bilder (muss Schreibrechte besitzen!)
// Ausserdem sollten in diesem Ordner nur die Bilder gespeichert werden
// da das Programm in regelmaessigen Abstaenden dieses leert!
// Kein abschliessenden Slash benutzen!
$captchaDir = 'captchadir';

// Schriftgröße
$size = 30;

//Bildgroesse
$imgWidth = 220;//200
$imgHeight = 80;//80

// Farbverlauf RGB-Wert Start und RGB-Wert Ende
$fromRGB = array(
    253,
    214,
    0
);
$toRGB = array(
    215,
    81,
    6
);

// Randfarbe
$colorBorder = array(
    154,
    53,
    2
);
Beispiel 3.11: captcha.php

Sämtliche Parameter haben wir gesetzt. Nun können wir den Programmcode näher unter die Lupe nehmen. Zuerst definieren wir einen Header (1), der für die Auslieferung unseres PNGBild zuständig ist. Die Datei für den Aufbau des CaptchaBilds wird nicht direkt inkludiert, sondern über ein ImageTag angesprochen.

01: <img src="captcha.php?codeCaptcha=<?php echo $codeCaptcha; ?>">

Wir müssen im nächsten Schritt eine Arbeitsfläche (ein neues Bild) erzeugen (232), auf der wir nachher die einzelnen Ebenen platzieren. Sollte die Initialisierung fehlschlagen, wird eine Fehlermeldung zurückgegeben. Im Erfolgsfall erhalten wir einen Zeiger auf das neue Bild.

Diesen Zeiger müssen wir jetzt bei allen Bildmanipulationen mit angeben, da ansonsten die Aktion nicht ausgeführt wird. Mit den Werten aus unserem Array für die Borderfarbe erzeugen wir (235) eine Farb-ID, die wir später an unsere Funktion makeBorder($imgWidth,$imgHeight,$im,$colorB) übergeben müssen. Anhand dieser Farb-ID wird der Rahmen um das Bild gezogen.

Wie erwähnt, sollten Sie sich jede Aktion als Ebene vorstellen. Wir müssen also zunächst den Farbverlauf erzeugen, da über diesen die Buchstaben und Zahlen sowie der Rahmen gelegt werden sollen. Wir rufen daher unsere Funktion makeGradient() (238) auf und erhalten als Rückgabewert ein Array mit allen Farbwerten für jede Zeile (hier im Beispiel hat das Bild 80 Zeilen).

Wir durchlaufen (240) jetzt 80-mal die FOR-Schleife und zeichnen dabei immer eine Linie. Die einzelnen Farbwerte liegen sortiert in unserem Array (241243), sodass wir die jeweiligen RGB-Werte in eine Variable überführen können.

Anhand dieser Werte erzeugen wir wieder eine FarbID (244) für die zu zeichnende Linie (245). Sie erinnern sich sicherlich noch an die X/Y-Koordinaten. Die XKoordinate wird durch die FOR-Schleife immer um eins erhöht, somit füllen sich nach und nach die Linien. Die Breite ist fest und muss daher nicht weiter berücksichtigt werden.

Wenn Sie vorhaben, den Farbverlauf nicht von oben nach unten, sondern von links nach rechts zu zeichnen, ist auch das auch kein Problem. In diesem Fall müssen Sie lediglich die X/Y-Koordinaten anders bestimmen und die FOR-Schleife durch die Breitenangabe laufen lassen.

230:
231:
232:

233:
234:
235:

236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246: 		header("Content-type: image/png");

$im = @imagecreate($imgWidth, $imgHeight)
  or die("GD! Initialisierung fehlgeschlagen");

// Definiert die Farbe für den Border
$colorB = imagecolorallocate($im,$colorBorder[0],$colorBorder[1],
$colorBorder[2]);

// Erstellt den Farbverlauf
$colorRGB = makeGradient($fromRGB,$toRGB,$imgHeight);

for($x=0;$x<$imgHeight;$x++){
    $r = $colorRGB['r'][$x];
    $g = $colorRGB['g'][$x];
    $b = $colorRGB['b'][$x];
    $color = imagecolorallocate($im,$r,$g,$b);
    imageline($im,0,$x,$imgWidth,$x,$color);
}
Beispiel 3.12: captcha_math.php

Wir haben nun den Farbverlauf erstellt und müssen im nächsten Schritt die einzelnen Buchstaben und Zahlen auf das Bild platzieren. Wir lassen uns zuerst durch die Funktion MakeAlphabet() ein Array (172) aus Buchstaben und Zahlen erzeugen.

Damit der Inhalt des Arrays nicht so ordentlich sortiert bleibt und wir willkürliche Ausgaben erhalten, würfeln wir mit shuffle() (175) durch unser Array.

Die Buchstaben sollen nicht alle die gleiche Farbe haben, sondern verschiedenfarbig sein. Der Farbrahmen für RGBWerte liegt zwischen 0255, und wir erstellen mit range() (177) aus diesem Bereich ein Array (177), das wir im Anschluss daran noch durchwürfeln (178).

Da wir sechs Buchstaben haben, benötigen wir auch sechs verschiedene Farb-IDs (180-187). Vermutlich fragen Sie sich jetzt, weshalb hier keine FORSchleife herangezogen wurde. Der Grund: Beim Testen mit einer FORSchleife kam es vor, dass die letzten FarbIDs nicht gesetzt wurden und daher die letzten 34 Buchstaben alle die gleiche Farbe hatten.

171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187: 		//Wortliste erstellen
$alphabet = MakeAlphabet();

// Array des Alphabets durchwürfeln
shuffle($alphabet);

$mix = range(0,255);
shuffle($mix);

$colors=array(
    imagecolorallocate($im,$mix[0],$mix[6],$mix[12]),
    imagecolorallocate($im,$mix[1],$mix[7],$mix[13]),
    imagecolorallocate($im,$mix[2],$mix[8],$mix[14]),
    imagecolorallocate($im,$mix[3],$mix[9],$mix[15]),
    imagecolorallocate($im,$mix[4],$mix[10],$mix[16]),
    imagecolorallocate($im,$mix[5],$mix[11],$mix[17])
);
Beispiel 3.13: captcha.php

Da nun alle Farben für die Buchstaben und Zahlen gesetzt sind, können wir die einzelnen Zeichen auf das Bild platzieren. Wir setzen für jeden Durchlauf (188) den Neigungswinkel (190) von einem Buchstaben oder einer Zahl, damit diese entweder nach links oder rechts geneigt sind.

Weiterhin wollen wir erreichen, dass die Buchstaben und Zahlen nicht in einer Reihe, sondern nach oben und unten versetzt dargestellt werden. Wir ermitteln also auch hier für jedes Element eine Zufallszahl zwischen der Schriftgröße und der Bildhöhe20.

Wir haben nun alle Informationen gesammelt und können den Buchstaben oder die Zahl zeichnen (192). Mit dem Zeiger ($im), dem Neigungswinkel ($angel), der XPosition (also wie viele Pixel von links $ next) und der YPosition (also wie viele Pixel von oben $ y) haben wir eine wesentliche Grundlage für die Positionierung.

Wir müssen noch die Farbe bestimmen ($colors), den Pfad zur TrueTypeDatei ($fileTTF) angeben und zum Schluss den jeweiligen Buchstaben oder die Zahl ($alphabet) auswählen. Alle Informationen sorgen dafür, dass das Bild mit den Informationen beschrieben wird. Beim nächsten Durchlauf müssen wir allerdings darauf achten, dass das neu zu schreibende Zeichen in seiner XPosition nach rechts verschoben wird (193).

Dies erledigen wir mit einer kleinen mathematischen Aufgabe und erhalten danach den neuen Punkt für das Zeichen. Zum Schluss einer jeden FORSchleife müssen wir den jeweiligen Buchstaben oder die Zahl an eine Variable anhängen (194) - aus dieser erstellen wir später die CaptchaDatei für die Überprüfung.

Sie können Ihr Captcha an dieser Stelle noch ein wenig komplizierter machen. Statt einer TrueTypeDatei könnten Sie hier wahllos mehrere zufällig auswählen. Somit erreichen Sie nochmals einen höheren Schutz. Speichern Sie dafür einfach sechs verschiedene Pfadangaben in ein Array und lassen dieses vor der FORSchleife durchwürfeln. Innerhalb der FORSchleife greifen Sie dann mit $x auf das jeweilige Element zu.

187:
188:
189:
190:
191:
192:

193:
194:
195:
196:
         // Zeichnet die Buchstaben und baut den Dateinamen auf
for($x=0;$x<6;$x++){

    $angel = rand(-25,25);
    $y = rand($size,$imgHeight-20);
    imagettftext($im, $size, $angel, $next, $y, $colors[$x],
         $fileTTF,$alphabet[$x]);
    $next += $size + ($imgWidth/$size);
    $fileName .= $alphabet[$x];

}
Beispiel 3.14: captcha.php

Wir sind jetzt fast am Ende und müssen nur noch ein paar Kleinigkeiten für das CaptchaBild erledigen. Wir rufen die Funktion makeBorder() (199) auf und lassen uns einen Rahmen um das Bild ziehen. Im nächsten Schritt überprüfen wir, ob die übermittelte HashSumme korrekt ist, also aus Buchstaben von a bis f und Zahlen von 0 bis 9 besteht.

Weiterhin muss die HashSumme 32 Zeichen lang sein. Sollte die Überprüfung (202) fehlschlagen, erstellen wir eine neue HashSumme (203). Das Captcha kann mit dieser HashSumme zwar nicht mehr gelöst werden, der Form halber erstellen wir diese aber.

Unser CaptchaBild ist jetzt fertig und muss nur noch in ein Verzeichnis gespeichert werden (206), da wir dieses Bild später für die Überprüfung benötigen. Den Dateinamen bilden wir aus der HashSumme und den sechs Buchstaben bzw. Zahlen. Als Dateiendung erhält das Bild die Endung .png. Wir können nun den Speicher für das Bild freigeben (208) und mit readfile() (211) das Bild letztendlich ausgeben.

198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211: 		// Border erstellen
makeBorder($imgWidth,$imgHeight,$im,$colorB);

// Uebermittelter Hash-Wert ueberpruefen
if(!preg_match('/^[a-f0-9]{32}$/',$_GET['codeCaptcha']))
    $_GET['codeCaptcha'] = md5(microtime());

// Image speichern
imagepng($im,$captchaDir.'/'.$_GET['codeCaptcha'].'_'.$fileName.'.png');

imagedestroy($im);

// Bild ausgeben
readfile($captchaDir.'/'.$_GET['codeCaptcha'].'_'.$fileName.'.png');
Beispiel 3.15: captcha.php

Unser CaptchaBild ist fertig! Jetzt müssen wir uns noch den Aufruf der CaptchaDatei in unserem Formular und die Überprüfung eines jeden Captchas anschauen. Wir beginnen zuerst mit dem Formular.

Wie Sie sehen, können Sie mit ein paar wenigen Handgriffen das Captcha einbauen und der Besucher wird mit Ihrem Formular arbeiten. Wenn das Formular aufgerufen wird, erstellen wir zuerst eine HashSumme aus der aktuellen Zeit (27). Um wirklich eine fast eindeutige HashSumme zu generieren, werden nicht nur die Sekunden, sondern auch die Mikrosekunden für die HashSumme herangezogen.

Die Wahrscheinlichkeit, dass zwei Menschen zur gleichen Zeit dieses Captcha starten, ist sehr gering. Sie müssten nicht nur in der gleichen Sekunde, sondern auch zur gleichen Microsekunde das Formular starten - ein 6er im Lotto ist da schon wahrscheinlicher.

Anhand der HashSumme und des CaptchaBilds erstellen wir den Dateinamen für das Bild. Wie Sie sehen, beginnt der Dateiname mit der HashSumme, gefolgt von einem Unterstrich und den sechs Buchstaben oder Zahlen, die in diesem Bild angezeigt werden.

4b73f3081a465c95bb4d59108dc43eca_dVeUXh.png

Wir müssen nun in unserem Formular das CaptchaBild anzeigen. Dafür nutzen wir einen ImageTag (28) und geben als Ziel (normalerweise steht hier ein Bildname) die CaptchaDatei an. Zusätzlich übermitteln wir die HashSumme, aus der dann der Dateiname gebildet wird.

Irgendwie muss noch die HashSumme beim Senden des Formulars übermittelt werden. Dafür benutzen wir ein hiddenField (30) - jetzt haben wir alles, was wir brauchen, und das Formular kann gesendet werden.

Nach dem Senden des Formulars wird zuerst überprüft, ob der Besucher das Formularfeld für die CaptchaPrüfung ausgefüllt hat (8). Falls ja, wird die Datei für die CaptchaÜberprüfung inkludiert (10) und das Captcha geprüft. Sie erhalten als Rückgabewert der Überprüfung in der Variable $resultCaptcha entweder "TRUE" oder "FALSE". TRUE heißt in diesem Fall, dass die Aufgabe gelöst wurde, FALSE hingegen besagt, dass die Aufgabe falsch war. 86 3 Formulare

Egal, ob die Aufgabe richtig oder falsch war, es wird auf jedem Fall ein neues CaptchaBild mit einer neuen HashSumme erstellt.

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:

31:
32:
33:
34:
35:
36: 		<html>
<head>
<title>Demonstration - Captcha</title>
</head>
<body>
        <!-- Captcha Check Begin -->
        <?php
        if(!empty($_POST['stringCaptcha']))
        {
            include_once('captcha_check.php');

            if($resultCaptcha)
            {
                // Alles OK, Daten koennen gespeichert werden
                echo 'Eingabe korrekt!';
            }
            else
            {
                // Captcha ist falsch - Fehler ausgeben
                echo 'Eingabe falsch';
            }
        }
        ?>
        <!-- Captcha Check End -->
    <form name="CaptchaForm" method="post" action="">
       <!-- Captcha Begin -->
       <?php $codeCaptcha = md5(microtime()); ?>
       <img src="captcha.php?codeCaptcha=<?php echo $codeCaptcha; ?>">
       <br>
       <input type="hidden" name="codeCaptcha" value="<?php echo
              $codeCaptcha; ?>">
       <input type="text" name="stringCaptcha">
       <!-- Captcha End -->
       <p><input type="submit" name="Submit" value="Wert prüfen"></p>
    </form>
</body>
</html>

Beispiel 3.16: captcha_demo.php

Sie sehen hier, wie Sie das Captcha z. B. in Ihr Formular einbinden können.

Wir müssen uns jetzt noch die Datei anschauen, die unsere CaptchaDatei überprüft. In dieser Datei müssen Sie ein paar Konfigurationsparameter anpassen. Sie müssen als Erstes das Verzeichnis angeben (82), in dem Ihre CaptchaBilder gespeichert werden.

Vergessen Sie nicht, am Ende den Slash (/) mit anzugeben. Als weiteren Parameter benötigen wir noch eine Zeit in Minuten (85), nachdem alte, nicht gebrauchte Bilder (weil das Formular z. B. nicht abgesendet wurde) wieder gelöscht werden können.

Das Formular inkludiert diese Datei und übermittelt uns dabei zum einen den HashWert und zum anderen das Feld mit den sechs Buchstaben oder Zahlen. Die Funktion CheckCaptcha wird mit diesen Parametern und den beiden Konfigurationsvariablen aufgerufen (88) und erhält als Rückgabewert entweder "TRUE" oder "FALSE".

function CheckCaptcha($codeCaptcha,$stringCaptcha,$dir,$delFile=5)
@param string $codeCaptcha
@param string $stringCaptcha
@param string $dir
@param integer $delFile
@return bool

Nachdem die Funktion aufgerufen wurde, setzen wir zuerst unseren Rückgabewert auf "FALSE" (39). Im nächsten Schritt überprüfen wir unsere HashSumme (42) auf Gültigkeit und im Anschluss daran noch die übermittelte Variable mit den eingegebenen Buchstaben oder Zahlen (42).

Sie fragen sich vermutlich, weshalb wir bei der Überprüfung der Buchstabenlänge (42) nicht auf sechs Stellen prüfen, sondern einen Wert zwischen 16 heranziehen. Im nächsten Beispiel wollen wir das Captcha ja auch Rechenaufgaben erstellen lassen.

Die Lösungen von Rechenaufgaben haben in der Regel aber nur eine oder zwei Stellen. Da wir keine andere Datei für die Überprüfung inkludieren wollen, haben wir uns für diesen Weg entschieden. Das macht die Überprüfungsdatei flexibler, da sie jetzt mit Mathematikaufgaben sowie Buchstaben/ Zahlenkombinationen umgehen kann.

Sollte einer der Parameter nicht unseren Kriterien entsprechen, beenden wir die Funktion und geben "FALSE" zurück - somit wurde das Captcha nicht gelöst. War die Überprüfung erfolgreich, lesen wir das Verzeichnis mit den CaptchaBildern aus und durchlaufen jede einzelne Datei (50).

Jedes Verzeichnis beginnt mit einem Punkt und einem Doppelpunkt. Da wir hier keine Überprüfung vornehmen müssen, überspringen wir diese Einträge und beenden den aktuellen Durchlauf (51). Genauso verfahren wir mit eventuellen Unterverzeichnissen in diesem Ordner (55).

Falls es sich aber um eine Datei handelt (57), starten wir unsere Routinen für die Überprüfung. Als Erstes überprüfen wir, wie alt die jeweilige Datei ist (57). Wir rechnen die Zeit in Minuten um und erhalten dann die Differenz zur aktuellen Zeit. Ist diese Zeit größer als die von uns vorgegebene Zeit in Minuten, löschen wir die aktuelle Datei (66).

Achtung! Es findet hier keine Überprüfung der Dateiendungen statt. Falls Sie in diesem Ordner noch andere Dateien haben, die keine CaptchaDateien sind, werden diese ebenfalls gelöscht!

Ist die Datei jünger als unser Wert, springen wir in den elseZweig (76) und vergleichen den Dateinamen mit unserem Wert (der HashWert + eingegebenen Wert + Dateiendung) (62). War die Überprüfung erfolgreich, speichern wir den Wert "TRUE" in unsere Variable (63) - das Captcha wurde gelöst.

Wir müssen aber noch eine andere Überprüfung (65) vornehmen. Falls das Captcha nicht gelöst wurde, müssen wir unbedingt die Datei löschen, die den HashWert beeinhaltet. Sie fragen sich jetzt sicherlich, warum das so sein muss? Die Antwort ist einfach. Wenn ein Bot Ihr Formular ausfüllt und an dem HashWert kommt, schlägt zwar die erste Überprüfung fehl. Der Bot könnte dann mit dem HashWert aber alle fehlenden Kombinationen der sechs Buchstaben oder Zahlen so lange ausprobieren, bis er das Captcha gelöst hat. Das möchten wir natürlich unterbinden und sorgen deshalb dafür, dass das CaptchaBild nur einmal geprüft und danach gelöscht (66) wird.

Wir schließen das VerzeichnisHandle (72) und geben unser Ergebnis (75 oder 77) an die aufgerufene Stelle wieder zurück.

037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:

063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088: 		function CheckCaptcha($codeCaptcha,$stringCaptcha,$dir,$delFile=5) {
    // Setzt den Check erst einmal auf FALSE
    $captchaTrue = FALSE;

    // Übergebene Hash-Variable überprüfen
    if(!preg_match('/^[a-f0-9]{32}$/',$codeCaptcha))
        return FALSE;

    // Übergebene Captcha-Variable überprüfen
    if(!preg_match('/^[a-zA-Z0-9]{1,6}$/',$stringCaptcha))
        return FALSE;

    $handle = @opendir($dir);
    while (false !== ($file = readdir($handle))){
        if (preg_match("=^\.{1,2}$=", $file)){
       continue;
    }

    if (is_dir($dir.$file)){
       continue;
    }else{
        $lastTime = ceil((time() - filemtime($dir.$file)) / 60);
        if($lastTime > $delFile){
            unlink($dir.$file);
        } else{
            if(strtolower($file) == strtolower($codeCaptcha.'_'.
              $stringCaptcha.'.png')){
                $captchaTrue = TRUE;
            }
            if (preg_match("=^$codeCaptcha=i", $file)){
                unlink($dir.$file);
            }
         }
    }
    }

    @closedir($handle);

    if ($captchaTrue)
        return TRUE;
    else
        return FALSE;

}

// Temporäres Verzeichnis der Captcha-Bilder
$captchaDir = 'captchadir/';

// Löschen der alten Captcha-Bilder nach wieviel Minuten
$delFile = 10;

// Überprüfung starten
$resultCaptcha = CheckCaptcha($_POST["codeCaptcha"],$_POST["stringCaptcha"],$captchaDir,$delFile);
Beispiel 3.17: captcha_check.php

Wie Sie gesehen haben, ist eine Überprüfung möglich. Sie können jetzt das Captcha einbinden oder erweitern. Möglich wäre die Kombination mit einer Rechenaufgabe. Im folgenden Beispiel sehen Sie ein solches Captcha. Es erzeugt wahllos entweder eine Rechenaufgabe oder eine Buchstaben/ Zahlenkombination.


Captcha mit Rechenaufgaben und Buchstaben/Zahlenkombinationen

Letztes Update: 24.07.2006 17:35:42

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Captcha mit Rechenaufgaben und Buchstaben/Zahlenkombinationen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.0RC2
  • PHP 5
  • GD-Bibliothek (> gd1.6)
  • FreeTypeBibliothek

Datei(en)

captcha_math.php, captcha_check.php, captcha_demo_math.php

Problem

Wir haben im vorherigen Beispiel gesehen, wie man unterscheiden kann, ob ein Webformular durch einen Menschen oder einen Bot ausgefüllt wurde. Dieses Programm ist schon sehr sicher, man kann es aber noch erweitern. Entscheiden Sie selbst, ob es für Sie notwendig ist oder nicht.

Lösung

Unser vorheriges Captcha-Beispiel konnte ein Captcha-Bild aus Buchstaben und Zahlen generieren. Wir zeigen Ihnen jetzt, wie Ihr Captcha anfängt zu rechnen: Dieses Beispiel wird wahllos entweder einen Captcha aus Buchstaben und Zahlen oder eine Rechenaufgabe liefern.

Wie bereits erwähnt: Halten Sie Ihren Captcha so einfach wie möglich, sodass ein Mensch ihn lösen kann, eine Maschine aber nur sehr schwer. In unserem Beispiel werden wir daher nur Rechenaufgaben mit den Zahlen 0 bis 9 heranziehen. Außerdem bestehen die Rechenaufgaben nur aus Additionen, sodass sie relativ leicht zu lösen sein sollten.

Nachfolgend sehen Sie noch einmal einen Captcha aus Buchstaben und Zahlen, danach einen Captcha mit einer Rechenaufgabe.

Abbildung 3.7: Captcha aus Buchstaben und Zahlen

Abbildung 3.8: Captcha mit einer Rechenaufgabe

Wie Sie sehen, sind beide Captchas relativ einfach zu lösen. Der Rechen-Captcha kann nur einwandfrei gelöst werden, wenn der Besucher als Lösung die Zahl 27 eingibt.

Für dieses Catcha-Beispiel müssen wir lediglich unsere bereits bekannte Captcha-Datei ein wenig umprogrammieren. Die Datei für die Überprüfung der Captchas muss nicht erweitert werden, sie beherrscht bereits jetzt die Überprüfung beider Varianten.

Wir wollen hier nicht noch einmal alle Funktionen der Captcha-Datei erklären, sondern richten unseren Augenmerk nur noch auf die Veränderungen in dieser Datei.

function mathCaptcha($im,$size,$fileTTF,$imgHeight)
@param resource $im
@param integer $size
@param string $fileTTF
@param integer $imgHeight
@return string $fileName

Neu in unserer bestehenden Datei ist die Funktion mathCaptcha(). Sie erwarten als Parameter den Zeiger auf das Captcha-Bild, die Schriftgröße, den Pfad zu der True-Type-Datei und die Bildhöhe. Zuerst erzeugen wir für die Rechenaufgabe die Zahlen im Zahlenraum von 0-9 (128) und durchwürfeln danach das mit Zahlen gefüllte Array (129).

Sie können natürlich noch einen größeren Zahlenraum nehmen (z. B. 0 bis 20) aber ich rate Ihnen davon ab, denn die Lösung wird dadurch wesentlich schwieriger.

Nachdem wir die Zahlen erstellt haben, stellen wir die Schriftfarbe für unsere RGB-Werte zusammen (131). Wir sollten darauf achten, dass die Zahlen auch nachher gut lesbar sind und nehmen daher für die Darstellung nur RGB-Werte im Zahlenraum von 0 bis 120.

Nachdem wir das Array mit den möglichen RGB-Werten erstellt haben, durchwürfeln wir auch dieses (132). Mit den RGB-Werten in dem Array bestimmen wir dann die Farbe für das Bild (134). Wir sollten für Rechenaufgaben nur eine Farbe nehmen, im Gegensatz zu den Buchstaben und Zahlen, wo mehrfarbige Anzeigen erzeugt werden.

Unser Array mit den Zahlen ist bereits durchgewürfelt. Daher können wir beruhigt nur die ersten fünf Array-Elemente für die Rechenaufgabe heranziehen. Zum einen speichern wir die Rechenaufgabe als Text (136), und zum anderen lösen wir mathematisch die Aufgabe (137). Den Text platzieren (141) wir nachher auf das Bild, die Lösung wird unsere Funktion zurückgeben (143). Aus der übermittelten Hash-Summe und der Lösung bilden wir danach den Verzeichnisnamen.

Nun müssen wir lediglich noch die Position für den Text definieren, damit die Rechenaufgabe wahllos in ihrer Höhe unterschiedlich angezeigt wird. Daher definieren wir auch hier wieder ein Array (138) und durchwürfeln dieses (139). Zum Schluss schreiben wir den Text auf das Bild (141) und geben die Lösung unserer Rechenaufgabe zurück.

126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145: 		function mathCaptcha($im,$size,$fileTTF,$imgHeight) {

    $math = range(0,9);
    shuffle($math);

    $mix = range(0,120);
    shuffle($mix);

    $color =    imagecolorallocate($im,$mix[0],$mix[1],$mix[2]);

    $text = "$math[0] + $math[1] + $math[2] + $math[3] + $math[4]";
    $fileName = $math[0] + $math[1] + $math[2] + $math[3] + $math[4];
    $y = range($size+5,$imgHeight-10);
    shuffle($y);

    imagettftext($im, $size, 0, 5, $y[0], $color, $fileTTF,$text);

    return $fileName;

}
Beispiel 3.18: captcha_math.php

function makeLetter($im,$size,$fileTTF,$imgHeight,$imgWidth)
@param resource $im
@param integer $size
@param string $fileTTF
@param integer $imgHeight
@param integer $imgWidth
@return string $fileName

Sie sollten den Inhalt dieser Funktion bereits kennen. Wir haben lediglich den Programmcode für den Aufbau der Buchstaben und Zahlen in eine Funktion gepackt, damit wir über eine Berechnung (dazu später) entscheiden können, ob wir einen Rechen-oder Buchstaben/Zahlen-Captcha erzeugen sollen.

Wir werden diese Funktion nicht näher erläutern, da wir ihren Inhalt bereits im vorherigen Beispiel ausgiebig erklärt haben. Sollten Sie nicht mehr genau alle Aufgaben in dieser Funktion verstehen, schauen Sie noch einmal im vorherigen Beispiel nach und vertiefen Sie Ihr Wissen.

Wir wollen allerdings kurz die Parameter der Funktion erklären. Die Funktion erwartet als Parameter den Zeiger auf das Bild, die Schriftgröße, den Pfad zu der True-Type-Datei, die Bildhöhe und die Bildbreite. Als Rückgabewert (187) wird diese Funktion einen Teil (die sechs Buchstaben und Zahlen) des späteren Dateinamens zurückliefern.

158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:

176:
177:
178:
179:
180:
181:

182:
183:
184:
185:
186:
187:
188: 		function makeLetter($im,$size,$fileTTF,$imgHeight,$imgWidth) {

    //Wortliste erstellen
    $alphabet = MakeAlphabet();

    // Array des Alphabets durchwürfeln
    shuffle($alphabet);

    $mix = range(0,255);
    shuffle($mix);

    $colors=array(
        imagecolorallocate($im,$mix[0],$mix[6],$mix[12]),
        imagecolorallocate($im,$mix[1],$mix[7],$mix[13]),
        imagecolorallocate($im,$mix[2],$mix[8],$mix[14]),
        imagecolorallocate($im,$mix[3],$mix[9],$mix[15]),
        imagecolorallocate($im,$mix[4],$mix[10],$mix[16]),
        imagecolorallocate($im,$mix[5],$mix[11],$mix[17]));

    // Zeichnet die Buchstaben und baut den Dateinamen auf
    for($x=0;$x<6;$x++){

        $angel = rand(-25,25);
        $y = rand($size,$imgHeight-20);
        imagettftext($im, $size, $angel, $next, $y, $colors[$x],
                $fileTTF,$alphabet[$x]);
        $next += $size + ($imgWidth/$size);
        $fileName .= $alphabet[$x];

    }

    return $fileName;
}
Beispiel 3.19: captcha_math.php

Auch dieser Programmcode sollte Ihnen bekannt vorkommen. Wir werden auch hier nicht noch einmal alles erklären, sondern verweisen wieder auf das vorherige Beispiel. Allerdings gibt es in diesem Programmcode ein paar Neuerungen, die wir erklären müssen.

Wir haben eine zusätzliche Variable (205) für die Schriftgröße der Rechenaufgabe. Somit sind Sie in der Lage, die Ausgabe der beiden Möglichkeiten besser zu steuern. Weiterhin ist ein Bereich (249-252) dazugekommen, der für die jeweilige Auswahl der Captchas dienen wird. Anhand der aktuellen Zeit in Sekunden wird entschieden, welches Captcha geladen werden soll.

Handelt es sich bei den Sekunden um eine gerade Zahl (249), so wird der Buchstaben/ Zahlen-Captcha aufgerufen (250). Sollten die Sekunden ungerade sein (251), wird der mathematische Captcha aufgerufen (252).

190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:

233:
234:
235:

236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:

251:
252:

253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267: 		// TTF-Schrift
// Sie sollten hier unbedingt den absoluten Pfad angeben, da ansonsten
// eventuell die TTF-Datei nicht eingebunden werden kann!
$fileTTF =  '/homepages/29/d151852282/htdocs/kochbuch/bddavinc.ttf';

// Verzeichnis für die Captcha-Bilder (muss Schreibrechte besitzen!)
// Ausserdem sollten in diesem Ordner nur die Bilder gespeichert werden
// da das Programm in regelmaessigen Abstaenden dieses leert!
// Kein abschliessenden Slash benutzen!
$captchaDir = 'captchadir';

// Schriftgröße
$size = 30;

// Schriftgröße Rechenaufgabe
$sizeMath = 22;

//Bildgroesse
$imgWidth = 220;//200
$imgHeight = 80;//80

// Farbverlauf RGB-Wert Start und RGB-Wert Ende
$fromRGB = array(
   253,
   214,
   0
);
$toRGB = array(
   215,
   81,
   6
);

// Randfarbe
$colorBorder = array(
   154,
   53,
   2
);

header("Content-type: image/png");

$im = @imagecreate($imgWidth, $imgHeight)
  or die("GD! Initialisierung fehlgeschlagen");

// Definiert die Farbe für den Border
$colorB = imagecolorallocate($im,$colorBorder[0],
     $colorBorder[1],$colorBorder[2]);

// Erstellt den Farbverlauf
$colorRGB = makeGradient($fromRGB,$toRGB,$imgHeight);

for($x=0;$x<$imgHeight;$x++){
    $r = $colorRGB['r'][$x];
    $g = $colorRGB['g'][$x];
    $b = $colorRGB['b'][$x];
    $color = imagecolorallocate($im,$r,$g,$b);
    imageline($im,0,$x,$imgWidth,$x,$color);
}

// Hier die Moeglichkeit
if(bcmod(time(), 2) == 0)
    $fileName = makeLetter($im,$size,$fileTTF,
         $imgHeight,$imgWidth);
else
    $fileName = mathCaptcha($im,$sizeMath,
        $fileTTF,$imgHeight);

// Border erstellen
makeBorder($imgWidth,$imgHeight,$im,$colorB);

// Uebermittelter Hash-Wert ueberpruefen
if(!preg_match('/^[a-f0-9]{32}$/',$_GET['codeCaptcha']))
    $_GET['codeCaptcha'] = md5(microtime());

// Image speichern
imagepng($im,$captchaDir.'/'.$_GET['codeCaptcha'].'_'.$fileName.'.png');

imagedestroy($im);

// Bild ausgeben
readfile($captchaDir.'/'.$_GET['codeCaptcha'].'_'.$fileName.'.png');
Beispiel 3.20: captcha_math.php

Somit haben wir unser bestehendes Captcha-Beispiel um ein mathematisches Beispiel erweitert. Wir müssen lediglich in unserem Formular den Image-Tag verändern. Dieses muss jetzt auf unsere neue Datei zeigen.

1:
         <img src="captcha_math.php?codeCaptcha=<?php echo $codeCaptcha; ?>">

Sie sollten in Ihrem Formular erklären, dass es zwei verschiedene Captcha-Ausgaben geben kann. Falls Sie das nicht tun, wird der Besucher nicht die Rechenaufgabe lösen, sondern einfach nur den Rechentext abschreiben. Dieses würde selbstverständlich nicht zur Lösung des Captchas führen!


Checkboxen-Verwaltung mittels Binärwerten

Letztes Update: 24.07.2006 20:41:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Checkboxen-Verwaltung mittels Binärwerten

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

checkboxen_binaer.php

Problem

Gerade bei der Speicherung von sehr vielen Checkboxen stellt sich die Frage, wie man dieses Problem am besten umgehen kann. Stellen Sie sich ein Formular für eine Umfrage mit z. B. 30 Checkboxen vor. Sie könnten jetzt jede einzelne Checkbox in eine Datenbank speichern oder aber die folgende Variante nutzen.

Lösung

Checkboxen können nur zwei Zustände annehmen und sind daher entweder aktiviert (TRUE bzw. 1) oder deaktiviert (FALSE bzw. 0). Dieses Merkmal findet man auch in der Binärdarstellung wieder, und es kann daher zur Verwendung für diese Technik herangezogen werden.

Binärwerte werden nur durch die beiden Zahlen 1 und 0 dargestellt. Hat man z. B. fünf Checkboxen, von denen die erste, die zweite und die fünfte aktiviert sind, so kann man dies auch mit folgender Schreibweise darstellen 11001. Diese Darstellung sieht genau wie ein Binärwert aus und würde bei der Konvertierung in eine Dezimalzahl auch ein Ergebnis liefern.

Um aber die Checkboxen in eine binäre Art zu bekommen, ist ein kleiner Umstrukturierungsvorgang vonnöten. Binärwerte werden grundsätzlich von rechts her aufgebaut (was auch sinnvoll ist, da man für 0000000000001 direkt 1 schreiben könnte), die Checkboxen aber von links bzw. von oben. Daher muss man den Binärwert einfach umdrehen. Genau das erledigt das Skript von selbst, da die Werte bereits von rechts her bestückt werden.

In unserem kleinen Beispiel wäre nun der Binärwert 10011. Dieser Binärwert in eine Dezimalzahl konvertiert ergäbe 19. Die Zahl 19 ist der Wert, der auch in die Datenbank gespeichert wird. Er enthält alle Informationen über die Aktivierungsart aller Checkboxen, da beim Aufbau der Checkboxen die Zahl 19 wieder in einen Binärwert konvertiert wird (10011).

Allerdings müssen im Vorfeld die Checkboxen ein wenig angepasst werden.

  • Die Checkboxen erhalten alle den gleichen Namen und werden somit als Array übermittelt. In unserem Fall heißen die Checkboxen alle checkbox_name[] (wichtig sind hier die eckigen Klammern, da nur so ein Array aufgebaut wird). Somit kann man hier auch von einer Gruppe sprechen.
  • Alle Checkboxen werden im ValueWert durchnummeriert (1 bis max. 32). Dies ist ein wichtiger Punkt, da nur so die richtigen Checkboxen aktiviert oder deaktiviert werden können. Zur Erinnerung: Nicht aktivierte Checkboxen werden nicht übermittelt. Auch wenn Sie 32 Checkboxen haben und nur 16 aktivieren, erhalten Sie beim Absenden nur ein Array mit 16 Elementen. Da wir aber als Value-Wert die "Position" gespeichert haben, ist es ein Leichtes, die nötigen Felder zu initialisieren.
  • Die Spalte für die Speicherung des Wertes in der Datenbank muss auf Integer eingestellt werden.

Zur besseren Veranschaulichung sehen wir uns folgendes Beispiel an:

Bei der Initialisierung der Variablen setzen wir den Startwert auf 0. Wird nun das unten stehende Beispiel abgeschickt, passiert Folgendes: Bitte beachten Sie, dass bei den Durchläufen die Checkboxen von links, die Binärwerte von rechts gelesen werden.

Abbildung 3.9: Checkboxen

1. Durchlauf

Checkbox1 ist deaktiviert und somit 0. In diesem Fall bleibt unser Wert bei 0, da der Startwert bereits 0 war und ein Binärwert mit der Anordnung 00 auch als Dezimalzahl 0 ergäbe.

2. Durchlauf

Checkbox2 ist aktiviert und somit 1. Unser Binärwert wird nun von der rechten Seite her verändert. Die zweite Stelle des Binärwerts wird auf 1 gesetzt. Der Wert ist nun 10.

3. Durchlauf

Checkbox3 ist aktiviert und somit 1. Unser Binärwert wird nun von der rechten Seite her verändert. Die dritte Stelle des Binärwerts wird auf 1 gesetzt. Der Wert ist nun 110.

4. Durchlauf

Checkbox4 ist deaktiviert und somit 0. In diesem Fall bleibt unser Wert bei 110.

5. Durchlauf

Checkbox5 ist deaktiviert und somit 0. In diesem Fall bleibt unser Wert bei 110.

6. Durchlauf

Checkbox6 ist aktiviert und somit 1. Unser Binärwert wird nun von der rechten Seite her verändert. Die sechste Stelle des Binärwerts wird auf 1 gesetzt. Somit erhalten nun auch die vierte und fünfte Stelle ihren Wert, jeweils die 0. Der Wert ist nun 100110.

Den Wert 100110 lassen wir uns mit der Funktion bindec() als Dezimalzahl ausgeben und erhalten als Ergebnis die Zahl 38. Diese Zahl speichern wir in der Tabelle ab. Das war es schon! Wir haben nun eine schlanke Lösung für ein großes Problem. In Zukunft wird das Skript nur noch mit der einzelnen dezimalen Zahl arbeiten, um die Checkboxen zu bestücken.

Achtung!

Einen kleinen Haken gibt es aber. Wir können mit dieser Methode nur maximal 32 Checkboxen verwalten, da wir bei dieser Zahl an die Grenze eines IntegerWerts gehen. Gruppen können aber in rauen Mengen erstellt werden.

Wir werden uns jetzt genauer den Programmcode für unsere Lösung anschauen. Er ist einfacher, als Sie denken.

function setBit(&$bitField,$n)
@param integer $bitField
@param integer $n
@return bool

Die Funktion setBit() erwartet als Parameter zum einen den binären Wert für unsere Checkboxen und zum anderen die aktivierte Checkbox. Im ersten Schritt müssen wir überprüfen (8), ob der Wert für die aktivierte Checkbox zwischen 0-32 liegt. Ist der Wert außerhalb von 0-32, beenden (8) wir die Funktion an dieser Stelle.

Sollte der Wert zwischen 0-32 liegen, können wir den Binärwert für unsere aktivierte Checkbox setzen (16). Wenn wir also annehmen, dass wir 15 Checkboxen haben, ergibt sich ein Wert von

100000000000000

Wenn wir jetzt die 15. Checkbox aktivieren wollen, müssen wir den Wert von rechts her mit einer 1 (Eins) auffüllen (16). Der Wert "100000000000000" entspricht dann der Zahl 16384. Bei dem PineZeichen (|) vor dem Leerzeichen handelt es sich nicht um das logische ODER, sondern um das BIT-ODER.

003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019: 		function setBit(&$bitField,$n) {

    // Ueberprueft, ob der Wert zwischen 0-33 liegt
    // $n ist hier der Wert der aktivierten Checkbox, z.B. 15
    // Somit waere hier die 15. Checkbox aktiviert
    if(($n < 0) or ($n > 32)) return false;

    // Bit Shifting
    // Hier wird nun der Binaerwert fuer die aktuelle Checkbox gesetzt.
    // In unserem Beispiel wird hier nun die 15. Stelle von rechts auf 1 gesetzt
    // 100000000000000 <-- Dieses entspricht der Zahl 16384
    // | ist nicht das logische ODER sondern das BIT-oder
    $bitField |= (0x01 << ($n-1));
    return true;

}
Beispiel 3.21: checkboxen_binaer.php

function clearBit(&$bitField,$n)
@param integer $bitField
@param integer $n
@return bool

Die Funktion clearBit() erwartet als Parameter den binären Wert für unsere Checkboxen und die deaktivierte Checkbox. Wir müssen hier lediglich das Bit wieder auf 0 (Null) setzen (25). Bei dem kaufmännischen UND (&) handelt es sich nicht um das logische UND, sondern um das BIT-UND.

021:
022:
023:
024:
025:
026:
027:
028: 		function clearBit(&$bitField,$n) {

    // Loescht ein Bit oder ein Bitfeld
    // & ist nicht das logische UND sondern das BIT-and
    $bitField &= ~(0x01 << ($n-1));
    return true;

}
Beispiel 3.22: checkboxen_binaer.php

function function isBit(&$bitField,$n)
@param integer $bitField
@param integer $n
@return bool

Die Funktion isBit() erwartet als Parameter den binären Wert für unsere Checkboxen und die zu prüfende Checkbox. Wir überprüfen hier lediglich, ob die x-te Stelle eine 1 (Eins) ist oder nicht (32).

030:
031:
032:
033:
034: 		function isBit($bitField,$n) {

    return (($bitField & (0x01 << ($n-1))));

}
Beispiel 3.23: checkboxen_binaer.php

Der restliche Programmcode besteht hauptsächlich aus Überprüfungen und Darstellungen der Checkboxen. Sie sollten aber unbedingt die Variable für die Checkboxenmenge (40) setzen, die angibt, wie viele Checkboxen Sie darstellen wollen.

Wenn das Formular gesendet wurde, wird im ersten Schritt überprüft (39) wie viele Checkboxen übertragen wurden. Ist der Wert kleiner als 1 (Eins) oder größer als 32, wird der Standardwert (hier 32) gesetzt. War alles in Ordnung, also der Wert zwischen 1-32, wird die Menge gespeichert (42).

Falls das Formular nicht gesendet wurde (50), also sich im Grundzustand befindet, gibt es zwei Möglichkeiten. Entweder starten Sie das Formular mit leeren Checkboxen (53), indem Sie eine 0 (Null) in die Variable speichern, oder aber Sie machen eine Datenbankabfrage von der Spalte mit dem Dezimalwert für die Checkboxen. Dieser Wert müsste dann in die Variable (53) gespeichert werden.

Je nachdem, ob nun ein Wert vorliegt (70), wird der Wert in die jeweilige Variable (57 oder 59) gespeichert. Wir durchlaufen jetzt die Checkboxenmenge (40) und überprüfen (70) bei jedem Durchlauf, ob die x-te Stelle (also jeweils das Array-Index) in unserem Wert eine 1 (Eins) ist.

Falls ja, so speichern wir in unserem Array für die Checkboxen im Formular unter dem jeweiligen ArrayIndex den String "checked". Somit wird nachher jede einzelne Checkbox de- oder aktiviert.

037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:

051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076: 		 * Die Menge der Checkboxen sollten hier angegeben werden
 */
if( $_POST["checkboxen"] < 1 || $_POST["checkboxen"] > 32)
    $checkboxen = 32;
else
    $checkboxen = $_POST["checkboxen"];

/*
 * Hier sollte der Wert aus einer Datenbank geholt werden
 * Dies sollte aber nur beim ersten Aufruf geschehen
 */

if( !isset($_POST["checkbox_name"]) && !is_array($_POST["checkbox_name"])
       && !isset($_POST["CheckboxenBinaer"]) ){
    // Select der Datenbankabfrage hier einfuegen und den Wert
    // in $wertAbfrage speichern
    $wertAbfrage = 0;

    // Ueberpruefung ob ein Wert vorhanden ist
    if( !empty($wertAbfrage) )
        $bitmask = $wertAbfrage;
    else
        $bitmask = 0x0;

    // Durchlaeuft schrittweise alle Elemente von $bitmask.
    foreach(range(1,$checkboxen) as $position){

        // Ueberprueft, ob die x-te Stelle eine 1 ist und speichert bei Erfolg
        // ein "checked" in das Arrayelement fuer die x-te Position.
        // Beispiel: $position ist 6. Nun wird die 6.Stelle von rechts innerhalb
        // der Variablen $bitmask auf eine 1 hin ueberprueft. Steht an dieser Stelle
        // eine 1, so wird in $formCheck[6] ein "checked" gespeichert.
        // Somit wird die sechste Checkbox aktiviert.
        if(isBit($bitmask,$position)) {
            $formCheck[$position] = " checked";
        }

    }

}
Beispiel 3.24: checkboxen_binaer.php

Falls das Formular gesendet wurde, können wir in den else-Zweig (77) springen und unseren neuen Wert für die Checkboxen speichern. Wir überprüfen zuerst, ob überhaupt eine Checkbox aktiviert wurde (83), um im nächsten Schritt die aktivierten Checkboxen in der Funktion setBit() (88) in unsere Variable zu speichern.

Wie bereits zuvor setzen wir die Markierungen, falls der aktuelle Array-Index eine 1 (Eins) enthält, für unsere Checkboxen (92). Wir speichern zum Schluss den Wert der BIT-Abfrage in unsere Variable (100). Diesen Wert können Sie jetzt in die Datenbank speichern.

077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
         else{

    // Das Formular wurde versendet und die Checkboxen muessen
    // nun konvertiert werden.

    // Wurde ueberhaupt eine Checkbox aktiviert?
    If( isset($_POST["checkbox_name"]) ){

        foreach($_POST["checkbox_name"] as $position){

            // Setzen der einzelnen Checkboxen in der Binaerstruktur
            setBit($bitmask,$position);

            // Ist die Checkbox aktiviert?
            if(isBit($bitmask,$position)) {
                $formCheck[$position] = " checked";
            }

        }

    }

    // Hier kann nun auch der Wert wieder in die Datenbank geschrieben werden
        $neuerWert = $bitmask;

}
Beispiel 3.25: checkboxen_binaer.php

Das eigentliche Formular dagegen ist unspektakulär. Zum Testen haben wir zuerst eine Ausgabe unseres Wertes für die Datenbank (108) und zum anderen den gleichen Wert als Binärwert (109). Sie können das Formular auf Ihrem Server ausprobieren und sich die jeweiligen Werte ausgeben lassen. Anhand der Werte werden Sie sehr schnell ein Gefühl für die hier erklärte Vorgehensweise bekommen.

Nun müssen wir lediglich noch die Checkboxen aufbauen. Wir durchlaufen daher eine FOR-Schleife (110) mit der Menge der Checkboxen. Da wir bereits den Wert für die De- oder Aktivierung unserer Checkboxen in einem Array gespeichert haben, müssen wir diesen nur noch ausgeben (113).

106:
107:
108:
109:
110:

111:
112:
113:

114:
115:
116:
117:
118:

119:
120:
         <form name="form" method="post" action="<?PHP echo $PHP_SELF; ?>">
<?PHP
    echo 'Der Dezimalwert für diese Anordnung ist: <b>' . $bitmask . '</b><br>';
    echo 'Der Binärwert für diese Anordnung ist: <b>' .
          decbin($bitmask) . '</b><br>';
    for($x=1;$x<=$checkboxen;$x++){
?>

<input type="checkbox" name="checkbox_name[]"
      value="<?PHP echo $x; ?>" <?PHP echo $formCheck[$x]; ?>>

<?PHP
    }
?>
  <br>Menge der Checkboxen <input type="text" name="checkboxen"
       value="<?PHP echo $_POST["checkboxen"]; ?>">
  <br><input type="submit" name="CheckboxenBinaer" value="Send"><br>
</form>
Beispiel 3.26: checkboxen_binaer.php

Wie Sie sehen, haben wir hier eine Lösung für das Checkboxenproblem geliefert. Sollten Sie mehr als 32 Checkboxen benötigen, erstellen Sie einfach eine neue Gruppe. In dieser Gruppe haben Sie dann wieder 32 mögliche Zustände zur Verfügung.


MD5-Hash-Summe überprüfen

Letztes Update: 24.07.2006 20:56:48

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MD5-Hash-Summe überprüfen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3 >= 3.0.9
  • PHP 4
  • PHP 5
  • PCRE-Bibliothek

Datei(en)

md5_check.php

Problem

Wie Sie bereits bei dem Thema Captcha in diesem Buch gesehen haben, benötigen Sie oftmals Routinen, um eine übermittelte MD5HashSumme zu überprüfen.

Lösung

Bei solchen Überprüfungen helfen uns reguläre Ausdrücke wie in diesem Beispiel mit preg_match(). Eine MD5-HashSumme besteht aus Kleinbuchstaben (a-f), Zahlen (0-9) und ist genau 32 Zeichen lang. Mit diesen Informationen ist es jetzt ein Leichtes, die Variable zu prüfen.

$hash (25) soll die übermittelte Variable sein. Falls der Inhalt der Variable nicht den zuvor beschriebenen Kriterien entspricht (27), so wird eine neue MD5-Hash-Summe basierend auf der aktuellen Zeit in Sekunden erstellt. Ist die MD5-Hash-Summe richtig gewesen (30), können wir fortfahren.

25:
26:
27:
28:
29:
30:
31:
32:
         $hash = md5(time());

if(!preg_match('/^[a-f0-9]{32}$/',$hash)){
    echo 'Falscher MD5-Hash!<br>';
    echo 'Generiere neuen MD5-Hash: '. $hash = md5(time());
} else{
    echo 'MD5-Hash ist in Ordnung: ' . $hash;
}
Beispiel 4.1: md5_check.php

Ausgabe im Browser

MD5Hash ist in Ordnung: 6935bd151d0b7f43f86f42b2ce1d7998


Eine übermittelte Variable in eine Zahl konvertieren

Letztes Update: 24.07.2006 21:28:47

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Eine übermittelte Variable in eine Zahl konvertieren

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

integer_check.php, integer_check1.php

Problem

Sie möchten wissen, ob die übermittelte Variable auch wirklich nur eine Zahl enthält. Oftmals ist diese Information wünschenswert, z. B. wenn Sie aus einer Datenbank einen bestimmten Datensatz mit der ID 4 (ein Beispiel) ausgeben wollen. Auch bei mathematischen Berechnungen benötigen wir nur Zahlen und keine Textelemente.

Lösung

Wir können auf einfache Art und Weise die übergebene Variable in eine Zahl konvertieren. Dafür müssen wir lediglich zu der Variablen eine 0 (Null) addieren. Dabei passiert folgendes:

123 | wird zu 123
123.78 | wird zu 123.78
123,78 | wird zu 123
123String | wird zu 123
-123.78 | wird zu -123.78
-123,78 | wird zu -123
123Text456 | wird zu 123

24:
25:
26:
27:
28:
29:
         $value = $_GET['id'] + 0;

if(($_GET['id'] + 0) == 0)
    echo 'Bitte geben Sie nur Zahlen ein! ' . $_GET['id'];
else
    echo 'Ihre Zahl: ' . $value;
Beispiel 4.2: integer_check.php

Wie Sie sehen, war die Konvertierung ein Kinderspiel. Sie haben jetzt auf jeden Fall eine Zahl vorliegen. Aber ist das ausreichend? Nein, Sie sollten weitere Überprüfungen vornehmen. Bei einer Datenbankabfrage nach einer ID wird Ihnen eine konvertierte Floatzahl (Fließkommazahl) auch nicht weiterhelfen.

24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
         $value = $_GET['id'] + 0;

if(($_GET['id'] + 0) == 0){
    echo 'Bitte geben Sie nur Zahlen ein! ' . $_GET['id'];
} else {
    echo 'Ihre Zahl: ' . $value . '<br>';

    if(is_int($value))
        echo $value . ' ist eine Ganzzahl.';

    if(is_float($value))
        echo $value . ' ist eine Fließkommazahl.';
}
Beispiel 4.3: integer_check1.php

Ausgabe im Browser

Ihre Zahl: 123.56
123.56 ist eine Fließkommazahl.

Jetzt besteht noch eine weitere Frage: Wollen wir einfach die konvertierte Zahl so nehmen? Diese Frage müssen Sie selbst beantworten. Je nach Aufgabenstellung kann die Antwort unterschiedlich sein. Wenn Sie der Meinung sind, dass die konvertierte Zahl nicht dem Programmablauf schadet, können Sie diesen Wert heranziehen, ansonsten müssen Sie anders reagieren.


Übermittelte Dateinamen überprüfen

Letztes Update: 24.07.2006 21:44:47

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Übermittelte Dateinamen überprüfen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3 >= 3.0.9
  • PHP 4
  • PHP 5
  • PCREBibliothek

Datei(en)

file_check.php

Problem

Sie bieten Dateien zum Download an, und die Dateinamen werden dabei per GET oder POST übermittelt. Anschließend rufen Sie diese Datei auf und bieten dann dem Besucher die gerade geholte Datei zum Download an.

Dieses Szenario sieht man sehr oft im Internet. Sie sollten sich aber immer eines vor Augen führen: Variablen, die von außerhalb des eigenen Programmcodes kommen, sind in erster Linie als "Feinde" anzusehen. Wir sollten diesen Variablen also niemals einfach trauen, sondern sie immer überprüfen.

Somit wäre es unter Umständen möglich, mit folgendem Variableninhalt die Passwortdatei des eigenen Servers auszuliefern. Was das bedeuten kann, werden Sie sich sicherlich vorstellen können. Deshalb trauen Sie keiner Variablen, die von außen kommt!

../../../../etc/passwd

Wir müssen sämtliche Variablen, die von außerhalb kommen und uns Schaden zufügen könnten, überprüfen. Dafür nutzen wir in unserem Beispiel preg_match() (29, 34). Wenn Sie Dateien zum Download anbieten und diese per PHP ausliefern, lassen Sie sich lediglich den reinen Dateinamen übermitteln und setzen den Verzeichnisnamen fest in der PHPDatei ein.

Wir müssen dann nur noch die Variable daraufhin überprüfen, ob sie ein oder mehrere Slashes beinhaltet. Ist das der Fall, brechen wir mit einer Fehlermeldung ab (30, 35), ansonsten können wir die Datei ausliefern (32, 37).

In unserem Beispiel haben wir zwei Arrays zur Anschauung genutzt. Sie sollten die Arrays später durch Ihre POST- oder GET-Variablen ersetzen.

26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
         $test[0] = "../../../../etc/passwd";
$test[1] = "wert.txt";

if(preg_match('=/=', $test[0]))
    echo 'Fehler! ' . $test[0] . ' ist nicht erlaubt.<br>';
else
    echo 'Datei ' . $test[0] . ' ist in Ordnung.<br>';

if(preg_match('=/=', $test[1]))
    echo 'Fehler! ' . $test[1] . ' ist nicht erlaubt.<br>';
else
    echo 'Datei ' . $test[1] . ' ist in Ordnung.<br>';
Beispiel 4.4: file_check.php

Ausgabe im Browser

Fehler! ../../../../etc/passwd ist nicht erlaubt. Datei wert.txt ist in Ordnung.

Sie sehen nachfolgend die geänderte Version für die Übermittlung von GET-Variablen. Sie müssen lediglich den Variablennamen anpassen.

1:
2:
3:
4:
5:
6:
7:
         <?PHP
$_GET['filename'];
if(preg_match('=/=', $_GET['filename']))
    echo 'Fehler! ' . $_GET['filename'] . ' ist nicht erlaubt.<br>';
else
    // Download starten
?>


Tags in Variablen ersetzen

Letztes Update: 24.07.2006 22:12:06

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Tags in Variablen ersetzen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3 >= 3.0.9
  • PHP 4
  • PHP 5
  • PCREBibliothek

Datei(en)

template_tags.php

Problem

Sie haben eine Variable gefüllt mit HTML-Quellcode, Text und z. B. UBB-Code. Gerade in Foren wird diese Variante sehr gerne genutzt, also eigene Tags zu definieren und diese dann mit regulären Ausdrücken zu durchsuchen. Die Treffer werden dann meist mit CSS-Definitionen oder wie hier im Beispiel mit DIV-Tags ersetzt.

Lösung

Zur besseren Veranschaulichung sehen Sie nachfolgend eine mögliche Variante von solchen Tags. Es geht darum, den Namen der Tags, also hier z. B. "outerLoop" und "innerLoop", beizubehalten, jedoch die Tags selbst durch DIV-Tags zu ersetzen.

26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44: 		Hier steht auch Text
[loop name="outerLoop"]
<table>
<tr>
    <td>
        <table>
[loop name="innerLoop"]
            <tr>
                <td>
                    Hier steht der eigentliche Text
                </td>
            </tr>
[/loop]
        </table>
    </td>
</tr>
</table>
und hier noch mehr
[/loop]
Beispiel 4.5: template_tags.php

Mit str_replace() (48) ersetzen wir zuerst alle schließenden Tags von "loop" durch die schließenden Tags von "div". Zudem müssen wir die Tags finden, die den eigentlichen Namen enthalten, sodass wir auch diese durch DIV-Tags erstzen können.

Der Aufbau der Tags beginnt immer mit einer eckigen Klammer, gefolgt von den Namen "loop", dann einem Leerzeichen und dem öffnenden Bereich "name=". Der Tag schließt stets mit einer eckigen Klammer.

Nun müssen wir noch die Ausnahmen generieren, falls etwa die Schreibweise ein wenig abweicht und eventuell z. B. vor "loop" ein Leerzeichen steht. Außerdem müssen wir den Text vor und nach unseren Suchtreffern beibehalten.

Wir bauen den regulären Ausdruck zusammen (48) und lassen diesen dann solange durch eine while-Schleife (50) laufen, bis es keine Treffer mehr gibt. Bei jedem Treffer ersetzen wir (51) den gesuchten Wert durch unsere DIV-Tags und fügen zusätzlich unseren bestehenden Text ($pat[1] und $pat[6]) mit ein. Der Name von "loop" (hier innerLoop und outerLoop) fügen wir ebenfalls wieder in den DIV-Tags ($pat[4]) ein.

Dieser Vorgang wird solange durchgeführt, bis kein Suchtreffer mehr vorhanden ist. Erst danach können wir unsere modifizierte Variable ausgeben (54) und haben im Quellcode die ersetzten DIV-Tags.

25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
         $str = '
Hier steht auch Text
[loop name="outerLoop"]
<table>
<tr>
    <td>
        <table>
[loop name="innerLoop"]
            <tr>
                <td>
                    Hier steht der eigentliche Text
                </td>
            </tr>
[/loop]
        </table>
    </td>
</tr>
</table>
und hier noch mehr
[/loop]
';

$str = str_replace ("[/loop]","</div>","$str");
$pattern = '=^(.*)\[(.*)loop(.*)name\="?(\S+)"([^\]]*)\](.*)$=msi';

while (preg_match($pattern, $str, $pat)){
  $str = $pat[1].'<div name="'.$pat[4].'">'.$pat[6];
}

echo $str;
Beispiel 4.6: template_tags.php

Ausgabe im Browser

Hier steht auch Text
Hier steht der eigentliche Text
und hier noch mehr

Ausgabe im Quellcode

Hier steht auch Text
<div name="outerLoop">
<table>
<tr>
<td>
<table>
<div name="innerLoop">
<tr>
<td>
Hier steht der eigentliche Text
</td>
</tr>
</div>
</table>
</td>
</tr>
</table>
und hier noch mehr
</div>

Sie können dieses Beispiel für Ihre Bedürfnisse so anpassen, dass auch dort die Tags geändert werden. Sie sollten aber immer mehrere Varianten ausprobieren, da es immer wieder zu kuriosen Ersetzungen kommen kann.


Wie dieses Buch zu lesen ist

Letztes Update: 14.07.2006 06:56:11

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Wie dieses Buch zu lesen ist

Es gibt keine allgemein gültige Art und Weise, wie dieses Buch zu lesen ist. Ihnen wird ein PHP-Kochbuch an die Hand gegeben, das Sie auf verschiedene Arten benutzen können. Sie haben die Wahl zwischen dem Inhaltsverzeichnis, dem Stichwortverzeichnis, dem Dateilistingsowie dem Systemvoraussetzungsverzeichnis. Selbstverständlich können Sie auch einfach nur in dem Buch blättern und bei interessanten Passagen den Inhalt lesen.

Im Folgenden werden die einzelnen Varianten genauer erklärt, sodass Sie effizienter mit Ihnen umgehen können.

Inhaltsverzeichnis
Das Inhaltsverzeichnis ist geordnet nach Kategorien (z. B. Datenbanken), gefolgt von den Beispielen der jeweiligen Kategorien (z. B. MySQL-Backup über die Shell). Anhand dieser Kurzbeschreibung sollten Sie in der Lage sein, den Gebrauch des Beispiels im Vorfeld zu verstehen.

Stichwortverzeichnis
Im Stichwortverzeichnis finden Sie die wichtigsten Stichwörter aus den einzelnen Beispielen. Wenn Sie konkret nach etwas suchen wollen (z. B. MD5, Schaltjahr oder TARGZ), dann sollte hier Ihr erster Anlaufpunkt sein. Erst wenn Sie hier nichts gefunden haben, sollten Sie zu dem Inhaltsverzeichnis wechseln und schauen, ob Ihr Stichwort zu einer Kategorie oder einem Beispiel passen würde.

Systemvoraussetzungsverzeichnis
Vielleicht möchten Sie sich ja nur die Beispiele anschauen, die auch auf Ihrem System funktionieren werden. Je nachdem, wie die Beispiele aufgebaut sind, herrschen andere Systemvoraussetzungen, die es zu erfüllen gilt. Anhand des Systemvoraussetzungsverzeichnisses sind Sie in der Lage, sich gezielt die Beispiele herauszusuchen. Anhand eines Beispiels sehen Sie den Aufbau dieses Systemvoraussetzungsverzeichnisses:

  • Linux
  • PHP 4 >= 4.3.0
  • PHP 5
  • MySQL
  • Sed (StreamEditor)
  • wahlweise ZIP
  • BZIP2
  • TARGZ

Eingeleitet wird jedes Beispiel mit einem Aufzählungskasten, gefolgt von dem Beispieltext (z. B. MySQL-Backup über die Shell). Danach folgt eingerückt in jeder Reihe die Mindest-Systemvoraussetzung. Sollte bei einer Auflistung das Wort "wahlweise" vorkommen, so muss zumindest eines der aufgelisteten Parameter auf Ihrem Server vorhanden sein.

Sollte Ihr System die Voraussetzungen nicht erfüllen, so lohnt sich dennoch ein Blick in das Beispiel. Oftmals finden Sie dort nützliche Tipps, die Sie später wieder einmal nutzen können. Je nach Ihren Programmierkenntnissen können Sie die Beispiele anpassen oder modifizieren, sodass Sie auch auf Ihrem System einwandfrei laufen werden.

DateilistingVerzeichnis
Das DateilistingVerzeichnis soll Ihnen helfen, anhand der Beispieldateien auf der beiliegenden CD-Rom die jeweiligen Beispiele schneller im Buch zu finden. Sie werden sicherlich durch die CD-ROM stöbern, das ein oder andere Beispiel direkt ausprobieren und dann vielleicht erst im Buch die Erklärung nachschlagen. Mit diesem Dateilisting-Verzeichnis stellt diese Vorgehensweise kein Problem dar, und Sie kommen schnell zum Ziel.

FunktionsVerzeichnis
Anhand des FunktionsVerzeichnisses können Sie gezielt nach Funktionen suchen, die wir hier im Buch genutzt haben. Wenn Sie sich also für eine bestimmte Funktion interessieren, haben Sie hier die Möglichkeit, sich die Wirkungsweise bzw. die Nutzung dieser Funktion gezielt anzusehen.


Tabellenzeilen abwechselnd farbig darstellen

Letztes Update: 24.07.2006 22:44:17

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Tabellenzeilen abwechselnd farbig darstellen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

tableColor.php

Problem

Gerade bei der Darstellung von dynamisch erzeugten unterschiedlichen Zeilenfarben einer Tabelle stellt sich die Frage, wie dieses Problem am einfachsten zu lösen ist. Es kommt immer wieder vor, dass man z. B. durch eine Datenbankabfrage mehrere Datensätze hat, die in einer Tabelle abwechselnd mit einer anderen Hintergrundfarbe dargestellt werden sollen.

Lösung

Handelt es sich bei der Methode für den Farbwechsel um zwei unterschiedliche Farben, so kann in diesem Fall der Modulos-Operator herangezogen werden. Wir teilen einfach eine Zahl (hier im Beispiel durch eine FOR-Schleife ermittelt) durch 2 und ermitteln dadurch den Restwert der Division.

Ist das Ergebnis ungerade (z. B. 1, 3, 5, 7), so erhalten wir als Restwert 1, bei einem geraden Restwert (z. B. 0, 2, 4, 6) dagegen die 0 (Null). Diese beiden Werte reichen vollständig aus, um damit über eine CSS-Klasse die Farbe zu bestimmen (siehe Beispiel).

Diese Berechnung ist völlig ausreichend für den Aufbau der Darstellung. Wir definieren in unserer Datei zwei verschiedene CSS-Klassen mit den Namen .row_0 und .row_1 (41 und 44).

Wichtig ist hier, dass sie einmal auf 1 (Eins) und einmal auf 0 (Null) enden. Somit haben wir einen Punkt geschaffen, den wir später automatisch austauschen können.

Wir durchlaufen jetzt unsere FOR-Schleife (53) und berechnen jeweils anhand der Variable $i den Modulos dafür. Da sich diese Variable bei jedem Schleifendurchlauf erhöht, erhalten wir als Rückgabewert der Modulos-Berechnung entweder eine 0 (Null) oder eine 1 (Eins). Diese müssen wir jetzt nur noch an unsere CSS-Definition anhängen (56) und haben somit die Farbe bestimmt.

Natürlich können Sie auch anstatt einer FOR-Schleife z. B. eine WHILE-Schleife (gerade bei Datenbankabfragen häufig genutzt) verwenden. Sie müssen dafür das Beispielskript nur geringfügig ändern (siehe Veränderung bei WHILE-Schleifen).

24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:

52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
         <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Abwechselnde Zeilenfarben</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.tableLine
{
    font-family:      Verdana,Arial,sans-serif;
    font-style:       normal;
    font-size:        9px;
    BORDER-TOP:       #A6A6A6 1px solid;
    BORDER-LEFT:      #A6A6A6 1px solid;
    BORDER-BOTTOM:    #A6A6A6 1px solid;
    BORDER-RIGHT:     #A6A6A6 1px solid;
}
.row_0 {
    background-color:        #FFFFFF;
}
.row_1 {
    background-color:        #E1E8F1;
}
-->
</style>
</head>
<body>
<table width="300" border="0" cellpadding="0" cellspacing="0"
    class="tableLine">
<?PHP
  for($i=0;$i<=9;$i++){
?>
  <tr>
    <td class="row_<?PHP echo $i % 2; ?>">Reihe <?PHP echo $i; ?></td>
  </tr>
<?PHP
  }
?>
</table>
</body>
</html>
Beispiel 5.1: tableColor.php

Abbildung 5.1: Ausgabe: Tabelle mit Spalten

Wir wollen unser Beispiel dahin verändern, dass jetzt die Datensätze aus einer Datenbank kommen und in einer WHILE-Schleife (4) ausgegeben werden. Bei einer WHILE-Schleife haben Sie keinen Wert, der sich automatisch erhöht (wie z. B. bei einer FOR-Schleife), sondern Sie müssen diesen Wert selbst setzen (3) und erhöhen (11).

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
         <table width="300" border="0" cellpadding="0" cellspacing="0" class="tableLine">
    <?PHP
    $i = 0;
    while($row = @mysql_fetch_row($result)){
    ?>
    <tr>
        <td class="row_<?PHP echo $i % 2; ?>">Reihe
        <?PHP echo $i; ?></td>
    </tr>
    <?PHP
    $i++;
    }
    ?>
</table>

Wie Sie sehen, haben wir hier auf einfache Art und Weise die Tabellenzeilen abwechselnd farbig dargestellt. Gerade bei solchen Problemstellungen können uns immer wieder mathematische Berechnungen weiterhelfen. Sie sollten daher immer im Vorfeld überlegen, ob die Lösung des Problems mit mathematischen Berechnungen einwandfrei darzustellen ist.


Dynamische Seitennavigation - Seite 1 von n

Letztes Update: 25.07.2006 12:14:46

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dynamische Seitennavigation - Seite 1 von n

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

blaettern.php, statistik_pageviews.sql

Problem

Sie standen sicherlich schon öfter vor dem Problem, dass Sie sehr viele Informationen auf einer Seite darstellen wollten und das Aussehen der angezeigten Seite darunter gelitten hat. Schön wäre es doch, wenn die einzelnen Beiträge einfach in kleinere Stücke aufgeteilt und auf mehreren Seiten dargestellt werden. Gerade Suchmaschinen, Anbieterverzeichnisse, Gästebücher, Foren etc. nutzen diese Methode.

Lösung

Das nachfolgende Beispiel erledigt genau diese Aufgabe und bringt Ordnung in eine überfüllte Seite. Dabei können Sie genau einstellen, wie viele Datensätze pro Seite angezeigt werden sollen. Zusätzlich besteht die Möglichkeit, entweder eine Seite vor- und zurückzublättern oder direkt zum Anfang oder zum Ende zu springen.

Über der Seitennavigation steht jeweils auf jeder Seite die Menge der Seiten in der Form (hier als Beispiel Seite 1 von 842):

Ergebnisseite 11 von 842

Im untenstehenden ZIP-Archiv finden Sie unter dem Namen statistik_pageviews.sql eine Beispiel-Datenbank, die Sie für dieses Beispiel zum Testen nutzen können. Sie können diese Datei direkt mit phpMyAdmin einlesen.

Wir werden Ihnen zuerst die Funktion navigationsLeiste() beschreiben und danach den Programmcode für den Seitenaufbau.

function navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables)
@param integer $SitesComplete
@param integer $seiteAktuell
@param string $extVariables
@return string

Die Funktion navigationsLeiste() erwartet als Parameter (30) zum einen die Gesamtzahl aller zur Verfügung stehenden Seiten, die aktuelle Seite und die anzuhängenden Variablen. Im ersten Schritt errechnen wir (33) die Anzeige für die Seitennavigation, also wie viele Seiten um unsere aktuelle Seite angezeigt werden sollen.

<< < 10 11 12 13 14 15 16 17 18 19 20 > >>

Die globale Variable NAV_LEISTE, die wir bei den Konfigurationsparametern (dazu später mehr) festgelegt haben, dient uns dabei als Grundlage für die Berechnung. Wir dividieren die Variable (im Beispiel 11) durch 2, runden mit floor() das Ergebnis ab und erhalten die Menge der jeweils anzuzeigenden Verlinkungen pro Seite (gesehen von der aktuellen Seitenzahl in der Navigationsleiste). Sie sollten daher für die globale Variable immer eine ungerade Zahl nehmen, um die Optik der Navigationsleiste zu wahren.

11 / 2 = 5,5 = 5

Falls die aktuelle Seite größer als 1 (Eins) ist (37), müssen wir den Pfeil für eine Seite zurück (39) und den Pfeil für die Verlinkung zur ersten Seite (zum Anfang) (38) darstellen. Beide Verlinkungen speichern wir in unsere Variable, die am Ende von der Funktion zurückgegeben wird. Im nächsten Schritt bauen wir die Seitenzahlen für die direkte Seitenverlinkung (1 2 3 4 5 . . . ) auf (43). Die FOR-Schleife können wir nicht einfach nur durchlaufen, sondern müssen sie anhand der aktuellen Seite berechnen (Start- und Endwert). Anhand eines Beispiels werden wir dies kurz erläutern:

$seiteAktuell = 9;
$NavCeil = 11 / 2;
// Ergebnis ist 5
for($x = 95;
$x<= 9+5; $x++)

Falls die aktuelle Seite z. B. 3 ist, so wird die Berechnung (mit -5) zwar durchgeführt, aber bei der Ausgabe keine negative Zahl angezeigt - diese Überprüfung (45) findet innerhalb der FOR-Schleife statt. Weiterhin wird auch nicht die aktuelle Seite innerhalb der Schleife verlinkt, sondern nur als Text dargestellt.

Zum Schluss der FOR-Schleife müssen wir noch das Ende, also die maximale Seitenzahl berücksichtigen. Falls wir nur 100 Seiten haben, die FOR-Schleife wegen unserer Berechnung aber bis 103 läuft, wird der überschüssige Betrag auch nicht angezeigt, da wir mit $SitesComplete die maximale Seitenzahl bereits kennen und hier entgegenwirken können.

Nachdem wir die FOR-Schleife durchlaufen haben, fehlt uns noch die Überprüfung, ob wir den Pfeil für eine Seite vor und den Pfeil für "zum Ende" anzeigen müssen (56, 57). Durch die Variable SitesComplete können wir hier die Abfrage starten und das Ergebnis auswerten (55).

Somit haben wir alle Elemente für die Darstellung zusammen und können jetzt die gefüllte Variable an die aufrufende Stelle zurückgeben (60).

030:
031:
032:
033:
034:
035:
036:
037:
038:
039:

040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:

057:

058:
059:
060:
061:
062: 		function navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables){

    // Die Menge der angezeigten Links für die Seiten werden errechnet
    $NavCeil = floor(NAV_LEISTE / 2);

    // Eine Seite zurück oder zum Anfang nur anzeigen, wenn mindestens eine Seite zurück
    // geblättert werden kann
    if($seiteAktuell > 1){
        $string .= '<a href="?site=1'.$extVariables.'"><<</a>&nbsp;&nbsp;';
        $string .= '<a href="?site='.($seiteAktuell-1).$extVariables.'">
            <</a>&nbsp;&nbsp;';
    }

    // Baut die Seitennavigation aúf (1 2 3 4 5 6 ... n)
    for($x=$seiteAktuell-$NavCeil;$x<=$seiteAktuell+$NavCeil;$x++){
        // Alle Seitenzahlen vor und nach der aktuellen Seite verlinken
        if(($x>0 && $x<$seiteAktuell) || ($x>$seiteAktuell && $x<=$SitesComplete))
            $string .= '<a href="?site='.$x.$extVariables.'">'.$x.'</a>&nbsp;&nbsp;';

        // Die Seitenzahl der aktuellen Seite nicht verlinken
        if($x==$seiteAktuell)
            $string .= $x . '&nbsp;&nbsp;';
    }

    // Eine Seite vor oder zum Ende nur anzeigen, wenn mindestens eine Seite weiter
    // geblättert werden kann
    if($seiteAktuell < $SitesComplete){
        $string .= '<a href="?site='.($seiteAktuell+1).$extVariables.'">>
         </a>&nbsp;&nbsp;';
        $string .= '<a href="?site='.$SitesComplete.$extVariables.'">>>
          </a>&nbsp;&nbsp;';
    }

    return $string;

}
Beispiel 5.2: blaettern.php

Für die Darstellung der Seitennavigation benötigen wir vorab einige Konfigurationsparameter. Als Erstes müssen wir die Menge der anzuzeigenden Datensätze pro Seite definieren (1). Sie sollten den Wert hierfür nicht zu groß wählen, da die Seite dann eventuell wieder zu lang und somit unübersichtlich wird. Ein Wert zwischen 10-15 hat sich im Allgemeinen sehr gut bewährt.

Der nächste Parameter (3) bestimmt die Menge der Seitenzahlen in der Navigationsleiste. Hier sollten Sie unbedingt eine ungerade Zahl nehmen, da die aktuelle Seite jeweils in der Mitte, also zentriert steht.

Hier in unserem Beispiel haben wir als Wert die 11 genommen. Somit ergibt sich auf jeder Seite, ausgehend von der aktuellen Seitenzahl, eine Darstellung von jeweils 5 Elementen um diese herum. Die aktuelle Seite muss also bei dem Wert mitgezählt werden (5 + 1 + 5 = 11).

Ergebnisseite 15 von 842
<< < 10 11 12 13 14 15 16 17 18 19 20 > >>

In unserem Beispiel haben wir die Datensätze aus einer Datenbank geholt, daher müssen Sie die Zugangsdaten ergänzen. Sie benötigen den Hostnamen (5), den Datenbanknamen (6), den Benutzernamen (7) sowie das Passwort (8). Mit diesen Parametern wird die Verbindung zum MySQL-Server hergestellt (10) und die Datenbank ausgewählt (11). Sollte es dabei zu einem Fehler kommen, wird die jeweilige Fehlermeldung am Browser ausgegeben.

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:

011:
         define("MAX_EINTRAEGE",10);

define("NAV_LEISTE",11);

define("DB_HOST","hostname");
define("DB_NAME","db-name");
define("DB_USER","User");
define("DB_PASS","Passwort");

$db = @MYSQL_CONNECT(DB_HOST,DB_USER,DB_PASS) or
   die("Datenbank-Connect fehlgeschlagen");
$db_check = @MYSQL_SELECT_DB(DB_NAME) or
   die("Datenbank momentan nicht erreichbar");

Sobald jemand über unsere Navigationsleiste eine Seite auswählt, wird die Seite neu geladen, und wir erhalten die angeforderte Seite in einer Variablen (65). Wir erzwingen sogleich eine Konvertierung (65) dieser Variablen in ein Integer, da wir zum einen übermittelten Variablen nicht einfach trauen sollten und zum anderen für unsere Datenbankabfrage nur Integer-Werte gebrauchen können. Wurde unsere Seite zum erstem Mal aufgerufen oder die Konvertierung lieferte den Wert 0 (Null), setzen wir den Startwert (69) auf die erste Seite.

Wir haben bereits die Variable für die maximale Anzahl der anzuzeigenden Datensätze (MAX_EINTRAEGE) fest in unserer Datei definiert. Was uns jetzt noch fehlt, ist der Startwert (72) für unsere MySQL-Abfrage. Wir limitieren bei der Datenbankabfrage die Datensätze und sagen, dass ab der x-Stelle ($start) insgesamt MAX_EINTRAEGE ausgegeben werden sollen. Um an den Startwert zu kommen, müssen wir nur die aktuelle Seitenzahl mit den maximalen Einträgen multiplizieren und vom Ergebnis die maximalen Einträge abziehen.

Beispiel: Die aktuelle Seite ist 8, und die maximalen Einträge sind 10.

8 * 10 -10 = 70

Somit wird unsere Datenbankabfrage (75) genau zehn Datensätze, beginnend von der Position 70 aus, liefern. Wir benötigen noch zusätzlich die Gesamtmenge aller Datensätze, die angezeigt werden können. Da wir die Datenbankabfrage (75) allerdings limitiert haben, würde hier nicht die gesuchte Menge geliefert werden, sondern in unserem Beispiel nur 10.

Daher stellen wir eine erneute Anfrage (78) an die Datenbank: Wir lassen uns nur die Datensätze zählen und als einzigen Wert zurückgeben (79). Diesen Wert benötigen wir für die Anzeige der kompletten Seitenzahlen (z. B. Seite 1 von 126). Die eigentliche Ausgabe der einzelnen Datensätze können Sie sich dann wie gewohnt in einer WHILE-Schleife (82-85) ausgeben lassen.

064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:

076:
077:
078:
079:
080:
081:
082:
083:
084:
085: 		// Die aktuell angeforderte Seite
$seiteAktuell = $_GET['site'] + 0;

// Falls noch keine Seitenzahl übergeben wurde, den Wert auf die erste Seite setzen
if(empty($seiteAktuell))
    $seiteAktuell = 1;

// Berechnet die nächsten Eintraege aus MAX_EINTRAEGE
$start = $seiteAktuell * MAX_EINTRAEGE - MAX_EINTRAEGE;

// Holt die aktuellen Datensätze aus - define("MAX_EINTRAEGE",10)
$result = @mysql_query("SELECT * FROM statistik_pageviews LIMIT
    $start, ".MAX_EINTRAEGE);

// Ermittelt die Gesamtzahl der Datensätze
$resultGesamt = @mysql_query("SELECT COUNT(*) AS menge FROM statistik_pageviews");
$Eintraege = @mysql_result($resultGesamt,0,"menge");

// Ausgabe der Seite
while($row = @mysql_fetch_row($result)){
    // Hier findet die Ausgabe des Seiteninhalts statt
    $contentWeb .= $row[0] . ' -- ' . $row[1] . '<br>';
}
Beispiel 5.3: blaettern.php

Wir hatten in der letzten Datenbankabfrage die Gesamtmenge aller Datensätze ermittelt. Diesen Wert benötigen wir, um die Anzahl der Seiten zu ermitteln (3). Wir dividieren daher die Gesamtzahl der Datensätze durch die Anzahl der Datensätze pro Seite.

Beispiel: 112 Datensätze, 10 Datensätze pro Seite

112 / 10 = 11,2

Wie Sie sehen, ist der Wert für die Seiten in diesem Fall eine Fließkommazahl. Da wir alle Datensätze berücksichtigen wollen, müssen wir das Ergebnis mit ceil() aufrunden und erhalten dann als Wert 11 Seiten. Mit dieser Angabe und der übermittelten Seitenzahl können wir den Texthinweis "Ergebnisseite X von Y" (93) ausgeben. X ist in diesem Fall die aktuelle Seite und Y die Gesamtmenge aller Seiten.

Falls Sie zusätzliche Parameter mit übergeben müssen (z. B. bei einer Suchanfrage das Suchwort), können Sie diese in eine Variable (97) speichern. Diese Variablen werden dann an die einzelnen Verlinkungen gehängt. Bitte vergessen Sie hier nicht das führende kaufmännische UND (&).

Im letzten Schritt müssen wir noch die einzelnen Verlinkungen mit der Funktion navigationsLeiste() (100) erstellen und erhalten als Rückgabewert den kompletten HTML-Code für die Seitenanzeige. Diese Variable (104) muss dann lediglich ausgegeben werden.

087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
         $contentWeb .= '<div align="center">';

// Errechnet die kompletten Seiten
$SitesComplete = ceil($Eintraege / MAX_EINTRAEGE);

// Ergebnisseite x von y anzeigen
$contentWeb .= 'Ergebnisseite ' . $seiteAktuell . ' von ' . $SitesComplete . '<br>';

// Weitere Variablen den Seitenzahlem mit übergeben in Form:
// &var1=wert1&var2=wert2
$extVariables = '&var1=wert1&var2=wert2';

// Navigation mit in Ausgabe einfügen
$contentWeb .= navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables);

$contentWeb .= '</div>';

echo $contentWeb;
Beispiel 5.4: blaettern.php

In unserer Beispieldatenbank, die Sie in dem beiliegenden ZIP-Archiv finden, befanden sich insgesamt 8420 Datensätze. Da wir pro Seite nur zehn Datensätze angezeigt haben, ergab sich eine Gesamtmenge aller Seiten von 842.

Ausgabe

141 -- / search_selfphp.php
142 -- / de/extras/download.php
143 -- / search_selfphp.php
144 -- / funktionsreferenz/php_informationen/get_extension_funcs.php
145 -- / de/extras/download.php
146 -- / search_selfphp.php
147 -- / funktionsreferenz/dateisystem_funktionen/fwrite.php
148 -- / search_selfphp.php
149 -- / search_selfphp.php
150 -- / search_selfphp.php

Ergebnisseite 15 von 842
<< < 10 11 12 13 14 15 16 17 18 19 20 > >>

Wie Sie an der Ausgabe sehr schön sehen, befindet sich unsere Seitennavigation am Seitenende und liefert uns damit alle notwendigen Verlinkungen für unsere Darstellung der einzelnen Seiten. Sie werden im nächsten Beispiel sehen, wie diese Ausgabe noch verändert werden kann.


Suchmaschine im Google-Format

Letztes Update: 25.07.2006 18:46:11

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Suchmaschine im Google-Format

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

suchmaschine.php, blaettern_grafik.php, suchmaschine.sql

Problem

Die zuvor beschriebene Problematik stellt sich auch hier bei diesem Beispiel ein. Allerdings wollen wir diesmal die Ausgabe der Seiten mit grafischen Elementen darstellen. Zusätzlich wird noch eine einfache Suchmaschine eingebaut.

Lösung

Wir werden in unserem Beispiel eine sehr einfache Suchmaschine erstellen, die innerhalb einer Datenbank nach einem Suchwort sucht und die Treffer auflistet. Zusätzlich soll sie selbstverständlich auch die Gesamtmenge der Treffer, die aktuelle Auflistungsmenge (z. B. 33 bis 48) und die Suchzeit für unsere Datenbankabfrage aufzeigen.

Im unteren Teil der Auflistung soll neben einer Textverlinkung für die einzelnen Seiten jeweils eine Grafik für jede Seite angezeigt werden. Sie kennen sicherlich die Funktionsweise von Google. Genau diesen Mechanismus werden wir hier vereinfacht nachbauen.

Sie sehen nachfolgend eine Grafik mit der möglichen Ausgabe. Aus Darstellungsgründen wurde die Webseite in der Breite so klein gezogen, dass sie hier im Buch noch einigermaßen gut dargestellt werden kann.

Das Beispielskript im beiliegenden ZIP-Archiv ist allerdings so konzipiert, dass die Ausgabe über die komplette Webseite geht. Sie müssen allerdings die Ausgabe der Treffer selbst modifizieren, indem Sie die Verlinkungen mit Ihrer Datenbank verknüpfen. Dieses sollte aber keinerlei Probleme darstellen, weil dafür nur wenige Zeilen Programmcode zu ändern sind.

Abbildung 5.2: Suche

function startTime()
@param void
@return float $time

Die Funktion startTime() erwartet keinen Parameter, sondern gibt lediglich die aktuelle Zeit in Sekunden zurück. Dafür wird zuerst die aktuelle Zeit in Sekunden und Mikrosekunden zerlegt (40). Im Anschluss daran werden beide Werte addiert (41) und das Ergebnis (also die Zeit als Fließkommazahl) zurückgegeben (43).

Dieser Wert dient uns als Startwert für die spätere Anzeige der Laufzeit unserer Suchanfrage. Daher wird auch diese Funktion bereits zum Anfang der Suche aufgerufen und der Wert zwischengespeichert.

038:
039:
040:
041:
042:
043:
044:
045: 		function startTime(){

    $timeExplode = explode(" ", microtime());
    $time = $timeExplode[1] + $timeExplode[0];

    return $time;

}
Beispiel 5.5: blaettern_grafik.php

function endTime($timer)
@param float $timer
@return float $endTime

Die Funktion endTime() berechnet die gesamte Laufzeit der Suchanfrage. Sie erwartet als Parameter den Startwert für die Suchanfrage. Dieser Startwert wurde bereits am Anfang der Datei mit der Funktion startTime() ermittelt. Wieder zerlegen wir die aktuelle Zeit in Sekunden und Mikrosekunden (49), addieren die beiden Werte (50) und subtrahieren () vom Ergebnis (51) den Startwert.

Bevor wir das Ergebnis, also die Laufzeit der Suchanfrage, zurückgeben (54) formatieren wir diesen Wert (52). Da die meisten Suchanfragen weit unter einer Sekunde liegen, kürzen wir das Ergebnis auf drei Stellen hinter dem Komma.

047:
048:
049:
050:
051:
052:
053:
054:
055:
056: 		function endTime($timer){

    $timeExplode = explode(" ", microtime());
    $time = $timeExplode[1] + $timeExplode[0];
    $finish = $time - $timer;
    $endTime = sprintf("%4.3f", $finish);

    return $endTime;

}
Beispiel 5.6: blaettern_grafik.php

function makeInfo($endTime,$seiteAktuell,$maxEintraege,$Eintraege, $infoText)
@param float $endTime
@param integer $seiteAktuell
@param integer $maxEintraege
@param integer $Eintraege
@param string $infoText
@return string $infoText

Die Funktion makeInfo() ist für unseren Infotext zuständig, also wie viele Treffer es gab, wie lange die Suche gedauert hat und welche Ergebnisse gerade angezeigt werden. Eine mögliche Ausgabe könnte folgendermaßen aussehen:

Ergebnisse 1 - 16 von ungefähr 125. (0.001 Sekunden)

Die Funktion erwartet die Laufzeit der Suchanfrage, die per $GET übermittelte aktuelle Seite, die maximalen Ergebnisse pro Seite, die Menge der gesamten Ergebnisse der Suchanfrage und den Infotext. Der Infotext wird bei den Konfigurationsparametern (später mehr dazu) festgelegt und hat die Form:

Ergebnisse {ERGEBNIS} von ungefähr {MENGE}. ({SEKUNDEN} Sekunden)

Im ersten Schritt ersetzen wir (59) in unserem Infotext den Flag {SEKUNDEN} durch die Laufzeit. Danach wird der Flag {MENGE} durch die Gesamtzahl der gelieferten Ergebnismenge ersetzt (60).

Wir berechnen im Anschluss daran, welche Ergebnisse momentan angezeigt werden (62-63) und ersetzen (65) die beiden Werte durch den Flag {ERGEBNIS}. Der Infotext ist somit fertig und kann an die aufgerufene Stelle zurückgegeben werden (67).

058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069: 		function makeInfo($endTime,$seiteAktuell,$maxEintraege,$Eintraege,$infoText) {
    $infoText = preg_replace("/{SEKUNDEN}/", $endTime, $infoText);
    $infoText = preg_replace("/{MENGE}/", $Eintraege, $infoText);

    $start = $seiteAktuell * $maxEintraege - $maxEintraege + 1;
    $end = $seiteAktuell * $maxEintraege;

    $infoText = preg_replace("/{ERGEBNIS}/", "$start - $end", $infoText);

    return $infoText;

}
Beispiel 5.7: blaettern_grafik.php

function navigationsLeiste($SitesComplete,$seiteAktuell)
@param integer $SitesComplete
@param integer $seiteAktuell
@return array $ausgabe

Die Funktion navigationsLeiste() berechnet die Gesamtzahl der anzuzeigenden Seiten, aktiviert oder deaktiviert die Seitennummer für die Verlinkungen und stellt die Möglichkeiten für "Eine Seite zurück" oder "Eine Seite vor" in einem Array dar.

Die Funktion erwartet als Parameter die kompletten anzuzeigenden Seiten, die aktuelle per GET übermittelte Seite und die Menge der anzuzeigenden Seitenzahlen.

Zuerst dividieren wir die anzuzeigenden Seitenzahlen durch 2 und runden das Ergebnis ab (83). Mit diesem Wert bauen wir links und rechts um unsere aktuelle Seitenzahl das Menü auf.

Nachfolgend ein Beispiel mit elf Seitenzahlen. Die aktuelle Seite ist hier 9.

11 / 2 = 5.5 abgerundet 5

Angenommen, wir können 30 Seitenzahlen darstellen, so wird die Ausgabe folgendermaßen aussehen - also auf jeder Seite fünf Seitenzahlen.

4 5 6 7 8 9 10 11 12 13 14

Die nächsten Schritte sind lediglich Überprüfungen, ob eine Zahl oder Grafik verlinkt oder angezeigt werden muss.

Sollte die aktuelle Seitenzahl größer als 1 sein (87), so könnte man die Darstellung "Eine Seite zurück" anzeigen. Daher speichern wir den Wert (Aktuelle Seite - 1) in unser mehrdimensionales Array (89). Zusätzlich wird die Möglichkeit gespeichert, direkt zur ersten Seite zu springen (88).

In unserem Beispiel wird diese Variable später allerdings nicht berücksichtigt. Sie können diese aber problemlos einbinden. Sollten wir uns bereits auf der ersten Seite befinden, so setzen wir den Wert auf FALSE (91).

Im zweiten Teil formulieren wir die Seitenzahlen (1 2 3 4 5 etc.). Wir nehmen als Beispiel wie vorhin eine Menge von elf Seitenzahlen und die aktuelle Seite 9 als Grundlage für unsere Erklärung. Die FOR-Schleife (95) darf bei so einer Navigation nicht bei 0 beginnen, sondern richtet sich jeweils nach der aktuellen Seite. In unserem Fall beginnt die Schleife bei 4 (9-5) und durchläuft sie 11-mal (9+5).

Falls $x größer als 0 (Null) und $x kleiner als die aktuelle Seite ist, wird die anklickbare Seitenzahl in unser Array (98) gespeichert. Ist $x größer als die aktuelle Seitenzahl und $x kleiner als die komplette Seitenzahl, wird die anklickbare Seitenzahl ebenfalls in unser Array (98) gespeichert.

Trifft keines der beiden Auswahlkriterien zu, handelt es sich um eine nicht anklickbare Seitenzahl und die Abfrage des Vergleichs (102) wird ausgeführt. Der Wert wird dann als nicht klickbar gespeichert (103).

Falls die aktuelle Seite kleiner als die komplette Seitenzahl ist, könnte man die Darstellung "Eine Seite vor" darstellen. Daher speichern wir den Wert (Aktuelle Seite + 1) in unser mehrdimensionales Array (110).

Zusätzlich wird die Möglichkeit gespeichert, direkt zur letzten Seite zu springen (111). In unserem Beispiel wird diese Variable später allerdings nicht berücksichtigt. Sie können diese aber problemlos einbinden. Sollten wir uns bereits auf der letzten Seite befinden, so setzen wir den Wert auf FALSE (113).

Wir geben zum Schluss unser mehrdimensionales Array an die aufrufende Stelle zurück (116).

080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118: 		function navigationsLeiste($SitesComplete,$seiteAktuell,$navLeiste){

    // Die Menge der angezeigten Links für die Seiten werden errechnet
    $NavCeil = floor($navLeiste / 2);

    // Eine Seite zurück oder zum Anfang nur anzeigen, wenn mindestens eine Seite zurück
    // geblättert werden kann
    if($seiteAktuell > 1){
        $ausgabe['begin']['second'] = 1;
        $ausgabe['begin']['first'] = $seiteAktuell-1;
    } else {
        $ausgabe['begin']['first'] = FALSE;
    }

    // Baut die Seitennavigation aúf (1 2 3 4 5 6 ... n)
    for($x=$seiteAktuell-$NavCeil;$x<=$seiteAktuell+$NavCeil;$x++){
        // Alle Seitenzahlen vor und nach der aktuellen Seite verlinken
        if(($x>0 && $x<$seiteAktuell) || ($x>$seiteAktuell && $x<=$SitesComplete)){
            $ausgabe['middle']['site'][] = $x;
        }

        // Die Seitenzahl der aktuellen Seite nicht verlinken
        if($x==$seiteAktuell) {
            $ausgabe['middle']['site'][][0] = $seiteAktuell;
            }
    }

    // Eine Seite vor oder zum Ende nur anzeigen, wenn mindestens eine Seite weiter
    // geblättert werden kann
    if($seiteAktuell < $SitesComplete){
        $ausgabe['end']['first'] = $seiteAktuell+1;
        $ausgabe['end']['second'] = $SitesComplete;
    } else{
        $ausgabe['end']['end'] = FALSE;
    }

    return $ausgabe;

}
Beispiel 5.8: blaettern_grafik.php

function makeText($ausgabe,$seiteAktuell,$href)
@param array $ausgabe
@param integer $seiteAktuell
@param array $href
@return string $string

Die Funktion makeText() erstellt jetzt mit dem eben erstellten mehrdimensionalen Array die Textausgabe der Seitenzahlen. Als Parameter erwartet die Funktion das mehrdimensionale Array, die aktuelle Seite und den Aufbau der Linkstruktur als Array. Diese Linkstruktur wird bei den Konfigurationsparametern gesetzt. Wir möchten Ihnen an dieser Stelle ein Beispiel liefern.

$href[0] = '<a href="'.$_SERVER["SCRIPT_NAME"].'?site={SITE}'.$extVariables.'">Zurück</a>';
$href[1] = '<a href="'.$_SERVER["SCRIPT_NAME"].'?site={SITE}'.$extVariables.'">{SITE}</a>';
$href[2] = '<a href="'.$_SERVER["SCRIPT_NAME"].'?site={SITE}'.$extVariables.'">Vorwärts</a>';

Wir durchlaufen wie in der vorherigen Funktion beschrieben unser Array und füllen es mit den Tabellen und Text-Verlinkungen.

Sollte der ausgelesene ArrayInhalt (122) größer oder gleich 1 (Eins) sein, so könnten wir die Ausgabe "Eine Seite zurück" anzeigen. Da wir in unserer Funktion navigationsLeiste() den Wert für die erste Seite auf FALSE gesetzt haben, greift hier erst bei der zweiten Seite die Abfrage.

Ist also die Seite größer oder gleich, so ersetzen wir in unserer Linkstruktur (siehe obiges Beispiel) die notwendigen Parameter (123) für die Seitenzahl. Ist die Seite kleiner, so speichern wir lediglich ein Leerzeichen.

Wir begeben uns wieder in die FOR-Schleife (129) und durchlaufen das Array, um die Seitenzahlen zu verlinken. Falls es sich bei dem Wert in dem Array um ein weiteres Array handeln sollte (130), so handelt es sich um die aktuelle Seite und wird daher nicht verlinkt, sondern nur als Text angezeigt.

Handelt es sich bei dem Wert nicht um ein Array (133), so müssen wir den Wert als Seitenzahl verlinken. Wir suchen in unserem Array $href[1] nach den Flags {SITE} und ersetzen (134) diese durch die aktuelle Seitenzahl. Das Ergebnis dieser Ersetzung hängen wir der Variablen $string an.

Sollte die aktuelle Seite kleiner als der Wert im ausgelesenen Array-Inhalt (138) sein, könnten wir die Ausgabe "Eine Seite vor" anzeigen. Ist die aktuelle Seite kleiner, ersetzen wir in unserem Array $href[2] (siehe obiges Beispiel) die notwendigen Parameter (139) für die Seitenzahl. Ist die Seite größer oder gleich, speichern wir lediglich ein Leerzeichen (141).

120:
121:
122:
123:

124:
125:
126:
127:
128:
129:
130:
131:
132:

133:
134:

135:
136:
137:
138:

139:

140:
141:
142:
143:
144:
145:
146:
147: 		function makeText($ausgabe,$seiteAktuell,$href) {
    $string .= '<tr>';
    if($ausgabe['begin']['second'] >= 1 || $ausgabe['begin']['first'] >= 1)    {
        $string .= '<td align="right">'.preg_replace("/{SITE}/i", $seiteAktuell-1,
                 $href[0]).'</td>';

    } else {
        $string .= '<td align="right">&nbsp;</td>';
    }

    foreach($ausgabe['middle']['site'] as $key => $value) {
        if(is_array($value)) {

            $string .= '<td align="center">'.$ausgabe['middle']['site'][$key][0].
                         '</td>';
        } else {
            $string .= '<td align="center">'.preg_replace("/{SITE}/i", $value,
                        $href[1]).'</td>';
        }
    }

    if($seiteAktuell < $ausgabe['end']['second'] ||
      $seiteAktuell < $ausgabe['end']['first']){
        $string .= '<td align="left">'.preg_replace("/{SITE}/i", $seiteAktuell+1,
                 $href[2]).'</td>';
    } else {
        $string .= '<td align="left">&nbsp;</td>';
    }

    $string .= '</tr>';

    return $string;
}
Beispiel 5.9: blaettern_grafik.php

function makeGraph($ausgabe,$seiteAktuell,$link,$grafik)
@param array $ausgabe
@param integer $seiteAktuell
@param string $link
@param array $grafik
@return string $string

Die Funktion makeGraph() erstellt mit dem eben erstellten mehrdimensionalen Array die Grafikausgabe der Seitenzahlen. Als Parameter erwartet die Funktion das mehrdimensionale Array, die aktuelle Seite, den Aufbau der Linkstruktur und die einzelnen Grafiken als Array-Element für die Darstellung der Seitennavigation. Die Linkstruktur sowie die Grafiken werden bei den Konfigurationsparametern gesetzt. Auch an dieser Stelle liefern wir Ihnen ein Beispiel.

$link = '<a href="'.$_SERVER["SCRIPT_NAME"].'?site={SITE}'.$extVariables.'">{LINK}</a>';
$grafik['backS'] = '<img src="pfeil_links.gif" border="0">';
$grafik['back'] = '<img src="s.gif" border="0">';
$grafik['site'] = '<img src="u_blau.gif" border="0">';
$grafik['none'] = '<img src="u_bbraun.gif" border="0">';
$grafik['next'] = '<img src="che.gif" border="0">';
$grafik['nextE'] = '<img src="pfeil_rechts.gif" border="0">';

Zuerst definieren wir ein Array (150) mit den zu ersetzenden Flags, die bereits in der übergebenen Variable $link gesetzt wurden. Anhand dieser Flags werden nachher die einzelnen Links für die Seitennavigation aufgebaut.

Falls wir uns auf einer größeren Seite als 1 (eins) befinden (155), können wir die Grafiken für "Eine Seite zurück" anzeigen. Wir ersetzen (159) daher in unserem übergebenen Link die Flags {SITE} und {LINK} durch den jeweiligen Wert für "Eine Seite zurück" und speichern den String in unsere Variable (159).

Befinden wir uns auf der ersten Seite (161), so dürfen wir die Grafik nicht verlinken, da sie sonst auf 0 (Null) zeigen und es zu einem Fehler kommen würde. Wir speichern daher nur die Grafik ohne Verlinkung in unsere Variable (162).

Wir müssen nun die Grafiken für die einzelnen Seiten aufbauen, also für jede Seite eine eigene kleine Grafik. Wir durchlaufen das Array und speichern entweder eine nicht verlinkte Grafik für unsere aktuelle Seite (168) oder eine verlinkte Grafik (173).

Anschließend müssen wir nur noch das Ende der Seitenverlinkung herstellen. Wenn also unsere aktuelle Seite kleiner (177) ist als die Gesamtmenge, können wir auch "Eine Seite vor" anzeigen. Wir speichern eine verlinkte Grafik (180) in unsere bestehende Variable (180). Sollten wir uns bereits auf der letzten Seite befinden, müssen wir lediglich die Grafik ohne Verlinkung in unsere Variable speichern (183).

Nachdem wir die komplette Verlinkung erstellt haben, müssen wir diese Variable der aufrufenden Stelle zurückgeben (188).

149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:

174:
175:
176:
177:

178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189: 		function makeGraph($ausgabe,$seiteAktuell,$link,$grafik) {
    $search = array(
        "/{SITE}/",
        "/{LINK}/"
     );
    $string .= '<tr>';
    if($ausgabe['begin']['second'] >= 1 || $ausgabe['begin']['first'] >= 1) {

        $replace[0] = $seiteAktuell-1;
        $replace[1] = $grafik['backS'].$grafik['back'];
        $string .= '<td align="right">'.preg_replace($search, $replace, $link).'</td>';

    } else {
        $string .= '<td align="right">'.$grafik['back'].'</td>';
    }

    foreach($ausgabe['middle']['site'] as $key => $value) {
        if(is_array($value)) {

            $string .= '<td align="center">'.$grafik['none'].'</td>';

        } else {
            $replace[0] = $value;
            $replace[1] = $grafik['site'];
            $string .= '<td align="center">'.preg_replace($search, $replace,
                        $link).'</td>';
        }
    }

    if($seiteAktuell < $ausgabe['end']['second'] ||
            $seiteAktuell < $ausgabe['end']['first']){
        $replace[0] = $seiteAktuell+1;
        $replace[1] = $grafik['next'].$grafik['nextE'];
        $string .= '<td align="left">'.preg_replace($search, $replace, $link).'</td>';

    } else {
        $string .= '<td align="right">'.$grafik['next'].'</td>';
    }

    $string .= '</tr>';

    return $string;
}
Beispiel 5.10: blaettern_grafik.php

Die Konfigurationsparameter für unser Beispiel sind relativ simpel und schnell geschehen. Wir benötigen dabei folgende Parameter:

  • die maximalen Suchergebnisse (4)
  • die Anzahl der Seitenzahlen bei der Seitenverlinkung (9)
  • den MySQL-Hostnamen (12)
  • die MySQL-Datenbank (13)
  • der MySQL-User (14)
  • das MySQL-Passwort (15)

Zusätzlich benötigen wir die verschiedenen Verlinkungen, zum einen für die Textverlinkung (19) und zum anderen die Verlinkungen für die einzelnen Grafiken. Dabei gibt es folgende Zustände für die Textverlinkungen:

  • Eine Seite zurück (21)
  • Die einzelnen Seiten selbst (22)
  • Eine Seite vor (23)

Für die Verlinkung der einzelnen Grafiken benötigen wir lediglich eine Variable, um nachher alle Grafiken verlinken zu können (24). Die einzelnen Grafiken können Sie über die einzelnen Variablen (27-32) steuern oder austauschen.

Wir müssen jetzt lediglich den Connect zur Datenbank herstellen, um die späteren Datenbankabfragen stellen zu können (35, 36).

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:

022:

023:

024:

025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:

036: 		<?PHP

// Wieviel Einträge pro Seite sollen dargestellt werden?
$maxEintraege = 16;

// Wieviel Seitenzahlen in der Navigationsleiste angezeigt werden. Ausgabe kann sein
// << < 2 3 4 5 6 7 8 9 10 11 12 > >>
// Die Berechnung erfolgt nur für ungerade Zahlen!!!
$navLeiste = 13;

// Definiert die Parameter für den Datenbank Connect
define("DB_HOST","localhost"); // MySQL hostname
define("DB_NAME","db151892537"); //MySQL db-name
define("DB_USER","dbo151892537"); //MySQL User
define("DB_PASS","FDvmhU8E"); // MySQL Passwort

// Weitere Variablen den Seitenzahlem mit übergeben in Form:
// &var1=wert1&var2=wert2
$extVariables = '&textfield='.urlencode($_GET['textfield']);

$href[0] = '<a href="'.$_SERVER["SCRIPT_NAME"].'?site={SITE}'.
             $extVariables.'">Zurück</a>';
$href[1] = '<a href="'.$_SERVER["SCRIPT_NAME"].'?site={SITE}'.
             $extVariables.'">{SITE}</a>';
$href[2] = '<a href="'.$_SERVER["SCRIPT_NAME"].'?site={SITE}'.
            $extVariables.'">Vorwärts</a>';
$link = '<a href="'.$_SERVER["SCRIPT_NAME"].'?site={SITE}'.
             $extVariables.'">{LINK}</a>';
$infoText = 'Ergebnisse {ERGEBNIS} von ungefähr {MENGE}. ({SEKUNDEN} Sekunden) ';
$tableNavi = '<div align="center"><table>{TABLENAVI}</table></div>';
$grafik['backS'] = '<img src="pfeil_links.gif" border="0">';
$grafik['back'] = '<img src="s.gif" border="0">';
$grafik['site'] = '<img src="u_blau.gif" border="0">';
$grafik['none'] = '<img src="u_bbraun.gif" border="0">';
$grafik['next'] = '<img src="che.gif" border="0">';
$grafik['nextE'] = '<img src="pfeil_rechts.gif" border="0">';

// Datenbank Connect herstellen
$db = @MYSQL_CONNECT(DB_HOST,DB_USER,DB_PASS) or
             die("Datenbank-Connect fehlgeschlagen");
$db_check = @MYSQL_SELECT_DB(DB_NAME) or
            die("Datenbank momentan nicht erreichbar");
Beispiel 5.11: blaettern_grafik.php

Wir müssen zu Beginn als Erstes den Timer für die spätere Anzeige setzen (192). Hierbei wird die aktuelle Zeit gespeichert. Wurde eine Seitenzahl durch den Besucher angeklickt, ist unsere Variable $_GET['site'] mit einem Wert gefüllt (195). Da wir nur IntegerWerte benötigen, erzwingen wir mit der Addition von 0 (Null) eine Konvertierung der Variable in einen IntegerWert.

Falls die Variable leer ist oder Null (198), setzen wir den Startwert auf 1 (Eins) (199). Wir errechnen jetzt den Wert für unsere spätere Datenbankabfrage. Wir wollen erreichen, dass ab einer bestimmten Position in der Datenbank die Datensätze ausgelesen werden. Wenn wir also z. B. 16 Einträge anzeigen lassen wollen, so müssen wir den Wert folgendermaßen berechnen:

  • Seite 1 1 * 16 - 16 = 0
  • Seite 2 2 * 16 - 16 = 16
  • Seite 3 3 * 16 - 16 = 32

Dies geht dann bis zur maximalen Anzahl so weiter. Wir haben somit den jeweiligen Startwert für unsere Abfrage (205). Es kann so ein Limit bei der Abfrage gesetzt werden, da wir den Startwert und die maximalen Einträge vorliegen haben. Als Ergebnis erhalten wir nur die maximale Menge, mehr nicht.

Was jetzt noch fehlt, sind die gesamten Suchtreffer, da wir diese ebenfalls anzeigen möchten. Wir setzen also nochmals die gleiche Abfrage ab (210), allerdings diesmal ohne ein Limit und ohne Werte aus der Datenbank.

Wir speichern den gefundenen Wert der Gesamtmenge (212) und berechnen daraus die maximalen Seitenzahlen (215). Wir müssen lediglich darauf achten, diesen Wert noch aufzurunden, um alle Datensätze anzeigen zu können.

Wir übergeben die Werte an die Funktion navigationsLeiste() (218) und erhalten als Rückgabewert ein Array mit allen Navigationselementen. Dieses Array geben wir anschließend an die Funktion makeText() (220) für die Textverlinkung und an die Funktion makeGraph() (222) für die Grafikverlinkung. Wir erhalten jeweils als Rückgabewert einen String mit der formatierten Seitennavigation.

Im nächsten Schritt müssen wir unsere Datenbankabfrage mit den Ergebnissen ausgeben (225-228) und danach nochmals den Timer für die Gesamtzeit aufrufen (231). Dabei übergeben wir der Funktion endTime() den Startwert und erhalten als Rückgabewert die komplette Suchzeit.

Jetzt haben wir alle Informationen zusammen, um unseren Hinweistext für die Ausgabe vorzubereiten (233). Dieser Text beinhaltet z. B. die Suchzeit, die aktuellen Datensätze als Zahl und die Suchtreffer. Zum Schluss müssen wir nur noch die Navigationsleiste in unserer Variablen ersetzen (235).

191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:

208:
209:
210:
211:

212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235: 		// Startet den Timer
$timer = startTime();

// Die aktuell angeforderte Seite
$seiteAktuell = $_GET['site'] + 0;

// Falls noch keine Seitenzahl übergeben wurde, den Wert auf die erste Seite setzen
if(empty($seiteAktuell))
    $seiteAktuell = 1;

// Berechnet die nächsten Eintraege aus MAX_EINTRAEGE
$start = $seiteAktuell * $maxEintraege - $maxEintraege;

// Holt die aktuellen Datensätze aus - define("MAX_EINTRAEGE",10)
//$result = @mysql_query("SELECT * FROM suchmaschine LIMIT $start, ".$maxEintraege);

$result = @mysql_query("SELECT * FROM suchmaschine WHERE words LIKE('%".
      $_GET['textfield']."%') LIMIT $start, ".$maxEintraege);

// Ermittelt die Gesamtzahl der Datensätze
//$resultGesamt = @mysql_query("SELECT COUNT(*) AS menge FROM suchmaschine");
$resultGesamt = @mysql_query("SELECT COUNT(*) AS menge FROM suchmaschine WHERE words
      LIKE('%".$_GET['textfield']."%')");
$Eintraege = @mysql_result($resultGesamt,0,"menge");

// Errechnet die kompletten Seiten
$SitesComplete = ceil($Eintraege / $maxEintraege);

// Navigation mit in Ausgabe einfügen
$ausgabe = navigationsLeiste($SitesComplete,$seiteAktuell,$navLeiste);

$ausgabeText = makeText($ausgabe,$seiteAktuell,$href);

$ausgabeGraph = makeGraph($ausgabe,$seiteAktuell,$link,$grafik);

// Ausgabe der Seite
while($row = @mysql_fetch_row($result)){
    // Hier findet die Ausgabe des Seiteninhalts statt
    $contentWeb .= $row[2] . '<br>';
}

// Beendet den Timer
$endTime = endTime($timer);

$infoText = makeInfo($endTime,$seiteAktuell,$maxEintraege,$Eintraege,$infoText);

$leisteBottom = preg_replace("/{TABLENAVI}/", $ausgabeGraph . $ausgabeText, $tableNavi);
Beispiel 5.12: blaettern_grafik.php

Wie Sie sehen, haben Sie jetzt eine fast fertige Lösung für eine Suchmaschine à la Google. Sie müssen selbstverständlich noch einige Dinge anpassen, werden dies aber relativ einfach lösen können.


Grundlegende Informationen

Letztes Update: 25.07.2006 18:57:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Grundlegende Informationen

Bei den folgenden Beispielen in diesem Buch ist zu beachten:

Es kann passieren, dass nach Ausführen des Skripts keine Datei erstellt wurde. Dies liegt dann wahrscheinlich daran, dass die erforderlichen Rechte für das Verzeichnis, in dem das Skript ausgeführt wurde, nicht richtig gesetzt sind und angepasst werden müssen. Sie müssen dann die Rechte für das Verzeichnis mit Ihrem FTP-Programm folgendermaßen neu setzen:

o+rwx
  • r Leserechte
  • w Schreibrechte
  • x Recht zum Ausführen

Abbildung 6.1: Rechte

Nachdem Sie die Rechte mit Ihrem FTP-Programm geändert haben, sollte das Beispiel einwandfrei funktionieren und nach Ablauf eine Datei in dem Verzeichnis erstellt haben.


Download mit wget

Letztes Update: 25.07.2006 19:22:31

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Download mit wget

Systemvoraussetzung

  • Linux
  • PHP 4 >= 4.2.0
  • PHP 5
  • TAR
  • GZIP

Datei(en)

wget.php

Problem

Sie kennen sicher das Problem: Sie wollen Ihr neues Forum oder eine Administrationssoftware für Ihre Datenbank installieren, und alleine der Upload aller Dateien von Ihrem lokalen Rechner auf den Server dauert eine Ewigkeit. Anhand des Datenbankadministrationstools phpMyAdmin kann man sehr schön darstellen, wie häufig vorgegangen wird.

  • Download der gepackten Software von der Homepage
  • Auf dem eigenen Clientrechner entpacken
  • Per FTP alle entpackten Dateien zum Server hochladen.

Diese Vorgehensweise ist immer noch stark verbreitet. Je nach Geschwindigkeit kann dieser Weg aber sehr lange dauern. In der Regel geht zwar der Download sehr schnell, dafür zieht sich der Upload umso länger.

Denn die Uploadgeschwindigkeit ist in der Regel sehr viel kleiner als beim Download. Zudem müssen Hunderte von Dateien per FTP hochgeladen und einzeln geprüft werden. Als Beispiel soll hier wieder phpMyAdmin herhalten. Der komplette Inhalt von phpMyAdmin umfasst insgesamt ca. 620 Dateien und Verzeichnisse.

Dieser Vorgang kann schon mal gute 20 bis 30 Minuten dauern! Stellen Sie sich aber vor, wie viel Zeit Sie sich sparen, wenn Sie den ganzen Prozess in noch nicht einmal 10 bis 20 Sekunden erledigen könnten. Das folgende Beispiel zeigt, wie es geht.

Lösung

Die Lösung heißt wget! Dabei laden wir erst gar nicht die Software auf unseren Clientrechner, sondern direkt von der Downloadseite des Anbieters auf unseren Server im Internet. Dieser Vorgang dauert nicht einmal 10 bis 15 Sekunden. Danach entpacken wir direkt die Datei und können die eigentliche Installation wie gewohnt ausführen.

Sie können das nachfolgende Beispiel ohne weiteres so umschreiben, dass es auch für PHP3 funktioniert. Sie müssen dafür folgende Funktionen austauschen:

  • md5_file(), PHP 4 >= 4.2.0, PHP 5
  • escapeshellarg(), PHP 4 >= 4.0.3, PHP 5

Anstelle von md5_file() könnten Sie die Datei mit fread() einlesen und mit md5() testen. escapeshellarg() könnten Sie gegen escapeshellcmd() ersetzen. Sie könnten das Programm auch so umschreiben, dass Sie es mit einem Webformular nutzen können, statt wie hier beschrieben nur im Quellcode. Sie sollten dann aber darauf achten, dass Sie die Datei hinter einen Verzeichnisschutz stellen. Im Kapitel "Verschlüsselung/Prüfsummen" finden Sie ein Programm, das auch dieses Problem sehr schnell und einfach für Sie erledigt.

Wir geben zuerst den kompletten http-Link (26) zu der Datei ein, die wir downloaden möchten. Wir benötigen weiterhin den reinen Dateinamen der Datei (28), da wir diesen für die MD5-Prüfsumme und den Entpackvorgang benötigen. Sie könnten hier auch eine Routine hinzufügen, die den Dateinamen aus der URL extrahiert.

In der Regel bieten Anbieter von Softwareprodukten eine MD5-Prüfsumme (30) bei ihrem Download mit an. Diese Summe soll sicherstellen, dass es sich um die originale Datei handelt und nicht um eine geänderte Version.

Weiterhin kann man an dieser Prüfsumme bei der Überprüfung feststellen, ob die herunter geladene Datei wirklich vollständig übertragen wurde. Wir erstellen nach dem Download eine eigene MD5-Prüfsumme (40) und vergleichen (40) diese mit der Prüfsumme des Anbieters (30). Sind beide Werte identisch, handelt es sich um die Original-Datei und wurde vollständig übertragen.

Man sollte niemals ungeprüfte Formulardaten an die Shell übergeben (34), da dies ein sehr hohes Sicherheitsrisiko darstellt. Mit escapeshellarg() werden solche Variablen maskiert, damit keine ungewollten zusätzlichen Befehle ausgeführt werden können. Hier im Beispiel bräuchten wir das eigentlich nicht, da wir keine Daten übergeben bekommen.

Im nächsten Schritt übergeben wir mit exec() (34) den Shell-Befehl wget mit unserer Download-URL an die Shell, die daraufhin den Download startet und die Datei im gleichen Verzeichnis wie die ausgeführte PHP-Datei speichert.

Die Prüfsumme der Datei müssen Sie nicht berechnen, ich rate Ihnen aber dazu. Wir setzen zuerst die Variable für den Check (38) auf FALSE, also dass ein Fehler aufgetreten ist. Falls die Variable der Prüfsumme (30) nicht leer sein sollte, so überprüfen wir (40) die Variable mit der MD5-Prüfsumme der gerade herunter geladenen Datei. Sind sie identisch (40), so setzen wir unsere Variable für den Check auf TRUE (41), ansonsten geben wir einen Fehler aus.

Falls die Variable der Prüfsumme (30) leer war, können wir direkt unsere Variable für den Check auf TRUE (47) setzen, da wir keine Überprüfung vornehmen müssen.

Im letzten Schritt müssen wir die gerade geholte Datei entpacken. Dafür bereiten wir den Befehl zum Entzippen vor (53), maskieren (54) ihn wieder, um ihn dann anschließend mit exec() an die Shell zu übergeben (56). Als Rückgabewert erhalten wir eine Auflistung aller entpackten Dateien.

Sie können jetzt wie gewohnt die Installation fortsetzen. Falls es sich bei der downloadbaren Datei nicht um eine GZIP-Datei handelt, sondern vielleicht um eine BZIP2- oder ZIP-Datei, lesen Sie im Kapitel "Komprimieren/Archivieren/Backups" nach.

Dort finden Sie alle Möglichkeiten, um mit solchen Dateien ebenfalls spielend umgehen zu können. Zudem finden Sie in diesem Kapitel weitere Informationen zum Thema Zippen/Entzippen.

26:

27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
         $fileURL = "http://umn.dl.sourceforge.net/sourceforge/phpmyadmin/
       phpMyAdmin-2.8.0.3.tar.gz";

$fileName = "phpMyAdmin-2.8.0.3.tar.gz";

$md5Check = "1ca0b652e39010d906e3ea3a02fb9d82";

$escape = escapeshellarg($fileURL);

exec("wget " . $escape);

$unzip = FALSE;

if(!empty($md5Check)){

    if(md5_file($fileName) == $md5Check)
        $unzip = TRUE;
    else
        echo "Checksummen stimmen nicht überein!";

} else {

    $unzip = TRUE;

}

if($unzip) {

    $shellBefehl = "tar -xzvf $fileName";
    $shellBefehl = escapeshellcmd($shellBefehl);

    exec($shellBefehl,$nu);

    print_r($nu);

}

Ausgabe im Browser (verkürzte Darstellung)

Array
(
[0] => phpMyAdmin2.8.0.3/
[1] => phpMyAdmin2.8.0.3/Documentation.txt
[2] => phpMyAdmin2.8.0.3/CREDITS
[3] => phpMyAdmin2.8.0.3/ChangeLog
:
:
:
[614] => phpMyAdmin2.8.0.3/themes/original/img/vertical_line.png
[615] => phpMyAdmin2.8.0.3/themes/original/info.inc.php
[616] => phpMyAdmin2.8.0.3/themes/original/layout.inc.php
[617] => phpMyAdmin2.8.0.3/themes/original/screen.png
)

Wie Sie gesehen haben, wurde das Problem mit wenigen Zeilen Programmcode gelöst und Sie müssen nur noch eventuelle Konfigurationseinstellungen in Ihrem neuen Programm anpassen.


Dateidownload realisieren

Letztes Update: 25.07.2006 20:19:27

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateidownload realisieren

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

download.php

Problem

Sicher standen Sie schon öfter vor dem Problem, dass Sie eine Datei zum Download anbieten wollten, diese aber nicht direkt angesprochen werden durfte. Gerade wenn Sie einen Download mitzählen möchten und den Wert in eine Datenbank speichern, müssen Sie die Dateien mit einer anderen Variante ausliefern.

Eventuell verkaufen Sie aber auch auf Ihrer Webseite spezielle Bilder, die nicht direkt abgerufen werden dürfen, sondern erst nach einer Freigabe. Sie werden nachfolgend eine Lösung für diese Probleme finden.

Lösung

Das Problem ist mit wenigen Handgriffen beseitigt. Sie sollten allerdings darauf achten, dass das Verzeichnis mit den Dateien nicht über den Browser zu erreichen ist - also außerhalb des Document-Root liegt.

Sie können alternativ auch ein Verzeichnis mit einem Verzeichnisschutz erstellen. Im Kapitel "Verschlüsselung/Prüfsummen" finden Sie ein Programm, das Ihnen den Verzeichnisschutz automatisch erstellt.

Weiterhin müssen Sie darauf achten, dass Sie bei dem angebotenen Download jeweils auch die richtigen Mime-Typen mitliefern. Dabei besteht ein Mime-Typ aus zwei Bereichen, zum einen die Angabe des Medientyps und zum anderen die Angabe des Subtyps. Beide Werte sind lediglich mit einem Schrägstrich (/) voneinander getrennt.

Beispiel

image/png
application/pdf

Nachfolgend finden Sie eine Auflistung von verschiedenen und häufig genutzten MimeTypen. Falls Sie weitere Typen benötigen, erhalten Sie auf der folgenden Webseite eine sehr große Auswahl an verschiedenen Typen. Sie haben dort auch die Möglichkeit, die Liste der MimeTypen zu erweitern. Webseite von IANA (Internet Assigned Numbers Authority):

  • http://www.iana.org/assignments/mediatypes/

Content Types

text | Textdateien
image | Grafikdateien
video | Videodateien
audio | Sound-Dateien
application | programmgebundene Dateien
multipart | mehrteilige Daten (z. B. bei einem Formular inkl. Dateiupload)
message | Nachrichten
model | Dateien mit mehrdimensionalen Strukturen

Content Types/Subtypes

.avi | video/x-msvideo | .ppt | application/mspowerpoint
.class | application/octet-stream | .ppz | application/mspowerpoint
.css | text/css | .ps | application/postscript
.doc | application/msword | .qt | video/quicktime
.eps | application/postscript | .ra | audio/x-realaudio
.exe | application/octet-stream | .ram | audio/x-pn-realaudio
.gif | image/gif | .rm | audio/x-pn-realaudio
.gtar | application/x-gtar | .rpm | audio/x-pn-realaudio-plugin
.gz | application/x-gzip | .rtf | text/rtf
.htm | text/html | .rtx | text/richtext
.html | text/html | .sgm | text/sgml
.jpe | image/jpeg | .sgml | text/sgml
.jpeg | image/jpeg | .tar | application/x-tar
.jpg | image/jpeg | .tcl | application/x-tcl
.js | application/x-javascript | .tif | image/tiff
.midi | audio/midi | .tiff | image/tiff
.mov | video/quicktime | .txt | text/plain
.movie | video/x-sgi-movie | .vrml | model/vrml
.mp2 | audio/mpeg | .wav | audio/x-wav
.mp3 | audio/mpeg | .wrl | model/vrml
.mpe | video/mpeg | .xbm | image/x-xbitmap
.mpeg | video/mpeg | .xlc | application/vnd.ms-excel
.mpg | video/mpeg | .xll | application/vnd.ms-excel
.mpga | audio/mpeg | .xlm | application/vnd.ms-excel
.pbm | image/x-portable-bitmap | .xls | application/vnd.ms-excel
.pdf | application/pdf | .xlw | application/vnd.ms-excel
.png | image/png | .xml | text/xml
.pps | application/mspowerpoint | .zip | application/zip

Wie Sie sehen, ist die Liste bereits sehr groß, aber in der Regel braucht man nicht mehr als eine Hand voll, um gewisse Dateien ausliefern zu können.

Wir kümmern uns jetzt aber nicht weiter um diese Dateitypen, sondern schauen uns den Programmcode an. Zuerst werden wir uns mit der Funktion beschäftigen, die nachher die Datei ausliefern wird.

function makeDownload($file, $dir, $type)
@param string $file
@param string $dir
@param string $type
@return void

Die Funktion makeDownload() erwartet als Parameter den Dateinamen für den Download, das Verzeichnis, in dem die Datei liegt (inkl. abschließendem Slash (/)!), und den Mime-Typ der jeweiligen Datei.

Wurden alle Parameter übertragen, wird zuerst der Mime-Type der Datei zum Browser gesendet (37) und im Anschluss daran der Dateiname (39) für die Speicherung auf dem Clientrechner. Sie können an dieser Stelle einen freien Namen für die Datei auswählen, müssen also nicht den realen Namen der Datei nehmen.

Zum Schluss müssen wir jetzt noch die Datei ausgeben. Dafür nutzen wir readfile() (41), lesen also die komplette Datei ein und geben Sie am Browser aus. Der Benutzer erhält z. B. in einer Zip-Datei den Dialog für das Speichern der Datei.

35:
36:
37:
38:
39:
40:
41:
42:
43:
         function makeDownload($file, $dir, $type) {

    header("Content-Type: $type");

    header("Content-Disposition: attachment; filename=\"$file\"");

    readfile($dir.$file);

}
Beispiel 6.2: download.php

Sie müssen zuerst zwei Konfigurationsparameter setzen. Zum einen benötigen Sie den Pfad (inkl. abschließendem Slash) zu Ihrem Downloadverzeichnis (51), zum anderen den Mime-Typen für die Datei (53). Falls Sie später mehrere verschiedene Dateien zum Download anbieten wollen, könnten Sie die Mime-Typen in ein Array schreiben und jeweils den richtigen Wert zuweisen.

Falls jetzt per GET ein Dateiname übermittelt wird, also nicht leer ist und die Variable keine Slashes (/) enthält, so können wir die Abfrage (55) weiter durchlaufen. Die Abfrage dient lediglich zum Schutz, damit niemand eine Datei außerhalb Ihres Verzeichnisses downloaden kann.

Im nächsten Schritt (56) überprüfen wir, ob die Datei vorhanden ist und sie somit zum Download angeboten werden kann. Wurde die Datei gefunden, so rufen wir unsere Funktion makeDownload() auf und übergeben den Dateinamen, das Verzeichnis und den Mime-Type der Datei.

51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
         $dir = '/is/htdocs/wp1042434_BDEO6BJ7VB/www/download/';

$type = 'application/zip';

if(!empty($_GET['file']) && !preg_match('=/=', $_GET['file'])) {
    if(file_exists ($dir.$_GET['file']))     {
        makeDownload($_GET['file'], $dir, $type);
    }

}
Beispiel 6.3: download.php

Der Download wurde sehr schnell gelöst. Sie könnten das Programm noch erweitern und vor allem sicherer machen. Wir möchten Ihnen hierfür ein paar Tipps geben, sodass Sie es selbst umsetzen können.

Erstellen Sie ein Array mit den Dateinamen, die zum Download angeboten werden. Wird jetzt die Variable $_GET['file'] übermittelt, überprüfen Sie, ob der übermittelte Dateiname auch im Array vorkommt. Dies ist ein zusätzlicher Schutz, damit keine anderen Dateien ausgeliefert werden.

Erstellen Sie ein Array mit den Mime-Typen und setzen anhand der Dateiendung jeweils automatisch den richtigen Mime-Typ für die Datei.

Erzeugen Sie bei der Auslieferung der Dateien für die Header-Content-Disposition einen zufälligen Dateinamen und liefern diesen aus.

Es gibt also noch viele Ansätze, die man berücksichtigen kann. Lassen Sie Ihre Fantasie spielen, und erweitern Sie das Programm.

Sie sollten allerdings immer Ihre Downloads vorher mit verschiedenen Browsern testen, um sicher gehen zu können, dass die Dateien richtig ausgeliefert werden.


Spezielle Filtermechanismen für Dateien und Verzeichnisse

Letztes Update: 25.07.2006 20:45:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Spezielle Filtermechanismen für Dateien und Verzeichnisse

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.3.0
  • PHP 5

Datei(en)

glob.php, glob1.php, glob2.php

Problem

Gerade wenn es darum geht, bestimmte Dateien eines Ordners oder Verzeichnisse selbst aufzulisten, sieht man immer wieder die Schwierigkeiten. Die Auflistung funktioniert zwar meistens, aber wenn auch Filterungen mit einbezogen werden sollen, so scheitert es oftmals.

Es gibt für diesen Fall viele Anwendungsmöglichkeiten wie z. B. :

  • Nur JPG-Dateien eines Verzeichnisses auflisten
  • Nur Dateien auflisten, die z. B. mit bestimmten Buchstaben anfangen
  • Alle Dateien auflisten, die das Wort Urlaub im Namen haben
  • Verzeichnisse auflisten, die den Suchkriterien entsprechen

Wie Sie sehen, muss man sich nur ein wenig Gedanken machen und es bieten sich sehr viele Anwendungsmöglichkeiten, die mit dieser Filtermethode realisiert werden können. Daher sollten wir uns mit diesem Thema auch näher beschäftigen.

Lösung

Die Lösung für dieses Problem können wir mit einer bereits implementierten Funktion von PHP realisieren. Bei der Funktion handelt es sich um glob(), die wir für unsere nachfolgenden Beispiele heranziehen werden. Wir werden uns zuerst die möglichen Schalter und Platzhalter anschauen, um diese dann für gewisse Aufgaben gezielt einzusetzen.

Unterstützte Schalter

  • GLOB_MARK - fügt jedem gefundenen Eintrag einen Slash hinzu. Gerade bei Verzeichnissen ist dieses wünschenswert, da Dateinamen direkt angehängt werden können.
  • GLOB_NOSORT - deaktiviert die Sortierung. Die Standardeinstellung ist auf alphabetische Sortierung eingestellt.
  • GLOB_NOCHECK - falls kein Eintrag gefunden wird, kann man sich hiermit das Suchmuster zurückgeben lassen.
  • GLOB_NOESCAPE - Metazeichen im Suchtreffer werden nicht mit einem Backslash versehen. Unter Windows sollten Sie diese Option setzen.
  • GLOB_BRACE - setzt einen Platzhalter für mehrere Suchaufzählungen. Der Platzhalter {a,b,c} findet 'a', 'b', oder 'c'
  • GLOB_ONLYDIR - bei der Suche werden nur Verzeichnisse berücksichtigt (vor PHP 4.3.3 nicht auf Windows verfügbar).
  • GLOB_ERR - stoppt bei einem Lesefehler (ab PHP 5.1).

Die Schalter können auch miteinander verbunden werden.

glob("[so]*_?.png",GLOB_BRACE|GLOB_ERR)

Folgende Platzhalter stehen zur Verfügung

  • {Platzhalter,Platzhalter} Wurde der Schalter GLOB_BRACE gesetzt, so können Sie in geschweiften Klammern mehrere Suchbegriffe, getrennt mit einem Komma, angeben. Dabei handelt es sich dann um eine ODERVerknüpfung. {*.pdf,*.gif} findet Dateien mit der Endung .pdf oder .gif Beispiel: glob("{*.png,*.txt}",GLOB_BRACE)
  • ? Das Fragezeichen steht für genau ein beliebiges Zeichen. glob("sonne?1.png") findet z. B. die Datei sonne_1.png
  • * Das Sternchen steht für kein oder eine beliebige Anzahl an Zeichen. glob("so*1.png") findet z. B. die Datei sonne_1.png
  • [] Die eckigen Klammern finden genau ein Zeichen aus einer in den Klammern definierten Zeichengruppe. Wie auch bei den geschweiften Klammern muss der Schalter GLOB_BRACE gesetzt werden.

    [amgz] Genau der Buchstabe "a" oder "m" oder "g" oder "z".
    [ag] Genau die Buchstaben "a", "b", "c", "d", "e", "f" und "g".
    [0-9] Die Zahlen 0-9.
    [!aAmgz] Das Ausrufezeichen negiert den Ausdruck. Es darf also nicht "a", "A", "m", "g" oder "z" vorkommen.

Für die nachfolgenden Beispiele wurde folgende Verzeichnisstruktur genommen (siehe Abbildung 6.2):

Abbildung 6.2: Verzeichnisstruktur

function listPicture($dir=".",$type="jpg")
@param string $dir
@param string $type
@return array $picture

Die Funktion listPicture() erwartet als Parameter zum einen das Verzeichnis ($dir) für die Suche, zum anderen die Dateiendung ($type). Da wir bei dem Ergebnis mit mehreren Treffern rechnen, speichern wir nachher die Treffer in einem Array. Wir setzen zuerst den Startwert (13) für die Indizierung unseres Arrays.

Im nächsten Schritt durchlaufen wir das vollständige übergebene Verzeichnis und suchen (15) dabei bei jeder Datei nach der geforderten Dateiendung. Sollte die Funktion glob() in dem Verzeichnis eine Datei mit der gesuchten Endung finden, speichern wir den Dateinamen (16), die Dateigröße (17) sowie das Datum (18) der letzten Dateiänderung in unser Array. Diesen Vorgang wiederholen wir so oft, bis alle Dateien gefunden sind. Im Anschluss daran geben wir unser Array (22) der aufrufenden Stelle wieder zurück.

12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
         function listPicture($dir=".",$type="jpg") {
    $x = 0;
    //foreach (glob($dir."*.".$type) as $filename)    sonne_0.png
    foreach (glob("[so]*_?.png",GLOB_BRACE|GLOB_ERR) as $filename) {
        $picture[$x]['file'] = $filename;
        $picture[$x]['size'] = filesize($filename) / 1024;
        $picture[$x]['time'] = filemtime($filename);
        $x++;
    }

    return $picture;
}
Beispiel 6.4: glob.php

Der Aufruf der eben gezeigten Funktion ist in wenigen Schritten erklärt. Sie müssen lediglich das zu durchsuchende Verzeichnis und die Dateiendung, nach der Sie suchen wollen, übergeben. Wir haben hier in unserem Beispiel das Ergebnis nur einfach ausgegeben, Sie können aber eine FOR-Schleife durchlaufen und die Ergebnisse gezielter auflisten.

25:
26:
27:
         $pic = listPicture("bilder/","gif");

print_r($pic);
Beispiel 6.5: glob.php

Ausgabe im Browser

Array
(
[0] => Array
(
[file] => bilder/che.gif
[size] => 1.40234375
[time] => 1145368015
)
[1] => Array
(
[file] => bilder/logo.gif
[size] => 37.4423828125
[time] => 1145368017
)
[2] => Array
(
[file] => bilder/u_blau.gif
[size] => 1.017578125
[time] => 1145368018
)
)

Ein weiteres Beispiel könnte z. B. folgendes Szenario sein: Sie möchten alle Dateien auflisten, die als Dateiendung .jpg in ihrem Namen haben. Zusätzlich muss die Datei entweder mit "b" oder "f" beginnen und kann danach beliebige Zahlen, Buchstaben oder Sonderzeichen im Dateinamen enthalten.

1:
2:
3:
4:
5:
6:
7:
8:
         <?PHP

foreach (glob("[bf]*.jpg") as $filename)
{
        echo $filename . '<br>';
}

?>
Beispiel 6.6: glob1.php

Ausgabe im Browser

bs9tyo_1137603275.jpg
fihedp_1137603349.jpg

Sie können mit glob() natürlich nicht nur nach Dateien suchen, sondern auch nach Verzeichnissen. In unserem Beispiel sollen alle Verzeichnisse aufgelistet werden, die entweder mit einem "c" oder "g" beginnen. Für diese spezielle Suche benutzen wir den Schalter "GLOB_ONLYDIR".

Da wir im weiteren Verlauf hinter unseren Suchtreffern noch Dateinamen speichern wollen, soll die Funktion glob() bei jedem Suchtreffer direkt einen Schrägstrich hinter dem Verzeichnis platzieren. Auch hierfür gibt es einen Schalter, den wir nutzen können. Wir übergeben der Funktion dabei den Schalter "GLOB_MARK".

1:
2:
3:
4:
5:
6:
7:
8:
         <?PHP

foreach (glob("[cg]*",GLOB_ONLYDIR|GLOB_MARK) as $filename)
{
        echo $filename . '<br>';
}

?>
Beispiel 6.7: glob2.php

Ausgabe im Browser

gif/

Wie Sie sehen konnten, wurde hier auf einfache Art und Weise ein komplettes Verzeichnis nach bestimmten Mustern durchsucht. Sie sollten einfach mit dieser Funktion ein wenig "spielen", um ihre Wirkungsweise zu erlernen. Anhand der bereits erklärten Schalter und Platzhalter können Sie gezielt nach den Verzeichnissen und Dateien suchen, die Sie für Ihre weitere Bearbeitung nutzen wollen.


Programmcode farbig hervorheben inkl. Zeilennummern

Letztes Update: 26.07.2006 08:47:27

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Programmcode farbig hervorheben inkl. Zeilennummern

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.1
  • PHP 5

Datei(en)

file_number.php

Problem

Sie möchten den Besuchern Ihrer Seite gerne Ihren PHP-Code erklären und zur Verfügung stellen. Programmcode zu erklären ist wesentlicher einfacher, wenn man sich auf Zeilennummern berufen kann. Zusätzlich soll die Syntax farbig hervorgehoben werden.

Lösung

Die Lösung besteht aus zwei Teilen. Zum einen benutzen wir die interne Funktion highlight_file() von PHP für die farbige Syntaxhervorhebung, zum anderen durchlaufen wir eine FOR-Schleife für die Zeilennummern.

Selbstverständlich soll der Programmcode kopierbar bleiben, also ohne eine Aufnahme der Zeilennummern. Dieses erreichen wir, indem wir unsere Ausgabe in einer Tabelle darstellen.

function lineNumber($file, $table, $print=false)
@param string $file
@param string $table
@param bool $print
@return mixed

Die Funktion lineNumber() erwartet als Parameter den Dateinamen für die farbige Syntax-Darstellung, die Tabellenstruktur für die Ausgabe und einen booleschen Wert für den Rückgabewert. Sie können entweder die Ausgabe direkt ausgeben ($print = true) oder diese in eine Variable speichern ($print = false).

Wir lesen zuerst mit der Funktion highlight_file() (36) die komplette Datei ein, die Syntax wird dabei direkt farbig hervorgerufen. Da wir keine direkte Ausgabe benötigen, sondern den Inhalt zwischenspeichern wollen, setzen wir bei der Funktion den optionalen Parameter auf "TRUE". Im weiteren Verlauf benötigen wir noch die Zeilenmenge, daher lesen wir die Datei mit file() (38) in ein Array ein und zählen dann nur noch das Array selbst (40).

Da wir unsere Zeilenzahlen vernünftig formatieren wollen, errechnen wir die Länge (42) der Zeilenmenge. Hat also unsere Datei genau 872 Zeilen, ergibt sich für diese Zahl eine Länge von 3. Wir benötigen diesen Wert, um die kleineren Zahlen mit Nullen aufzufüllen.

Beispiel:

001
002
003
.
.
098
099
100

Wir durchlaufen jetzt unserer Array mit dem Dateiinhalt (44) und erstellen dabei nur die Zeilenzahlen. Wie erwähnt, füllen wir jetzt die Zahlen mit Nullen auf (45), sodass wir eine einheitliche Darstellung erhalten. Der Parameter STR_PAD_LEFT sorgt dafür, dass die Ausgabe von links her aufgefüllt wird.

Wir wollen dafür sorgen, dass die farbig markierte Syntax noch kopierbar bleibt. Aus diesem Grund haben wir der Funktion in eine Tabelle übergeben, indem wir Platzhalter für unsere Ausgaben definiert haben. Diese Platzhalter werden wir mit der Syntax (50) und mit den Zeilenzahlen (49) ersetzen.

Zum Schluss müssen wir noch die Entscheidung treffen, ob die Funktion die Tabelle direkt ausgeben soll (54) oder als Variable (53) an die aufrufende Stelle.

034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058: 		function lineNumber($file, $table, $print=false) {

    $content = highlight_file($file,TRUE);

    $ex_line = file($file);

    $lines = count($ex_line);

    $length = strlen($lines);

    for($x=1;$x<=$lines;$x++) {
        $ausgabe .= str_pad($x, $length, "0", STR_PAD_LEFT);
        $ausgabe .= ":<br>";
    }

    $table = @preg_replace('/{lineNumber}/',$ausgabe,$table);
    $table = @preg_replace('/{phpHighlight}/',$content,$table);

    if($print === false) {
        return $table;
    } else {
        return $table;
    }

}
Beispiel 6.8: file_number.php

Der restliche Programmcode besteht hauptsächlich aus der Variable (60-65) für die Tabelle. Sie können diese Tabelle nach Ihren Wünschen anpassen, müssen aber die Platzhalter wieder mit integrieren. Wenn Sie die fertige Tabelle in einer Variablen von der Funktion zurückbekommen möchten, müssen Sie lediglich beim Funktionsaufruf (67) den booleschen Wert auf "TRUE" setzen oder ihn einfach weglassen, da er ein optionaler Wert ist und "FALSE" als Grundeinstellung nutzt.

060:
061:
062:
063:
064:
065:
066:
067: 		$table .= '<table><tr>';
$table .= '<td><code>';
$table .= '<span style="color: #AAAAAA;">{lineNumber}</span>';
$table .= '</code></td>';
$table .= '<td>{phpHighlight}</td>';
$table .= '</tr></table>';

$lineNum = highlight_string("file_number.php",$table,true);
Beispiel 6.9: file_number.php

Nachfolgend sehen Sie die Ausgabe im Browser. Der Besucher kann jetzt den kompletten Programmcode markieren und kopieren - ohne die Zeilenzahlen. Sie sollten die Zeilenzahlen allerdings in einem hellen Grauton gestalten, da sie so besser zur Geltung kommen.

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043: 		<?PHP

function lineNumber($file, $table, $print=false)
{

    $content = highlight_file($file,TRUE);

    $ex_line = file($file);

    $lines = count($ex_line);

    $length = strlen($lines);

    for($x=1;$x<=$lines;$x++)
    {
        $ausgabe .= str_pad($x, $length, "0", STR_PAD_LEFT);
        $ausgabe .= ":<br>";
    }

    $table = @preg_replace('/{lineNumber}/',$ausgabe,$table);
    $table = @preg_replace('/{phpHighlight}/',$content,$table);

    if($print === false)
    {
        return $table;
    }
    else
    {
        return $table;
    }

}

$table .= '<table><tr>';
$table .= '<td><code>';
$table .= '<span style="color: #AAAAAA;">{lineNumber}</span>';
$table .= '</code></td>';
$table .= '<td>{phpHighlight}</td>';
$table .= '</tr></table>';

$lineNum = highlight_string("file_number.php",$table,true);

?>
Abbildung 6.3: Programmcode farbig hervorheben


Schreibweise/Parametererklärung bei Funktionsaufrufen

Letztes Update: 17.07.2006 08:12:31

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Schreibweise/Parametererklärung bei Funktionsaufrufen

Sie werden im Buch immer wieder auf Funktionen stoßen, die als Parameter gewisse Werte erwarten und als Rückgabewert gewisse Typen (bool, string, array etc.) liefern. Damit Sie wissen, was Sie der Funktion übergeben müssen und was Sie zurückerhalten, werden über den Funktionen immer die Parameter beschrieben.

Somit sind Sie in der Lage, anhand dieser Beschreibung den Aufbau der Funktion zu erkennen - Sie müssen also nicht erraten, was an Werten benötigt wird. Es kann bei manchen Funktionen dazu kommen, dass im Buch umgebrochen wird, sich also der Funktionsinhalt auf zwei Zeilen befindet. Anhand der Zahlen in der linken Spalte sehen Sie aber, dass es sich um eine Zeile handelt, die zusammengeschrieben werden muss.

Beispiel einer Funktion

01:

02:
03:
04:
05:
06:
07:
08:
09 		function scan_dir($dir, $type=array(), $allFiles=FALSE, $recursive=TRUE,
$nextrow, $onlyDir="")
{
// Hier steht irgendein Programmcode
// Hier steht irgendein Programmcode
// Hier steht irgendein Programmcode
// Hier steht irgendein Programmcode
// Hier steht irgendein Programmcode
}
scan_dir("Bilder/",$fileTyp,TRUE,FALSE,TRUE);

Wenn Sie sich die Funktion genauer betrachten, dann wird sie Ihnen erst einmal nicht viel sagen. Sie werden allenfalls aus den Parametern gewisse Hinweise beziehen können. Jetzt müssten Sie sich den Quellcode in der Funktion anschauen, um sehen zu können, was für Typen jeweils benötigt werden. Das mag zwar bei kleineren Funktionen relativ schnell gehen, aber denken Sie einmal weiter und stellen Sie sich große Funktionsblöcke vor.

Die Typen dann herauszufinden, kann schnell sehr zeitraubend sein. Gewöhnen Sie sich am besten immer an, jeweils einen Kommentarblock über die Funktion zu schreiben und die Parameterwerte sowie den Rückgabewert zu deklarieren.

Auch eine kurze Beschreibung zu der Funktion selbst ist immer recht hilfreich und erspart Ihnen in Zukunft eine Menge Einarbeitungszeit, denn wenn Sie z. B. nach einem Jahr mal wieder an den Quellcode heran müssen, haben Sie in der Regel vieles vergessen. Dann hilft Ihnen diese Gedankenstütze bei den Funktionsblöcken.

Nachfolgend sehen Sie ein Beispiel für einen solchen Kommentarblock. Die einzelnen Werte sowie Parameter schauen wir uns nach dem Beispiel etwas genauer an.

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: 		/**
* Durchläuft bei Bedarf rekursiv das zu durchsuchende Verzeichnis
*
* @param   string  $dir        Pfad zum Verzeichnis
* @param   array   $type       aufzulistende Bildtypen
* @param   bool    $allFiles   Listet alle Dateien in den
*                              Verzeichnissen auf ohne Rücksicht
*                              auf $type
*                              Default:FALSE
* @param   bool    $recursive  Durchläuft rekursiv alle
*                              Verzeichnisse und
*                              Unterverzeichnisse
*                              Default:TRUE
* @param   string  $nextrow    Enthält den Verzeichnisnamen für die
*                              Überschrift über den Bildernamen
* @param   string  $onlyDir="" Enthält als Verweis(Referenz) den
*                              Inhalt der Verzeichnisstruktur
*
* @return  mixed               false im Fehlerfall, ansonsten ein
*                              Array mit allen Dateinamen
*/

Am Anfang des Kommentarblocks steht ein Einzeiler, der beschreibt, was die Funktion macht. In diesem Fall ist dies völlig ausreichend, da der Satz so mehr als aussagekräftig ist. Sie sollten immer so viel schreiben, wie nötig ist, um die Funktion zu verstehen.

Interessant wird es jetzt bei den folgenden Aufzählungen. Wie Sie sehen, besteht jede Zeile aus vier Bereichen, außer wenn eine Zeile umbricht, wie z. B. bei "Listet alle Dateien in den Verzeichnissen auf".

  • @param: Im ersten Bereich steht hier in unserem Fall @param - dies sagt uns, dass es sich um einen Parameter handelt, der innerhalb der Funktion benötigt wird.
  • Typen (string, array, int, bool etc.): Im zweiten Bereich steht jeweils der Typ des Parameters. Folgende Werte könnten z. B. dort auftauchen:

    1. array - es wird ein Array als Parameter benötigt.
    2. double - als Parameter wird eine Fließkommazahl gefordert.
    3. float - als Parameter wird eine Fließkommazahl gefordert.
    4. int - als Parameter wird eine Ganzzahl gefordert.
    5. string - als Parameter wird eine Zeichenkette gefordert.
    6. bool - als Parameterwert wird »true« oder »false« erwartet.
    7. resource - als Parameter wird eine Referenz auf eine externe Ressource gefordert.
    8. object - als Parameter wird ein Objekt benötigt.
  • Parameternamen: Hier steht lediglich der zu beschreibende Parametername.
  • Text: Der letzte Block erklärt kurz, wofür der Parameter benutzt wird und ob er eventuell schon mit Werten vorbelegt ist.

Sie sehen in der letzten Zeile einen Ausdruck, der noch nicht erklärt wurde. Dabei handelt es sich um den Rückgabewert der Funktion.

  • @return: Dabei handelt es sich um den Rückgabewert der Funktion. Folgende Typen werden z. B. zurückgegeben:
    1. array - es wird ein Array zurückgegeben.
    2. double - eine Fließkommazahl wird zurückgegeben.
    3. float - eine Fließkommazahl wird zurückgegeben.
    4. int - eine Ganzzahl wird zurückgegeben.
    5. string - eine Zeichenkette wird zurückgegeben.
    6. bool - als Wert wird »true« oder »false« zurückgegeben.
    7. object - ein Objekt wird zurückgegeben.
    8. void - die Funktion gibt nichts zurück.
    9. mixed - je nach Funktionsabarbeitung kann es dazu kommen, dass verschiedene Typen zurückgegeben werden können. Falls z. B. ein Fehler auftreten sollte, kann hier »false« zurückgeliefert werden. Im Erfolgsfall wird die Funktion aber ein Array liefern oder vielleicht einen String. Je nachdem, was Sie bezwecken wollen, kann hier der Typ variabel sein.


Dateien inkl. Unterverzeichnissen kopieren

Letztes Update: 19.08.2006 20:21:36

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateien inkl. Unterverzeichnissen kopieren

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

copy_folder.php

Problem

Sie kennen sicher das Problem: Sie möchten z. B. gerne Ihr aktuelles Forum updaten, das alte Forum aber zur Sicherheit irgendwo speichern, sodass man auf diese Dateien eventuell wieder zugreifen kann. Wir werden nachfolgend ein Programm erklären, das genau diese Aufgabe erledigt.

Auf Wunsch können Sie entweder nur ein Verzeichnis oder rekursiv auch alle Unterverzeichnisse kopieren. Darüber hinaus soll das Programm die Menge der kopierten Dateien, sowie die Gesamtgröße der Dateien formatiert ausgeben.

Lösung

Die Lösung zu diesem Problem besteht aus einer rekursiven Funktion, die alle Verzeichnisse durchläuft und die Dateien in den Zielordner kopiert. Sollte das Verzeichnis, in dem die Datei liegt, in dem Zielordner nicht existieren, wird das Verzeichnis erstellt.

function copyFolder($source, $dest, &$statsCopyFolder, $recursive = false)
@param string $source
@param string $dest
@param array &$statsCopyFolder
@param bool $recursive
@return bool

Die Funktion copyFolder() erwartet als Parameter das zu kopierende Verzeichnis ($source), das Zielverzeichnis ($dest) und den optionalen Parameter $recursive ("TRUE") - auch Unterverzeichnisse werden kopiert.

Wir müssen im ersten Schritt überprüfen, ob das gerade durchsuchte Verzeichnis bereits im Zielverzeichnis existiert (38). Falls nicht, erstellen (40) wir dieses Verzeichnis im Zielverzeichnis, sodass später dort unsere Dateien hineinkopiert werden können.

Nach Aufruf von copyFolder() durchläuft die Funktion das aktuelle Verzeichnis (48). Jedes Verzeichnis beginnt immer mit einem . (Punkt) und einem .. (Punkt Punkt), die auch als "Dateien" eingelesen werden. Sollte unsere Funktion diese beide Pseudodateien finden (56), so bricht sie den aktuellen Schleifendurchlauf (52) ab und fährt mit der nächsten Datei oder dem nächsten Verzeichnis fort.

Sollten Sie bei der Parameterangabe der Funktion (35) $recursive=FALSE gesetzt haben, so werden keine Unterverzeichnisse kopiert. Die Überprüfung (55) hierfür findet dann ebenfalls in dem Schleifendurchlauf statt. Findet die Funktion im aktuellen Verzeichnis ein weiteres Unterverzeichnis (57), ruft sie sich mit dem Pfad zum Unterverzeichnis als Parameter erneut auf (35) und durchläuft dann das Unterverzeichnis.

Findet die Funktion eine Datei (66), so wird diese Datei in den Zielordner kopiert (68). Zusätzlich wird die Array-Variable für die kopierte Dateimenge erhöht (69) und die Dateigröße ebenfalls in dieser Array-Variablen addiert (70). Da dieses Array als Referenz vorliegt, sind die geänderten Werte bereits außerhalb der Funktion bekannt und müssen nicht explizit zurückgegeben werden.

035:

036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:

064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076: 		function copyFolder($source, $dest, &$statsCopyFolder,
    $recursive = false)
{

    if (!is_dir($dest))
    {
        mkdir($dest);
  }

    $handle = @opendir($source);

    if(!$handle)
        return false;

    while ($file = @readdir ($handle))
    {
        if (eregi("^\.{1,2}$",$file))
        {
            continue;
        }

        if(!$recursive && $source != $source.$file."/")
        {
            if(is_dir($source.$file))
                continue;
        }

        if(is_dir($source.$file))
        {
            copyFolder($source.$file."/", $dest.$file."/",
                $statsCopyFolder, $recursive);

        }
        else
        {
            copy($source.$file, $dest.$file);
            $statsCopyFolder['files']++;
            $statsCopyFolder['bytes'] += filesize($source.$file);
        }
    }

    @closedir($handle);

}
Beispiel 6.10: copy_folder.php

function binary_multiples($size, $praefix=true, $short= true)
@param integer $size
@param bool $praefix
@param bool $short
@return float $size

Diese Funktion wurde bereits im Unterkapitel "Umrechnung Byte/Kilobyte/Megabyte - Byte/Kibibyte/Mebibyte" ausreichend erklärt und daher nur der Form halber hier gelistet, da diese Funktion zum Programmcode gehört.

089:
090:
091:
092:
093:
094:
095:
096:

097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:

119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151: 		function binary_multiples($size, $praefix=true, $short= true)
{

    if($praefix === true)
    {
        if($short === true)
        {
            $norm = array('B', 'kB', 'MB', 'GB', 'TB',
                          'PB', 'EB', 'ZB', 'YB');
        }
        else
        {
            $norm = array('Byte',
                                        'Kilobyte',
                                        'Megabyte',
                                        'Gigabyte',
                                        'Terabyte',
                                        'Petabyte',
                                        'Exabyte',
                                        'Zettabyte',
                                        'Yottabyte'
                                        );
        }

        $factor = 1000;
    }
    else
    {
        if($short === true)
        {
            $norm = array('B', 'KiB', 'MiB', 'GiB', 'TiB',
                          'PiB', 'EiB', 'ZiB', 'YiB');
        }
        else
        {
            $norm = array('Byte',
                                        'Kibibyte',
                                        'Mebibyte',
                                        'Gibibyte',
                                        'Tebibyte',
                                        'Pebibyte',
                                        'Exbibyte',
                                        'Zebibyte',
                                        'Yobibyte'
                                        );
        }

        $factor = 1024;

    }

    $count = count($norm) -1;

    $x = 0;
    while ($size >= $factor && $x < $count)
    {
        $size /= $factor;
        $x++;
    }

  $size = sprintf("%01.2f", $size) . ' ' . $norm[$x];

    return $size;

}
Beispiel 6.11: copy_folder.php

Der restliche Programmcode ist weniger spektakulär. Wir benötigen den kompletten Pfad des zu kopierenden Verzeichnisses (153) sowie den kompletten Pfad für das Zielverzeichnis (155). Unser Statistik-Array (157, 158) für die kopierte Dateimenge sowie die komplette Dateigröße aller Dateien definieren wir im Grundzustand jeweils mit 0 (Null).

Wir rufen nur noch die Kopierfunktion (160) auf und geben im Anschluss daran die Dateigröße in Byte an unsere Funktion binary_multiples(). Sie können hier selbst entscheiden, wie Sie die Ausgabe wünschen.

153:
154:
155:
156:
157:
158:
159:
160:
161:
162:

163:
164: 		$source = '/is/htdocs/wp1042434_BDEO6BJ7VB/www/bilder/';

$dest = '/is/htdocs/wp1042434_BDEO6BJ7VB/www/backup3/';

$statsCopyFolder['bytes'] = 0;
$statsCopyFolder['files'] = 0;

copyFolder($source, $dest, $statsCopyFolder, true);

$statsCopyFolder['bytes'] = binary_multiples($statsCopyFolder['bytes'],
   true, false);

echo $statsCopyFolder['files'] . ' Dateien kopiert ('.$statsCopyFolder['bytes'].').';
Beispiel 6.12: copy_folder.php

Wie Sie sehen, haben Sie jetzt eine Funktion, um ganze Verzeichnisse inkl. Unterverzeichnissen zu kopieren. Was allerdings noch fehlt, ist die Möglichkeit, alle Verzeichnisse wieder löschen zu können. Wir möchten Ihnen dieses nicht vorenthalten und werden im Kapitel "Verzeichnis rekursiv löschen" ein derartiges Programm zeigen.


Grundlegende Informationen

Letztes Update: 26.07.2006 09:18:18

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Grundlegende Informationen

Die Verzeichnisse eines Webservers oder auch Clientrechners bieten oftmals ungeahnte Möglichkeiten, von denen nur sehr selten Gebrauch gemacht wird. Dabei ist ein Verzeichnis so flexibel, dass man damit vielerlei Dinge, wie z. B. Bildergalerien, Downloadauflistungen, Speicherungen von Daten etc., anstellen kann.

Der Trend momentan geht klar in Richtung Datenbanken - sie sind schnell, sicher, Suchmechanismen sind sehr ausgefeilt, Daten können problemlos verknüpft werden und sie sind meistens kostenlos. Das Verzeichnis an sich rückt dabei immer weiter zurück, und der starke Gegner Datenbank nimmt den Platz ein. Gerechtfertigt?

Sicherlich spricht sehr viel für eine Datenbank, aber es gibt auch Nachteile.

  • Webhostingpakete mit Datenbanken sind wesentlich teurer.
  • Große Anwendungen wie z. B. Foren, Ad-Systeme oder CMS-Systeme können Datenbanken in die Knie zwingen.
  • Bei Webhostingpaketen können Sie die Datenbanken oftmals nur lokal über localhost ansprechen, sind also von außen nicht erreichbar.
  • Sie teilen sich den Datenbankserver mit vielen - somit wird Ihnen auch vom Provider nur eine gewisse Performancelast zugewiesen.
  • Datenbanken können sehr groß werden - je nachdem wie gut Ihre Website (z. B. Foren) besucht wird, mehrere einhundert Megabyte.

Dies sind nur ein paar Nachteile, aber es gibt noch mehr. Datenbanken sollen hier nicht schlecht dargestellt werden, aber man muss sich immer individuell entscheiden, wann es sinnvoll ist, auf das Dateisystem zurückzugreifen.

Im Folgenden zeigen wir Ihnen ein paar Anwendungsbeispiele für Verzeichnisse auf. Sie werden sehen, dass ein File-System hierfür besser geeignet ist als eine Datenbank, da es die Informationen wesentlich schneller liefert und weniger Performance in Anspruch nimmt.


Alle Bilder eines Verzeichnisses auflisten

Letztes Update: 26.07.2006 09:31:18

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Alle Bilder eines Verzeichnisses auflisten

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.3.0
  • PHP 5

Datei(en)

imagesVerz.php

Problem

Sie haben ein Verzeichnis mit Bildern und möchten diese auf Ihrer Website verlinken. Neben den Bildern befinden sich in diesem Verzeichnis allerdings auch andere Dateien wie z. B. PHP-Dateien oder TXT-Dateien, die nicht angezeigt werden sollen. Außerdem wollen Sie nicht nur eine Verlinkung zu den Bildern, sondern auch die Dateigröße sowie die letzte Aktualisierung anzeigen.

Lösung

Bei näherem Betrachten des Problems wird klar, dass die Lösung nur ein Schleifendurchlauf sein kann, der jede Datei auf ihre Endung überprüft und das Ergebnis ausgibt. Zum Glück steht uns hier wieder eine PHP-Funktion hilfreich zur Seite, die uns sehr viel Arbeit abnimmt. Wir durchlaufen zwar das Verzeichnis, lassen aber jede Datei durch die Funktion glob() überprüfen.

Wir müssen lediglich das Verzeichnis und die Dateiendung angeben, den Rest erledigt die Funktion. Findet sie eine Datei, erhalten Sie als Rückgabewert den Pfad zu der Datei. Somit haben wir direkt die korrekte Pfadangabe für die Darstellung.

Bitte beachten Sie, dass die Funktion glob() nicht mit entfernten Dateien auf einem anderen Server arbeiten kann. Die zu suchenden Dateien müssen sich auf dem gleichen Server befinden.

function listPicture($dir=".",$type="jpg")
@param string $dir
@param string $type
@return array $picture

Als Erstes übergeben wir unserer Funktion das Verzeichnis und die Dateiendung ($pic = listPicture("bilder/","gif");) für unsere Verzeichnisauflistung (45). Sollten Sie der Funktion leere Werte übergeben, wird das aktuelle Arbeitsverzeichnis nach der Dateiendung jpg durchsucht. Die Funktion glob() (47) durchläuft das komplette Verzeichnis und sucht nach der gesuchten Dateiendung - gibt es einen Treffer, so wird der Pfadname (48) inkl. Dateiname, der Dateigröße (49) (hier erfolgt schon die Umrechnung in KB) sowie des letzten Aktualisierungsdatums (50) der Datei in das Array $picture gespeichert. Ist das Verzeichnisende erreicht, wird mit return (54) das Array zurückgegeben.

45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57: 		function listPicture($dir=".",$type="jpg") {
    $x = 0;
    foreach (glob($dir."*.".$type) as $filename)    {
        $picture[$x]['file'] = $filename;
        $picture[$x]['size'] = filesize($filename) / 1024;
        $picture[$x]['time'] = filemtime($filename);
        $x++;
    }

    return $picture;
}

$pic = listPicture("bilder/","gif");
Beispiel 7.1: imagesVerz.php

In $pic haben wir jetzt alle Bilder gespeichert, wir müssen lediglich den Inhalt korrekt auflisten. Aus diesem Grund durchlaufen wir das vollständige Array (66). Selbstverständlich hätten Sie das auch direkt in der Funktion listPicture() machen können, besser ist es jedoch, beide Aufgaben zu trennen. Jetzt müssen wir lediglich die Ausgabe korrekt darstellen, also einen Link (72) zu der Datei erstellen und das Datum (74) sowie die Dateigröße (73) formatieren.

66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77: 		for($x=0;$x<count($pic);$x++) {

    $file    =    $pic[$x]['file'];
    $size    =    number_format($pic[$x]['size'], 1, ',', '.');
    $date    =    date("d.m.Y, H:i:s", $pic[$x]['time']);

    echo '<a href="'.$file.'">'.$file.'</a>';
    echo ' (Größe: ' . $size . ' KB - ';
    echo 'Letzte Änderung: ' . $date . ')';
    echo '<br><br>';

}
Beispiel 7.2: imagesVerz.php

Das Ergebnis unserer Bilderauflistung würde in unserem Fall folgendermaßen aussehen. Sie werden sicherlich die Darstellung anpassen - das ist auch gewünscht.

bilder/linuxpenguin. gif (Größe: 191,4 KB – Letzte Änderung: 12.03.2006, 11:28:30)
bilder/linux.gif (Größe: 1,5 KB – Letzte Änderung: 12.03.2006, 11:28:20)
bilder/windows.gif (Größe: 1,9 KB – Letzte Änderung: 12.03.2006, 11:59:25)


Rekursive Verzeichnisauflistung - Bildergalerie, PDFDateien etc.

Letztes Update: 26.07.2006 10:58:12

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Rekursive Verzeichnisauflistung - Bildergalerie, PDFDateien etc.

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

searchFiles.php, searchFiles.inc.php

Problem

Sie haben ein Verzeichnis mit Unterverzeichnissen und wollen die Dateien in den jeweiligen Verzeichnissen nach Verzeichnisnamen katalogisiert auf Ihrer Website präsentieren. Leider befinden sich in manchen Verzeichnissen Dateiformate (z. B. *.txt, *.php), die Sie ausschließen möchten.

Sie wollen lediglich alle *.jpg und *.gif (z. B. Ihre Urlaubsfotos) auflisten. Vielleicht möchten Sie aber auch nur PDF-Dateien zum Download anbieten oder Ihre selbst erstellten MP3-Dateien.

Da Sie zukunftsorientiert sind und Ihre Website barrierefrei ist, sollte selbstverständlich die Ausgabe valide zu HTML 4.01 und CSS 2 sein. Natürlich erwarten Sie auch, dass Sie nur einzelne Verzeichnisse (also nicht rekursiv) darstellen können.

Es gibt bestimmte Seiten auf Ihrer Website, bei denen Sie als Überschrift der Kategorien den kompletten Verzeichnispfad angeben wollen, auf anderen aber nur das aktuelle Verzeichnis. Sie benötigen weiterhin das jeweilige Datum einer Datei (letzte Aktualisierung) sowie die Dateigröße.

Sie sehen, die Anforderungen steigen mit der Vielzahl der Wünsche, lassen sich aber dennoch programmiertechnisch einwandfrei lösen. In einem späteren Beispiel werden Sie sehen, wie man anstelle der Dateinamen kleine Thumbnails (Vorschaubilder) erstellt.

Lösung

Das nachfolgend beschriebene Programm durchläuft rekursiv (Verzeichnisse und Unterverzeichnisse) alle Verzeichnisse und sucht nach den Dateitypen, die Sie beim Programmstart angegeben haben. Findet es eine Datei, die zum Suchmuster passt, so speichert es den Verzeichnisnamen, den Dateinamen inkl. Pfad, das Datum der letzten Aktualisierung sowie die Dateigröße in einem mehrdimensionalen Array und setzt danach seine Suche fort.

Den größten Erfolg und Nutzen erzielen Sie, wenn Sie bereits im Vorfeld die Verzeichnisnamen und Dateinamen so benennen, das Sie für jedermann einsichtig und verständlich sind. Ziehen wir das Beispiel Urlaubsfotos heran, so könnte eine sinnvolle Lösung folgendermaßen aussehen. Sie haben einen Hauptordner, den Sie Urlaubsfotos oder Bilder nennen.

In diesem Ordner erstellen Sie weitere Unterordner für jedes einzelne Land (z. B. Thailand, Malediven, China). Sie können in diese Unterordner Ihre Bilder ablegen oder noch weitere Unterordner für die einzelnen Städte (z. B. Phuket oder Krabi für Thailand) erstellen. Wenn Sie jetzt noch die Bilder mit aussagekräftigen Namen (z. B. Tauchen.jpg, Hotel.gif, Flughafen.jpg) ausstatten, erhalten Sie durch das Programm eine überaus flexible Lösung, um Ihre Urlaubserinnerungen auf Ihrer Website darzustellen.

Abbildung 7.1: Dateien finden

Beispiel

Das nachfolgend beschriebene Programm besteht aus zwei Dateien, searchFiles. inc.php und searchFiles.php. searchFiles.php enthält den eigentlichen HTML-Bereich mit unseren CSS-Definitionen und inkludiert die Datei searchFiles.inc.php, die den Programmcode mit den drei Funktionen scan_dir(),buildArray() und buildSites() beinhaltet.

Die Datei searchFiles.inc.php erzeugt keinen direkten HTML-Code, sondern liefert Ihnen als Rückgabewert einen aufbereiteten String mit dem Inhalt der Verzeichnisse, sodass Sie die String-Variable in Ihr eventuell bestehendes Templatesystem mühelos integrieren können.

Die zu inkludierende Datei wird folgendermaßen aufgerufen:

72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90: 		<?PHP
include_once("searchFiles.inc.php");
$fileTyp = array("jpg","gif");
$pictures = array();
$Bildergalerie = scan_dir("bilder/",$fileTyp,TRUE,FALSE,TRUE,$onlyDir, $pictures);
if($Bildergalerie == false)
{
    //echo 'Verzeichnis existiert nicht';
}
else{
    $ausgabe = buildSites($Bildergalerie);
    //print_r($Bildergalerie);
    echo $ausgabe;
}

?>

</body>
</html>
Beispiel 7.3: searchFiles.php

Nimmt man dieses Beispiel, so haben Sie jetzt in der String-Variable $ausgabe den Inhalt und können diesen mit echo() ausgeben.

function scan_dir($dir, $type=array(),$only=FALSE, $allFiles=FALSE,
$recursive= TRUE, $onlyDir="", &$pictures)
@param string $dir
@param array $type
@param bool $only
@param bool $allFiles
@param bool $recursive
@param string $onlyDir
@param array $pictures
@return mixed

Die Funktion scan_dir() erwartet als Parameter das Verzeichnis ($dir z. B. "Bilder/"), von dem aus gesucht werden soll, ein Array mit den Dateiendungen ($type - z. B. "jpg,gif") und die optionalen Parameter $only (TRUE - nur der Verzeichnisname wird angezeigt, ansonsten der komplette Pfad), $allFiles (TRUE - listet alle Dateien auf, egal welche Dateiendung) und $recursive (FALSE - durchsucht nur das angegebene Verzeichnis, nicht die Unterverzeichnisse).

Nach Aufruf von scan_dir() durchläuft die Funktion das aktuelle Verzeichnis (144). Jedes Verzeichnis beginnt mit einem . (Punkt) und einem .. (Punkt Punkt), die auch als "Dateien" eingelesen werden. Sollte unsere Funktion diese beiden Pseudodateien finden (150), bricht sie den aktuellen Schleifendurchlauf (149) ab und fährt mit der nächsten Datei oder dem nächsten Verzeichnis fort.

Sollten Sie bei der Parameterangabe der Funktion (142) $recursive=FALSE gesetzt haben, so werden keine Unterverzeichnisse ausgelesen. Die Überprüfung (154) hierfür findet dann ebenfalls in dem Schleifendurchlauf statt. Findet die Funktion im aktuellen Verzeichnis ein weiteres Unterverzeichnis (159), ruft sie sich mit dem Pfad zum Unterverzeichnis als Parameter erneut auf (142) und durchläuft dann das Unterverzeichnis.

Findet die Funktion eine Datei (161), so überprüft Sie zuerst (162), ob sie den Verzeichnisnamen oder den kompletten Pfad als Überschrift weiterleiten soll, bevor sie die Datei an die Funktion buildArray() (164) zur weiteren Bearbeitung übergibt. Als Rückgabewert der Funktion erhält sie ein Array mit den Dateiinformationen (Pfad, Datum, Größe). Wurden alle Verzeichnisse durchsucht, wird das komplett ausgefüllte Array an die aufzurufende Stelle zurückgeliefert (170).

142:

143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172: 		function scan_dir($dir, $type=array(),$only=FALSE, $allFiles=FALSE,
       $recursive=TRUE, $onlyDir="", &$pictures) {

    $handle = @opendir($dir);

    if(!$handle)
        return false;

    while ($file = @readdir ($handle)) {
        if (eregi("^\.{1,2}$",$file)) {
            continue;
        }

        if(!$recursive && $dir != $dir.$file."/") {
            if(is_dir($dir.$file))
                continue;
        }

        if(is_dir($dir.$file)) {
            scan_dir($dir.$file."/", $type, $only, $allFiles, $recursive, $file, $pictures);
        } else {
            if($only)
                $onlyDir = $dir;
            $pictures = buildArray($dir,$file,$onlyDir,$type,$allFiles,$pictures);
        }
    }

    @closedir($handle);

    return $pictures;

}
Beispiel 7.4: searchFiles.inc.php

function buildArray($dir,$file,$onlyDir,$type,$allFiles,$pictures)
@param string $dir
@param string $file
@param string $onlyDir
@param array $type
@param bool $allFiles
@param array $pictures
@return array $pictures

Die Funktion buildArray() erhält von der Funktion scan_dir() jeweils eine gefundene Datei, die sie dann überprüft und gegebenenfalls in das Array $pictures mit aufnimmt. Im ersten Schritt überprüft (104) die Funktion, ob es sich um eine gültige Dateiendung (z. B. gif oder jpg) handelt (bei der Überprüfung wird keine Rücksicht auf Groß- und Kleinschreibung genommen).

Sollte die Überprüfung erfolgreich gewesen sein, wird diese Datei mit in das auszugebende Array aufgenommen. Wenn Sie bei dem Programmstart den Parameter $allFiles auf TRUE gesetzt haben, wird die vorherige Überprüfung außer Kraft gesetzt und die Datei beim letzten Sicherheitscheck (108) mit in das Verzeichnis aufgenommen, da Sie dann alle Dateien auflisten möchten.

Das Array wird jetzt mit dem Verzeichnisnamen (112), dem kompletten Pfad (113), den Dateinamen (114), der Dateigröße (115) sowie dem Datum (116) der letzten Aktualisierung der Datei in das Array geschrieben. Da bei einer rekursiven Funktion das Ursprungsverzeichnis "verschluckt" wird und somit nicht alleine, sondern nur als komplette Pfadangabe in einer Variablen verfügbar ist, findet hier (109) eine letzte Überprüfung statt.

Würde man dies nicht machen, könnte es passieren, dass bei Bildern, die im Ursprungsverzeichnis liegen, der Verzeichnisname bei der Ausgabe nicht sichtbar wäre. Wurden alle Angaben in das Array geschrieben, so gibt die Funktion buildArray() das Array wieder zurück (119) an die aufgerufene Funktion scan_dir().

100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120: 		function buildArray($dir,$file,$onlyDir,$type,$allFiles,$pictures) {
    $typeFormat = FALSE;

    foreach ($type as $item) {
      if (strtolower($item) == substr(strtolower($file), -strlen($item)))
            $typeFormat = TRUE;
    }

    if($allFiles || $typeFormat == TRUE) {
        if(empty($onlyDir))
            $onlyDir = substr($dir, -strlen($dir), -1);

        $pictures[$dir]['name']['dir']    = $onlyDir;
        $pictures[$dir]['name']['path']    = $dir;
        $pictures[$dir][$file]['file']    = $file;
        $pictures[$dir][$file]['size']    = filesize($dir.$file) / 1024;
        $pictures[$dir][$file]['time']    = filemtime($dir.$file);
    }

    return $pictures;
}
Beispiel 7.5: searchFiles.inc.php

function buildSites($pictures)
@param array $pictures
@return string $ausgabe

Nachdem das Array durch die Funktionen scan_dir() und buildArray() gebildet wurde, müssen wir im letzten Schritt nur noch die Ausgabe für die Website vorbereiten. An dieser Stelle ist es Ihnen überlassen, ob Sie auf die bestehende Funktion zurückgreifen oder das Array an eine eigene Funktion übergeben.

In einem späteren Beispiel in diesem Buch werden wir dieses Array dafür nutzen, um die Ausgabe nicht als Text, sondern mit Vorschaubildern (Thumbnails) zu erstellen. Wie schon am Beginn dieses Beispiels erklärt wurde, ist die Ausgabe valide zu HTML 4.01 und CSS 2, somit eine Grundvoraussetzung für eine barrierefreie Darstellung.

Folgende CSS-Parameter werden beim Aufbau genutzt:

  • <div id="navBar">
  • <div id="sectionLinks">
  • <h3>
  • <ul>
  • <li>

Sie können damit das Erscheinungsbild selbst beeinflussen, da die Werte über die CSS-Definitionen im Kopfbereich der Datei searchFiles.php definiert werden. Sie haben als Rückgabewert der Funktion scan_dir() das vollständige Abbild Ihrer Verzeichnissuche in Form eines Arrays erhalten.

Dieses Array wird im letzten Schritt an die Funktion buildSites() (53) übergeben, wo dann als Nächstes der interne Zeiger des Arrays auf sein erstes Element gesetzt wird.

Da unser Array mehrdimensional ist, und wir jedes Element durchlaufen müssen, sehen Sie nachfolgend eine verkürzte Ausgabe des Beispiel-Arrays.

Array
(
[Bilder/Thailand/] => Array
(
[name] => Array
(
[dir] => Bilder/Thailand/
[path] => Bilder/Thailand/
)
[Hotel.jpg] => Array
(
[file] => Hotel.jpg
[size] => 14.587890625
[time] => 1142254219
)
[Ausflug nach Krabi.jpg] => Array
(
[file] => Ausflug nach Krabi.jpg
[size] => 14.7666015625
[time] => 1142254220
)
)
)

Im äußeren Schleifendurchlauf (58) werden wir die einzelnen Verzeichnisnamen aus dem Array extrahieren (59), bevor wir dann im inneren Schleifendurchgang das Array zerlegen, das wir zuvor aus $array (58) ziehen konnten. Im inneren Schleifendurchgang müssen wir dann lediglich unser Array in seine Keys und Werte splitten (61), wobei unser Wert ($array1) wiederum ein Array ist.

Die Auflistung der Dateien ist relativ simpel, wenn man sich den zuvor gezeigten Array-Ausschnitt ein wenig näher betrachtet. Zum Schluss werden die einzelnen Werte formatiert (64-67) und danach in die Variable $ausgabe (69-71) gespeichert. Wurde der innere und äußere Schleifendurchlauf komplett verarbeitet, so wird die Variable $ausgabe (80) an die aufgerufene Stelle zurückgegeben.

053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081: 		function buildSites($pictures) {
   reset ($pictures);

   $ausgabe .= '<div id="navBar">' . "\n";
   $ausgabe .= '    <div id="sectionLinks">' . "\n";
   foreach($pictures as $key => $array) {
      $ausgabe .= '        <h3>'.$pictures[$key]['name']['dir'].'</h3>' . "\n";
      $ausgabe .= '        <ul>' . "\n";
      foreach ($array as $key2 => $array1) {

         if(!empty($pictures[$key][$key2]['file'])){
            $size     =    number_format($pictures[$key][$key2]['size'], 1, ',', '.');
            $date     =    date("d.m.Y, H:i:s", $pictures[$key][$key2]['time']);
            $alt      =    'Datum: ' . $date . ' / Größe: ' . $size . 'KB';
            $path     = $pictures[$key]['name']['path'].$pictures[$key][$key2]['file'];
            $ausgabe .= '            <li><a href="'.$path.'" target="_blank" title="'.$alt.'">';
            $ausgabe .= $pictures[$key][$key2]['file'];
            $ausgabe .= '</a></li>' . "\n";
         }

      }
      $ausgabe .= '        </ul>' . "\n";
   }

   $ausgabe .= '    </div>' . "\n";
   $ausgabe .= '</div>' . "\n";

   return $ausgabe;
}
Beispiel 7.6: searchFiles.inc.php

Unsere Auflistung des Verzeichnisses ist fertig! Anhand der beiden Bilder können Sie die Wirkungsweise für die Überschriften sehen - einmal den kompletten Pfad, das andere Mal nur den Verzeichnisnamen.

Sie finden im beiliegenden ZIP-Archiv beide Dateien für dieses Beispiel, sofort einsetzbar. Wir verzichten hier auf die Darstellung der reinen HTML-Datei und ihrer CSS-Definitionen, da diese mehr als eine Seite füllen würde - wertvoller Platz, der für andere Beispiele besser genutzt werden kann.

Wie bereits im Vorfeld erwähnt, sehen Sie hier alles, um auch ohne diese HTML-Seiten arbeiten zu können, da die CSS-Definitionen von Ihnen kommen können und die Klassennamen am Anfang dieses Beispiels bereits erwähnt wurden.

Abbildung 7.2: Ausgabe im Browser: Dateien finden (mit CSS)


Speichergröße eines Verzeichnisses ermitteln

Letztes Update: 27.07.2006 12:41:50

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Speichergröße eines Verzeichnisses ermitteln

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

directory_size.php

Problem

Sie möchten gerne wissen, wie viel Speicher Ihre Dateien in einem bestimmten Verzeichnis oder in allen Verzeichnissen verbrauchen? Das nachfolgende Beispiel erledigt diese Aufgabe. Sie können dabei nur ein Verzeichnis oder auch seine Unterverzeichnisse durchsuchen lassen.

Lösung

Im folgenden Beispiel werden wir ein Programm vorstellen, das entweder den Speicherverbrauch für ein einzelnes Verzeichnis auflistet oder rekursiv auch für die in dem angegebenen Verzeichnis befindlichen Unterverzeichnisse. Je nachdem, wie groß das Datenaufkommen ist, wird der Wert in Kilobyte oder Megabyte ausgegeben.

function dir_size($dir, &$size, $recursive=TRUE)
@param string $dir
@param integer &$size
@param bool $recursive
@return bool

Die Funktion dir_size() erwartet als Parameter das Verzeichnis ($dir z. B. "Bilder/") von dem aus die Speichergröße ermittelt werden soll, die Variable $size als Referenz für die Speicherung der Gesamtgröße in Byte und $recursive (FALSE - durchsucht nur das angegebene Verzeichnis; TRUE durchsucht auch alle Unterverzeichnisse).

Nach Aufruf von scan_dir() durchläuft die Funktion das aktuelle Verzeichnis (37). Jedes Verzeichnis beginnt mit einem . (Punkt) und einem .. (Punkt Punkt), die auch als "Dateien" eingelesen werden.

Sollte unsere Funktion diese beide Pseudodateien finden (43), so bricht sie den aktuellen Schleifendurchlauf (42) ab und fährt mit der nächsten Datei oder dem nächsten Verzeichnis fort.

Sollten Sie bei der Parameterangabe der Funktion (35) $recursive=FALSE gesetzt haben, werden keine Unterverzeichnisse ausgelesen. Die Überprüfung (47) hierfür findet dann ebenfalls in dem Schleifendurchlauf statt. Findet die Funktion im aktuellen Verzeichnis ein weiteres Unterverzeichnis (52), ruft sie sich mit dem Pfad zum Unterverzeichnis als Parameter erneut auf (35) und durchläuft dann das Unterverzeichnis.

Findet die Funktion eine Datei (54), so addiert (55) sie die Dateigröße zu unserem bisher ermittelten Wert (in Byte). Da wir die Variable $size als Referenz übergeben haben, müssen wir diese nicht explizit zurückgeben, da Sie außerhalb dieser Funktion bereits bekannt ist und den Wert vorliegen hat.

035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061: 		function dir_size($dir, &$size, $recursive=TRUE) {

    $handle = @opendir($dir);

    if(!$handle)
        return false;

    while ($file = @readdir ($handle)) {
        if (eregi("^\.{1,2}$",$file)) {
            continue;
        }

        if(!$recursive && $dir != $dir.$file."/") {
            if(is_dir($dir.$file))
                continue;
        }

        if(is_dir($dir.$file)) {
            dir_size($dir.$file."/", $size, $recursive);
        } else {
            $size += filesize($dir.$file);
        }
    }

    @closedir($handle);

}
Beispiel 7.7: directory_size.php

function sizeMath($size)
@param integer $size
@return integer $size

Die Funktion sizeMath() erwartet als Parameter die Größe aller Dateien in Bytes. Wir rechnen in dieser Funktion lediglich die Werte für eine ansprechende Darstellung um. Bei dem übermittelten Wert handelt es sich um Byte, die wir entweder in Kilobyte oder Megabyte umrechnen wollen.

Sollte der Wert größer oder gleich 1 Million sein (73), handelt es sich bei der Ausgabe um Megabyte und wir formatieren die Ausgabe so, dass nur noch zwei Stellen hinter dem Komma angezeigt werden (75). War der Wert kleiner (76), formatieren wir ihn nach Kilobyte (78).

Zum Schluss müssen wir nur noch den formatierten Wert an die aufrufende Stelle zurückgeben (81).

071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083: 		function sizeMath($size) {

    if($size >= 1000000) {
        $size = $size / 1000000;
        $size = sprintf("%01.2f", $size) . ' MegaByte';
    } else {
        $size = $size / 1000;
        $size = sprintf("%01.1f", $size) . ' KiloByte';
    }

    return $size;

}
Beispiel 7.8: directory_size.php

Der restliche Programmcode ist wieder sehr schnell erklärt. Wir setzen zuerst die Variable $size (85) auf den Wert 0 (Null), die wir innerhalb der Funktion als Referenz übergeben. Wir rufen im nächsten Schritt die Funktion dir_size() (87) für die Berechnung der Speichergröße auf und übergeben ihr das zu durchsuchende Verzeichnis, $size für die Speichergröße und den booleschen Wert "TRUE" oder "FALSE". Geben Sie "TRUE" an, werden auch alle Unterverzeichnisse mit durchsucht, ansonsten nur das aktuelle Verzeichnis.

Wir erhalten von dieser Funktion keinen Rückgabewert, da wir ja die Variable $size als Referenz übergeben haben und somit der Wert außerhalb der Funktion bereits mit der Größe vorliegt.

Wir müssen lediglich die Größe formatieren. Dafür geben wir den Wert in Byte an die Funktion sizeMath() (89) und erhalten als Rückgabewert entweder einen formatierten Wert in Kilobyte oder Megabyte.

085:
086:
087:
088:
089:
090:
091: 		$size = 0;

dir_size("bilder/", $size, TRUE);

$sizeD = sizeMath($size);

echo $sizeD;
Beispiel 7.9: directory_size.php

Ausgabe im Browser

476.2 Kilobyte


FlatFile Based Login System

Letztes Update: 27.07.2006 13:32:25

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

FlatFile Based Login System

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

ffbl_beispiel_sichere_seite.php, ffbl_beispiel_login_und_logout_seite.php, Verzeichnisusers

Problem

Ohne Datenbanken geht heutzutage fast gar nichts mehr. Dennoch wollen auch Leute ohne Zugriff auf eine Datenbank eine Möglichkeit finden, gewisse Dinge zu erledigen. So wäre z. B. ein Loginsystem möglich, um einen weiteren Dateidownload zu kontrollieren. Denkbar wäre auch eine Sammlung von Dateien nur für eine bestimmte Person.

Lösung

Das nachfolgende Beispiel ist ein Lösungsansatz von Daniel Kressler. Daniel ist bei SELFPHP nicht mehr wegzudenken. Er hat hier eine Variante erstellt, die Gedankenanstöße geben soll, wie man das File-System nutzen kann.

Das "FlatFile Based Login System" bietet Usern, die keinen Zugriff auf eine Datenbank wie MySQL haben, die Möglichkeit, einen passwortgeschützten Bereich einzurichten.

Es gibt viele Möglichkeiten, wie man ohne Datenbank einen solchen Bereich realisieren kann, jedoch muss man bei einem dateibasierten System immer auf eines achten: die Geschwindigkeit, die hier eines der größten Probleme darstellt.

Wie könnte also ein dateibasiertes Login-Script aussehen, das auch mit Userzahlen jenseits der 10000 klarkommt? Man braucht für ein solches System eine wohl durchdachte Struktur, sie ist der Schlüssel zum Erfolg.

Da die Daten in einer Datei gespeichert werden und nicht in einer komfortablen Datenbank, könnte der Aufbau für eine solche Datei wie folgt aussehen:

  • UserID
  • UserName
  • UserPasswort (MD5)
  • UserGroupID

Dateiinhalt:

0
Daniel Kressler
e10adc3949ba59abbe56e057f20f883e
2

Der Dateiname setzt sich aus einem Teil oder zwei Teilen zusammen:

  • Teil Username
  • Optionale Dateiendung

Beispielsweise:

Daniel%20Kressler.txt

Für jeden User müsste eine solche Datei angelegt werden. Vor dem Anlegen der Datei muss eine entsprechende Überprüfung stattfinden, damit kein Username doppelt möglich ist. Mit einer derart strukturierten Datei hat man den großen Vorteil, dass im PHP-Code nicht eine Schleife gebraucht wird, und zwar weder für das Login noch für das Anlegen eines neuen Users.

Auf den Registierungsvorgang wird hier nicht näher eingegangen, da dieser mit einfachen Dateioperationen erledigt werden kann. Außerdem liegt der Sinn dieses Beitrags nur darin, eine Möglichkeit der dateibasierten Userverwaltung vorzustellen. Hier im Buch finden Sie bereits fertige Beispiele, um eine solche Datei zu erstellen bzw. den MD5-Hash zu bilden.

Warum wird keine Schleife benötigt?

Nachdem der User seine Daten (Username/Passwort) im Login-Formular eingegeben und dieses gesendet hat, kann man daraus ganz einfach den Dateinamen erstellen. Der Username wird vorsichtshalber mit rawurlencode() maskiert, so dass keine Konflikte mit dem Dateisystem selbst auftreten können, wegen eventuell ungültiger Zeichen im Dateinamen.

Nun kann man noch eine Dateiendung anhängen, was aber keine Pflicht ist. Sollte man die User-Dateien in einem Unterverzeichnis hosten - das bietet sich allein aus Übersichtsgründen an -, so muss der Pfad zu diesem Verzeichnis ebenfalls mit berücksichtigt werden. Der Dateiname wird an den Dateipfad angehängt. Der sich so ergebende String ist ideales Futter für die Funktion file_exists().

Liefert file_exists() FALSE zurück, dann gibt es den User nicht oder der User hat sich bei der Eingabe verschrieben. Liefert file_exists() hingegen TRUE zurück, kann man die Datei öffnen und anhand des in der Datei gespeicherten MD5-Hashs diesen mit dem nach der Usereingabe (über das Formular) erstellten Hash vergleichen. Ergibt sich dabei eine Übereinstimmung, kann man alle weiteren Schritte einleiten, um den User einzuloggen.

Wir werden uns jetzt dem Programmcode widmen und uns anschauen, wie der ganze Mechanismus für diese Problemstellung eigentlich funktioniert.

Wir möchten bei diesem Programm nicht nur die Möglichkeit eines Logins geben, sondern auch die eines Logouts. Sollte sich ein bereits eingeloggter User wieder ausloggen wollen, werden alle Sessiondaten (35) gelöscht. Somit ist der Besucher ausgeloggt und vom System abgemeldet.

Wenn sich allerdings der Besucher einloggt, also seinen Usernamen und sein Passwort eingegeben hat, wird zuerst der mögliche Dateiname inkl. Pfad anhand des Usernamens zusammengesetzt (13). Da der Username eventuelle Leerzeichen beinhalten kann, wird er an dieser Stelle mit rawurlencode() kodiert. Nachfolgend sehen Sie eine mögliche Kombination aus Pfad und Dateiname.

./users/Daniel%20Kresslere.txt

Wir prüfen im nächsten Schritt, ob der erstelle Dateiname in unserem Ordner existiert (15). Wurde eine Datei gefunden, so können wir mit Sicherheit sagen, dass es den User gibt. Das nachfolgende Array mit den Benutzernamen (18-20) dient hier der Anschauung, also was z. B. mit diesem Programm noch angezeigt werden könnte.

Wir müssen allerdings erst überprüfen, ob der angemeldete User sein Passwort richtig eingegeben hat. Wir öffnen also seine Datei und lesen den Inhalt zeilenweise in ein Array ein (22).

Sollte das Passwort nicht mit dem Passwort aus der Datei übereinstimmen (25), laden wir die aktuelle Seite neu (29) und geben eine Fehlermeldung aus. Da wir das Passwort in der Datei verschlüsselt vorliegen haben, müssen wir selbstverständlich auch das gelieferte Passwort verschlüsseln und beide Werte miteinander vergleichen.

Wurde das Passwort richtig eingegeben, können wir die Daten aus der Datei in unsere jeweiligen Session-Daten speichern (36-47). Das Array mit den Userdaten enthält dabei folgende Werte:

  • uid die User-ID
  • uname der Username
  • ugid die Usergroup-ID
  • ug den Namen für die Usergroup (Zeile 18-20)

Wir haben jetzt alle Informationen gesammelt und können nun die neue Seite (49) laden oder einen Download starten. An dieser Stelle ist es Ihnen erst einmal selbst überlassen, wie Sie weiter verfahren wollen.

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058: 		<?php
if($_GET['action'] == 'logout'){
    session_start();
    session_unset();
    session_destroy();
}

if(isset($_POST['login'])){

    // Den Dateinamen zusammenbauen und dem Pfad anhaengen.
    // Das Ergebnis koennte so aussehen:
    // "./users/Daniel%20Kresslere.txt"
    $filepath = './users/' . rawurlencode($_POST['username']) . '.txt';

    if(file_exists($filepath)){

    // Array mit Userguppen
    $usergroups = array(0 => 'Normale User',
                        1 => 'Mitwirkende',
                        2 => 'Administratoren');

        $userdata = file($filepath);

        // $userdata[2] enthaelt den Passwort-Hash
        if(trim($userdata[2]) != md5($_POST['password'])){

            // Hier verweigern Sie den Zutritt.

            header('location: ' . $_SERVER['PHP_SELF'] . '?error');

            exit();
        }

        session_start();

        // $userdata[0] enthaelt die User ID.
        $_SESSION['uid'] = trim($userdata[0]);

        // $userdata[1] enthaelt den Username.
        $_SESSION['uname'] = trim($userdata[1]);

        // $userdata[3] enthaelt die Usergroup ID.
        $_SESSION['ugid'] = $userdata[3];

        // Mit der Usergroup ID kann man das betreffende
        // Element im Array "$usergroups" selektieren.
        $_SESSION['ug'] = $usergroups[$userdata[3]];

        header('location: ffbl_beispiel_sichere_seite.php?' . SID);
    }else{

        // Hier verweigern Sie den Zutritt ebenfalls.

        header('location: ' . $_SERVER['PHP_SELF'] . '?error');
    }

}else{
?>
Beispiel 7.10: ffbl_beispiel_login_und_logout_seite.php

Sie sehen hier den else-Zweig der vorangegangenen Programmcodes. Da er selbsterklärend ist und hauptsächlich aus HTML- und CSS-Definitionen besteht, jedoch hier nicht fehlen sollte, sollte dieser Teil keinerlei Probleme für Sie bereiten.

059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
    <head>
        <title>
            FBL-System
        </title>
        <meta http-equiv="content-type"
            content="text/html; charset=ISO-8859-1" />
        <style type="text/css" media="screen">
            <!--
            table{
                font-family: arial, sans-serif;
            }
            .container{
                width: 100%;
                text-align: center;
            }
            .loginform{
                border-width: 10px;
                border-style: solid;
                border-color: #EEEEEE;
                background-color: #FFFFE0;
            }
            .vxhtml{
                border-width: 0px;
                height: 31px;
                width: 88px;
            }
            -->
        </style>
    </head>
    <body>
        <table class="container">
            <tr>
                <td>

                    <table cellpadding="0" cellspacing="0">
                        <tr>
                           <td>
                                FBL-System<br />
                                <br />
                            </td>
                        </tr>
                    </table>
<?php
// Im Falle einer Falschen Eingabe
if(isset($_GET['error'])){ ?>
                    <table cellpadding="0" cellspacing="0">
                        <tr>
                            <td>
                                Die eingegebenen Daten sind falsch!
                            </td>
                        </tr>
                    </table>
<?php } ?>
                    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                        <table class="loginform" cellpadding="10" cellspacing="0">
                            <tr>
                                <td>
                                    Test Username:<br>
                                    Test Passwort:
                                </td>
                                <td>
                                    USER<br>
                                    TEST<br>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Username:&nbsp;
                                </td>
                                <td>
                                    <input type="text" name="username" size="20" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    Passwort:&nbsp;
                                </td>
                                <td>
                                    <input type="password" name="password" size="20" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <input type="submit" name="login" value="Login"/>
                                </td>
                            </tr>
                        </table>
                    </form>
                    <p>
                        <a href="http://validator.w3.org/check?uri=referer">
                            <img src="http://www.w3.org/Icons/valid-xhtml11"
                            alt="Valid XHTML 1.1!" class="vxhtml" /></a>
                    </p>
                </td>
            </tr>
        </table>
    </body>
</html>
<?php } ?>
Beispiel 7.11: ffbl_beispiel_login_und_logout_seite.php

Der nachfolgende Programmcode ist die Seite, die aufgerufen wird, wenn ein User sich richtig, also mit korrektem Usernamen und Passwort, angemeldet hat. Die Seite ist ebenfalls selbsterklärend, daher werden wir auch nur auf zwei Bereiche ein wenig näher eingehen.

Der eingeloggte User bekommt im Erfolgsfall eine Session-ID zugeteilt, die wir hier lediglich abfragen und, falls existent, als registrierten User sehen (60). Sie sollten an dieser Stelle allerdings noch einmal eine Überprüfung durchführen und sich nicht alleine auf die Session-ID verlassen!

Ein nochmaliges Einlesen der Datei mit Überprüfung des Passworts, das Sie auch als Session-Variable speichern könnten, wie Sie es aus dem vorangegangenen Beispiel kennen, wäre hier sinnvoll.

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:

63:
64:
65:
66:
67:
68:
69:
70:
71:
72:

73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
         <?PHP
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
    <head>
        <title>
            FBL-System
        </title>
        <meta http-equiv="content-type"
            content="text/html; charset=ISO-8859-1" />

        <style type="text/css" media="screen">
            <!--
            a:link{
                color: #AA5522;
                text-decoration: underline;
            }
            a:visited{
                color: #772200;
                text-decoration: underline;
            }
            a:active{
                color: #000000;
                text-decoration: none;
            }
            table{
                font-family: arial, sans-serif;
            }
            .container{
                width: 100%;
                text-align: center;
            }
            .output{
                text-align: left;
                border-width: 10px;
                border-style: solid;
                border-color: #EEEEEE;
                background-color: #FFFFE0;
            }
            .vxhtml{
                border-width: 0px;
                height: 31px;
                width: 88px;
            }
            -->
        </style>
    </head>
    <body>
        <table class="container">
            <tr>
                <td>
                    <table class="output" cellpadding="0" cellspacing="0">
                        <tr>
                            <td>
<?php

// UserID vorhanden, dann Login
if(!empty($_SESSION['uid'])){ ?>
                                <br />
                                Willkommen im sicheren Bereich
                                    <?php echo $_SESSION['uname']; ?>!<br />
                                <br />
                                <br />
                                Deine Daten sind...<br />
                                <br />
                                User ID: <?php echo $_SESSION['uid']; ?><br />
                                Usergroup ID: <?php echo $_SESSION['ugid']; ?><br />
                                Groupname: <?php echo $_SESSION['ug']; ?><br />
                                <br />
                                <br />
                                <a href="ffbl_beispiel_login_und_logout_seite.php?action=logout&
                                      <?php echo SID; ?>">Logout</a><br />
                                <br />
<?php

// Keine UserId vorhanden? Dann:
// "Du kommst hier net rein!"
}else{ ?>
                                <br />
                                Du bist nicht eingeloggt!<br />
                                <br />
                                <a href="ffbl_beispiel_login_und_logout_seite.php">Login</a><br />
                                <br />
<?php } ?>
                            </td>
                        </tr>
                    </table>
                    <p>
                        <a href="http://validator.w3.org/check?uri=referer">
                            <img src="http://www.w3.org/Icons/valid-xhtml11"
                            alt="Valid XHTML 1.1!" class="vxhtml" />
                        </a>
                    </p>
                </td>
            </tr>
        </table>
    </body>
</html>
Beispiel 7.12: ffbl_beispiel_sichere_seite.php

Sie sollten allerdings das Verzeichnis users besonders schützen, indem Sie z. B. eine .htaccessDatei erstellen und folgenden Code hineinschreiben. Somit kann nicht mehr auf Dateien mit der Endung .txt direkt zugegriffen werden.

<Files "*.txt">
Order allow,deny
Deny from all
</Files>

Eine weitere Möglichkeit des Schutzes ist das Programm "Passwortschutz für Verzeichnisse", das Sie in einem späteren Kapitel finden.


Pfadangabe für inkludierte Dateien setzen

Letztes Update: 27.07.2006 14:33:04

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Pfadangabe für inkludierte Dateien setzen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

include_files.php

Problem

Stellen Sie sich folgendes Szenario vor: Sie haben eine Datei DateiBuild.php in dem Ordner Verzeichnis2 und möchten aus dem Ordner Verzeichnis1 die Datei Datei1.php inkludieren:

|www
|Verzeichnis1
Datei1.php
Datei2.php
Datei3.php
|Verzeichnis2
DateiBuild.php

Das Problem ist allerdings, das die Datei1.php selbst auch Datei2.php und Datei3.php inkludiert. Sobald aber Datei1.php von DateiBuild.php inkludiert wird, würde ein

include("Datei2.php");

innerhalb der Datei1.php zu einem Fehler führen, da der Pfad fehlerhaft ist. Er müsste theoretisch in diesem Fall folgendermaßen aussehen.

include("../Verzeichnis1/Datei2.php");

Wir werden Ihnen hier eine kleine Lösung für dieses Problem vorstellen.

Lösung

Die Lösung für dieses Problem liefert uns die Funktion dirname(__FILE__). Sie liefert uns den kompletten Pfad zu sich selbst. Somit ist es möglich, die anderen Dateien ohne Fehler zu inkludieren.

Inhalt der Datei1.php

<?PHP
$verzeichnisInclude = dirname(__FILE__) . ’/’;
include_once($verzeichnisInclude . "Datei2.php");
include_once($verzeichnisInclude . "Datei3.php");
?>

Wie Sie sehen, müssen Sie lediglich jeweils den ausgelesenen Verzeichnispfad vor jede zu inkludierende Datei schreiben.


Grundlegende Informationen

Letztes Update: 27.07.2006 14:59:00

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Grundlegende Informationen

Die Sicherung von Dateien und ganzen Verzeichnissen sollte für Sie mindestens genauso wichtig sein wie Ihr Internetprojekt selbst. Über die Sicherung von Dateien, Verzeichnissen, Datenbanken oder Email-Postfächern machen sich viele erst dann Gedanken, wenn es zu spät ist. Dabei ist die Erstellung von komprimierten oder archivierten Dateien gerade am Shell-Prompt spielend einfach.

Allerdings ist es notwendig, dass Sie den Unterschied zwischen einer komprimierten und einer archivierten Datei kennen. Bei einer archivierten Datei handelt es sich um eine Ansammlung von Dateien und Verzeichnissen, die in die Archivdatei geschrieben wird.

Die Größe der Archivdatei entspricht dabei exakt der Größe aller in ihr gespeicherten Dateien. Bei einer komprimierten Datei werden im Gegensatz zu einer Archivdatei alle in ihr befindlichen Dateien komprimiert. Somit beansprucht diese komprimierte Datei weniger Platz als alle in ihr befindlichen Dateien.

Sie fragen sich jetzt sicherlich, wofür Sie dann eigentlich eine Archivdatei benötigen. Die Antwort ist recht simpel. Zuerst erstellen Sie eine Archivdatei (TAR) mit allen Dateien und Verzeichnissen, um sie dann letztendlich mit Gzip oder Bzip zu komprimieren.

Bevorzugt sollten Sie die Komprimierungstools Bzip2 und Gzip für die Komprimierung nutzen, da sie auf den meisten Unix-Betriebssystemen vorhanden sind. Wollen Sie hingegen die komprimierte Datei zu einem Windows-Betriebssystem übertragen, bietet sich hierfür das Komprimierungstool Zip an.

Achten Sie unbedingt immer darauf, dass Sie Befehle, die Sie über die Shell ausführen, mit escapeshellcmd() maskieren. Sie gehen ein sehr hohes Risiko ein, wenn Sie darauf verzichten, da dann willkürliche Befehle durch Benutzereingaben ausgeführt werden können. In dem hier dargestellten Beispiel wurde auf diesen Schutz verzichtet, da dem Skript keine Benutzereingaben übergeben werden.

Außerdem konnten dadurch einige Schritte eingespart werden. Das folgende Beispiel würde nicht funktionieren, wenn es zuvor mit espaceshellcmd() maskiert worden wäre:

$shellBefehl = "tar cvf $tarName $implodeFiles && gzip $tarName";
exec($shellBefehl,$var);

Nach der Maskierung hätte unser Beispiel folgendermaßen ausgesehen:

$shellBefehl = "tar cvf $tarName $implodeFiles \&\& gzip $tarName";

Dieses hätte zur Folge gehabt, dass zwar die Archivdatei erstellt worden wäre, aber keine komprimierte Datei. Sie hätten bei einer Maskierung mit espaceshellcmd() die beiden Befehle voneinander trennen müssen.

$shellBefehl = "tar cvf $tarName $implodeFiles";
$shellBefehl_1 = "gzip $tarName";
exec($shellBefehl,$var);
exec($shellBefehl_1,$var_1);

Eine Maskierung mittels espaceshellcmd() bei unserem Beispiel, in dem nur *.sqlDateien komprimiert werden sollen, wird auch so nicht funktionieren:

$files[] = ’testordnerSQL/*.sql’;

Nach der Maskierung wäre unser Sternchen(*) maskiert, und die Aufgabe könnte nicht erfüllt werden.

$files[] = ’testordnerSQL/\*.sql’;

Sie sollten sich also bewusst sein, wann Sie etwas mit espaceshellcmd() maskieren und wann nicht. Ein Skript, das keine Benutzereingaben übernimmt und vielleicht hinter einen Verzeichnisschutz liegt (z. B. htaccess), ist relativ sicher. Auch erreicht man eine enorme Sicherheit, indem alle übergebenen Variablen überprüft werden.

Achten Sie im Vorfeld darauf, wie Sie den Pfad zu einer Datei oder zu einem Verzeichnis angeben - das Ergebnis wird je nachdem, wie Sie den Pfad setzen, ein anderes sein. Nehmen wir an, Ihr PHP-Skript zum Komprimieren der Dateien liegt im Verzeichnis

/home/user/htdocs/

und Sie möchten die Dateien und das Verzeichnis

/home/user/htdocs/datei1.txt
/home/user/htdocs/datei2.txt
/home/user/htdocs/datei3.txt
/home/user/htdocs/verzeichnis1

komprimieren. Wenn Sie den absoluten Pfad (/home/user/htdocs) vor den Dateio- der Verzeichnisnamen setzen, werden die Verzeichnisnamen und auch ihre Tiefe mit in die Archivdatei gespeichert. Je nachdem, was Sie mit der Archivierung bezwecken, sollten Sie entweder den absoluten oder relativen Pfad setzen.

Bei den folgenden Beispielen wurden insgesamt acht Dateien (reine Textdateien) und zwei Verzeichnisse komprimiert. Anhand der folgenden Tabelle 8.1 können Sie ablesen, wie weit jeweils die möglichen Methoden die Dateien komprimieren konnten. Gerade bei der Komprimierung von Textfiles bietet sich Bzip2 wegen der blockweisen Komprimierung an - anhand der Tabelle sehen Sie den enormen Unterschied zu den anderen Methoden.

Komprimierungstool | Ursprungsgröße aller Dateien | Komprimierungsgröße aller Dateien | %
Gzip | ca. 880 kb | 30.55 kb | 96.53
Bzip2 | ca. 880 kb | 9.53 kb | 98.91
Zip | ca. 880 kb | 29.70 kb | 96.63
Tabelle 8.1: Unterschiedliche Komprimierungen

Zu den Beispielen in diesem Kapitel

Es kann passieren, dass nach Ausführen des Skripts keine Datei erstellt wurde. Dies liegt dann wahrscheinlich daran, dass die erforderlichen Rechte für das Verzeichnis in dem das Skript ausgeführt wurde, nicht richtig gesetzt sind und angepasst werden müssen. Sie müssen dann die Rechte für das Verzeichnis mit Ihrem FTP-Programm folgendermaßen neu setzen:

o+rwx
  • r Leserechte
  • w Schreibrechte
  • x Recht zum Ausführen

Abbildung 8.1: Rechte


Programmcodedarstellung

Letztes Update: 17.07.2006 08:18:04

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Programmcodedarstellung

Sie werden hier im Buch eine Vielzahl an ProgrammcodeBeispielen und die dazu gehörenden Erklärungen sehen. Um Ihnen das Lesen so einfach wie möglich zu machen, haben wir den Programmcode und die Kommentartexte voneinander getrennt. Stattdessen werden die Kommentartexte als Erklärungstexte formuliert und beschreiben somit den Programmcode im Text.

Damit Sie immer einen Bezug zum Programmcode haben, finden Sie vor jeder Zeile eine Zeilennummer, auf die gegebenenfalls im Text verwiesen wird. Diese Zeilennummern gehören selbstverständlich nicht zum Programmcode, dürfen also auch nicht mit aufgenommen werden. Sollte auf eine solche Zeile verwiesen werden, so ist die Zahl im Text immer in Klammern und fett geschrieben.

Beispiel:
Die Variable $var (5) speichert nur einen Text, der nicht weiter benötigt wird.


Dateien und Verzeichnisse mit TAR/Gzip komprimieren

Letztes Update: 27.07.2006 15:12:19

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateien und Verzeichnisse mit TAR/Gzip komprimieren

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5
  • TAR
  • GZIP

Datei(en)

gzip.php

Das Skript archiviert zuerst alle angegebenen Dateien und Verzeichnisse (rekursiv) mit TAR. Erst im zweiten Schritt wird die erzeugte Archivdatei mit Gzip komprimiert und die zuvor erstellte Archivdatei gelöscht. Zur besseren Darstellung wurde bei der Erzeugung des TAR-Archivs die Option "v" gesetzt. Somit wurde gewährleistet, dass die Funktion exec() ein Array mit allen archivierten Dateien zurückliefern konnte (siehe Ausgabe).

  • -c Erstellt ein neues Archiv
  • -f Erstellt eine Archivdatei

Hinweis

Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen, lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil "Grundlegende Informationen" in diesem Kapitel. Höchstwahrscheinlich wird es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses Verzeichnis besitzen und diese erst vergeben müssen.

Dieses Beispiel wird neben den beiden Textdateien Testdatei1.txt und Testdatei2. txt das komplette Verzeichnis testordner/ incl. Unterverzeichnissen komprimieren. Weiterhin werden im testordnerSQL/ alle *.sql-Dateien archiviert und komprimiert. Sollten sich in diesem Verzeichnis weitere Unterverzeichnisse mit sql-Dateien befinden, werden diese nicht mit in die Archivdatei aufgenommen.

01:
02:
03:
04:
05:
         <?PHP
$files[] = 'Testdatei1.txt';
$files[] = 'Testdatei2.txt';
$files[] = 'testordner/';
$files[] = 'testordnerSQL/*.sql';

Die in unserem Array $files zu sichernden Dateien müssen durch ein Leerzeichen voneinander getrennt werden, damit der Befehl tar einwandfrei funktionieren kann. Wir sparen uns einen Schritt und trennen durch && den Archivbefehl tar vom Komprimierungsbefehl gzip. Wie wir in der Einleitung bereits erklärt haben, verzichten wir hier bewusst auf espaceshellcmd(). Zum Schluss führen wir unser Statement mit dem Befehl exec() aus und erhalten dank unseres Parameters v als Rückgabewert die gesicherten Dateinamen und Verzeichnisse.

06:
07:
08:
09:
10:
11:
12:
         $implodeFiles = implode(" ", $files);
$tarName = 'backup.tar';
$shellBefehl = "tar cvf
$tarName $implodeFiles && gzip $tarName";
exec($shellBefehl,$var);
print_r($var);
?>

Ausgabe im Browser

Array
(
[0] => Testdatei1.txt
[1] => Testdatei2.txt
[2] => testordner/
[3] => testordner/Testdatei4.txt
[4] => testordner/Testdatei5.txt
[5] => testordner/Testdatei6.txt
[6] => testordnerSQL/selfphp_testfile.sql
[7] => testordnerSQL/selfphp_testfile1.sql
[8] => testordnerSQL/selfphp_testfile2.sql
)


Dateien und Verzeichnisse mit TAR/Gzip entpacken

Letztes Update: 27.07.2006 15:19:41

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateien und Verzeichnisse mit TAR/Gzip entpacken

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5
  • TAR
  • GZIP

Datei(en)

gunzip.php

Das Entpacken der zuvor erstellten komprimierten Archivdatei ist ebenso einfach wie das Erstellen. Auch hier wurde die Option "v" nur zur Darstellung genutzt, um als Rückgabewert der Funktion exec() ein Array mit den entpackten Dateien zu bekommen.

Liegen die Datei gunzip.php und die komprimierte Archivdatei in einem Verzeichnis, so werden alle Dateien und Verzeichnisse in denselben Ordner entpackt, in dem auch das PHP-Skript liegt. Anders verhält es sich, wenn Sie bei der Erstellung die absoluten Pfadangaben angegeben haben - die Dateien und Verzeichnisse werden dann in ihre ursprünglichen Verzeichnisse zurückkopiert.

Hinweis

Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen, so lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil "Grundlegende Informationen" in diesem Kapitel. Höchstwahrscheinlich wird es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses Verzeichnis besitzen und diese erst vergeben müssen.

Sicherlich ist Ihnen aufgefallen, dass wir die komplette Backupdatei nur mit tar ansprechen und nicht noch einmal mit gzip. Das liegt daran, dass wir durch den Parameter "-z" das Archiv direkt durch gzip filtern.

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13: 		<?PHP

$dateiName = 'backup.tar.gz';

$shellBefehl = "tar -xzvf $dateiName";

$shellBefehl = escapeshellcmd($shellBefehl);

exec($shellBefehl,$nu);

print_r($nu);

?>
Datei: gunzip.php

Ausgabe

Array
(
[0] => Testdatei1.txt
[1] => Testdatei2.txt
[2] => Testdatei3.txt
[3] => testordner/
[4] => testordner/Testdatei1.txt
[5] => testordner/Testdatei2.txt
[6] => testordner/Testdatei3.txt
)


Dateien/Verzeichnisse mit Bzip2 komprimieren

Letztes Update: 27.07.2006 15:28:48

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateien/Verzeichnisse mit Bzip2 komprimieren

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5
  • TAR
  • BZIP2

Datei(en)

bzip2.php

Das Skript archiviert zuerst alle angegebenen Dateien und Verzeichnisse (rekursiv) mit TAR. Erst im zweiten Schritt wird die erzeugte Archivdatei mit BZIP2 komprimiert und die zuvor erstellte Archivdatei gelöscht. Zur besseren Darstellung wurde bei der Erzeugung des TAR-Archivs die Option "v" gesetzt. Somit wurde gewährleistet, dass die Funktion exec() ein Array mit allen archivierten Dateien zurückliefern konnte (siehe Ausgabe).

  • -c Erstellt ein neues Archiv
  • -f Erstellt eine Archivdatei

Hinweis Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen, lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil "Grundlegende Informationen" in diesem Kapitel. Höchstwahrscheinlich wird es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses Verzeichnis besitzen und diese erst vergeben müssen.

Dieses Beispiel wird neben den beiden Textdateien Testdatei1.txt und Testdatei2. txt das komplette Verzeichnis testordner/ inkl. Unterverzeichnissen komprimieren. Weiterhin werden im testordnerSQL/ alle *.sqlDateien archiviert und komprimiert. Sollten sich in diesem Verzeichnis weitere Unterverzeichnisse mit sql-Dateien befinden, werden diese nicht mit in die Archivdatei aufgenommen.

01:
02:
03:
04:
05: 		<?PHP
$files[] = 'Testdatei1.txt';
$files[] = 'Testdatei2.txt';
$files[] = 'testordner/';
$files[] = 'testordnerSQL/*.sql';

Die in unserem Array $files zu sichernden Dateien müssen durch ein Leerzeichen voneinander getrennt werden, damit der Befehl tar einwandfrei funktionieren kann. Wir sparen uns einen Schritt und trennen durch && den Archivbefehl tar vom Komprimierungsbefehl bzip2. Wie wir in der Einleitung bereits erklärt haben, verzichten wir hier bewusst auf espaceshellcmd(). Zum Schluss führen wir unser Statement mit dem Befehl exec() aus und erhalten dank unseres Parameters v als Rückgabewert die gesicherten Dateinamen und Verzeichnisse.

06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16: 		$implodeFiles = implode(" ", $files);

$tarName = 'backup.tar';

$shellBefehl = "tar -cvf $tarName $implodeFiles && bzip2 $tarName";

exec($shellBefehl,$var);

print_r($var);

?>

Ausgabe im Browser

Array
(
[0] => Testdatei1.txt
[1] => Testdatei2.txt
[2] => testordner/
[3] => testordner/Testdatei4.txt
[4] => testordner/Testdatei5.txt
[5] => testordner/Testdatei6.txt
[6] => testordnerSQL/selfphp_testfile.sql
[7] => testordnerSQL/selfphp_testfile1.sql
[8] => testordnerSQL/selfphp_testfile2.sql
)


Dateien/Verzeichnisse mit Bzip2 entpacken

Letztes Update: 27.07.2006 15:45:16

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateien/Verzeichnisse mit Bzip2 entpacken

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5
  • TAR
  • BZIP2

Datei(en)

bzip2unzip.php

Das Entpacken der zuvor erstellten komprimierten Archivdatei ist ebenso einfach wie das Erstellen. Auch hier wurde die Option "v" nur zur Darstellung genutzt, um als Rückgabewert der Funktion exec() ein Array mit den entpackten Dateien zu bekommen.

Liegen die Datei bzip2unzip.php und die komprimierte Archivdatei in einem Verzeichnis, so werden alle Dateien und Verzeichnisse in denselben Ordner entpackt, in dem auch das PHP-Skript liegt. Anders verhält es sich, wenn Sie bei der Erstellung die absoluten Pfadangaben angegeben haben - die Dateien und Verzeichnisse werden dann in ihre ursprünglichen Verzeichnisse zurückkopiert.

Hinweis

Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen, lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil "Grundlegende Informationen" in diesem Kapitel. Höchstwahrscheinlich wird es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses Verzeichnis besitzen und diese erst vergeben müssen.

Sicherlich ist Ihnen aufgefallen, dass wir die komplette Backupdatei nur mit tar ansprechen und nicht noch einmal mit bzip2. Das liegt daran, dass wir durch den Parameter "-j" das Archiv direkt durch bzip2 filtern.

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13: 		<?PHP

$dateiName = 'backup.tar.bz2';

$shellBefehl = "tar -xjvf $dateiName";

$shellBefehl = escapeshellcmd($shellBefehl);

exec($shellBefehl,$nu);

print_r($nu);

?>

Ausgabe im Browser

Array
(
[0] => Testdatei1.txt
[1] => Testdatei2.txt
[2] => testordner/
[3] => testordner/Testdatei4.txt
[4] => testordner/Testdatei5.txt
[5] => testordner/Testdatei6.txt
[6] => testordnerSQL/selfphp_testfile.sql
[7] => testordnerSQL/selfphp_testfile1.sql
[8] => testordnerSQL/selfphp_testfile2.sql
)


Dateien/Verzeichnisse mit ZIP komprimieren

Letztes Update: 27.07.2006 15:57:55

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateien/Verzeichnisse mit ZIP komprimieren

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5
  • ZIP

Datei(en)

zip.php

Das Skript komprimiert alle angegebenen Dateien und Verzeichnisse und speichert diese in einer Zip-Datei im gleichen Verzeichnis wie die PHP-Datei. Die erzeugte Zip-Datei eignet sich gerade für den Einsatz unter einem Windows-Betriebssystem.

Hinweis

Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen, lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil "Grundlegende Informationen" in diesem Kapitel. Höchstwahrscheinlich wird es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses Verzeichnis besitzen und diese erst vergeben müssen.

Dieses Beispiel wird neben den beiden Textdateien Testdatei1.txt und Testdatei2. txt das komplette Verzeichnis testordner/ incl. Unterverzeichnissen komprimieren. Weiterhin werden im testordnerSQL/ alle *.sql-Dateien archiviert und komprimiert. Sollten sich in diesem Verzeichnis weitere Unterverzeichnisse mit sql-Dateien befinden, so werden diese nicht mit in die Archivdatei aufgenommen.

01:
02:
03:
04:
05:
06:
07:
08: 		<?PHP

$files[] = 'Testdatei1.txt';
$files[] = 'Testdatei2.txt';
$files[] = 'testordner/';
$files[] = 'testordnerSQL/*.sql';

?>

Die in unserem Array $files zu sichernden Dateien müssen durch ein Leerzeichen voneinander getrennt werden, damit der Befehl zip einwandfrei funktioniert. Wie wir in der Einleitung bereits erklärt haben, verzichten wir hier bewusst auf espaceshellcmd(). Zum Schluss führen wir unser Statement mit dem Befehl exec() aus und erhalten dank unseres Parameters v als Rückgabewert die gesicherten Dateinamen und Verzeichnisse inkl. prozentualer Angabe der Komprimierungsrate.

09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21 : 		<?PHP

$implodeFiles = implode(" ", $files);

$tarName = 'backup.zip';

$shellBefehl = "zip -r $tarName $implodeFiles";

exec($shellBefehl,$var);

print_r($var);

?>

Ausgabe im Browser

Array
(
[0] => adding: Testdatei1.txt (deflated 100%)
[1] => adding: Testdatei2.txt (deflated 100%)
[2] => adding: testordner/ (stored 0%)
[3] => adding: testordner/Testdatei4.txt (deflated 100%)
[4] => adding: testordner/Testdatei5.txt (deflated 100%)
[5] => adding: testordner/Testdatei6.txt (deflated 100%)
[6] => adding: testordnerSQL/selfphp_testfile.sql (deflated 88%)
[7] => adding: testordnerSQL/selfphp_testfile1.sql (deflated 88%)
[8] => adding: testordnerSQL/selfphp_testfile2.sql (deflated 88%)
)


Dateien/Verzeichnisse mit ZIP entpacken

Letztes Update: 27.07.2006 16:06:40

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateien/Verzeichnisse mit ZIP entpacken

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5
  • ZIP

Datei(en)

unzip.php

Das Entpacken der zuvor erstellten komprimierten Zip-Datei ist ebenso einfach wie das Erstellen. Liegen die Datei unzip.php und die komprimierte Zip-Datei in einem Verzeichnis, so werden alle Dateien und Verzeichnisse in denselben Ordner entpackt, in dem auch das PHP-Skript liegt.

Anders verhält es sich, wenn Sie bei der Erstellung die absoluten Pfadangaben angegeben haben - die Dateien und Verzeichnisse werden dann in ihre ursprünglichen Verzeichnisse zurückkopiert.

Hinweis

Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen, lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil "Grundlegende Informationen" in diesem Kapitel. Höchstwahrscheinlich wird es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses Verzeichnis besitzen und diese erst vergeben müssen.

01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13: 		<?PHP

$tarName = 'backup.zip';

$shellBefehl = "unzip $tarName";

$shellBefehl = escapeshellcmd($shellBefehl);

exec($shellBefehl,$nu);

print_r($nu);

?>

Ausgabe im Browser

Array
(
[0] => Archive: backup.zip
)


MySQL-Backup über die Shell

Letztes Update: 27.07.2006 17:50:28

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MySQL-Backup über die Shell

Systemvoraussetzung

  • Linux
  • PHP 4 >= 4.3.0
  • PHP 5
  • MySQL
  • Sed (StreamEditor)
  • wahlweise ZIP, BZIP2, TARGZ

Datei(en)

backupDB.php

Problem

Sicherlich kennen Sie das Problem oder wurden in Ihrer Zeit als Programmierer das ein oder andere Mal mit dieser Situation konfrontiert: Man verlangt von Ihnen ein aktuelles Backup der MySQL-Datenbank, da sämtliche Datenbankinhalte weg sind. Jetzt ist guter Rat teuer, vor allem dann, wenn nur sehr selten oder unregelmäßig Backups der Datenbanken durchgeführt wurden.

Stellen Sie sich den möglichen finanziellen Schaden vor, der entstehen kann, wenn alle Daten unwiderruflich weg sind - das passiert schneller, als Ihnen lieb ist, und immer genau dann, wenn man es am wenigsten gebrauchen kann.

Hinweis

Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen, lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil "Grundlegende Informationen" in diesem Kapitel. Höchstwahrscheinlich wird es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses Verzeichnis besitzen und diese erst vergeben müssen.

Gewöhnen Sie sich an, regelmäßige Backups durchzuführen und diese nach Datum und Uhrzeit zu speichern. So werden Sie in der Lage sein, bestimmte Backups zu einem bestimmten Ereignis liefern zu können. Eine schöne Vorstellung, aber an der Umsetzung hapert es sehr oft - entweder wurden nie Backups erstellt oder das letzte Backup ist drei Monate alt.

Lösung

Das nachfolgende Beispiel realisiert ein MySQL-Backup Ihrer Datenbank über die Shell, komprimiert die Backupdatei wahlweise als ZIP, BZIP2 oder TARGZ und speichert die fertige Backupdatei mit einem Datum-/ Zeitstempel auf Ihrem Server. Sie können diese Backupdatei weiterbearbeiten, z. B. per FTP auf einen entfernten Backup-Server spielen oder die Backupdatei per E-Mail versenden.

Zum Schutz bei einem späteren Einlesen der Backupdatei wird beim Erstellen des Backups eine Log-Datei angelegt, die eine Prüfsumme für eine Integritätsprüfung ermittelt und speichert. Vor dem Einlesen kann man nun überprüfen, ob es sich um die Original-Backupdatei handelt.

Konfiguration

Vervollständigen Sie die benötigten Parameter in der Konfiguration mit den Werten für Ihre MySQL-Datenbank. Sie sollten unbedingt für die Backup-Dateien ein eigenes Verzeichnis anlegen, damit nicht versehentlich andere gepackte Dateien mit gelöscht werden. Die Integritätsprüfung der einzelnen Backupdateien benötigen Sie erst wieder beim Einlesen der Dateien in die Datenbank. Vielleicht möchten Sie ja die Backups auf einen entfernten FTP-Server speichern, diese dann bei Bedarf automatisch wieder holen und einlesen. Beim Einlesen wird dann überprüft, ob es sich um die Originaldatei handelt.

<?PHP

 //    Datenbank Hostname oder IP
$self_config['dbhost']            = 'localhost';

//    Datenbank Username
$self_config['dbuser']            = 'dbuser';

//    Datenbank Passwort
$self_config['dbpassword']    = 'dbpassword';

//    Datenbank Name
$self_config['dbname']            = 'dbname';

//    ZIP-Format ('zip' , 'bzip2' , 'targz')
$self_config['zipformat']        = 'zip';

//    Datei-Präfix der Backupdateien
$self_config['praefix']            = $self_config['dbname'];

// Backupverzeichnis
$self_config['dir']                    = 'backup/';

// Alte Backups nach x Tagen löschen
// Löscht alle Backups, die älter als der angegebene Wert sind!
$self_config['delete']            = 14;

// Integritätsprüfung vornehmen? - TRUE / FALSE
// Wird beim spaeteren Einlesen der Backupdatei genutzt
$self_config['checkfile']        = TRUE;

// Name der Log-Datei für Integritätsprüfung
$self_config['logfile']            = 'logfile.log';
Beispiel 8.1: backupDB.php

Hier beginnt der eigentliche Programmcode. Sie sollten den Code nur dann ändern, wenn Sie wirklich wissen, was Sie tun. Sie sollten sich bewusst sein, dass der Programmcode nicht nur Löschfunktionen, sondern auch Shell-Befehle enthält. Sollten Sie diesem Programmcode Benutzereingaben übergeben, prüfen Sie diese genau, bevor diese Eingaben eventuell an die Shell mit übergeben werden und Schaden anrichten könnten!

$zip_format['zip']        = 'zip';
$zip_format['bzip2']    = 'tar.bz2';
$zip_format['targz']    = 'tar.gz';

Backupverzeichnis erstellen

Um das direkte Auslesen des Verzeichnisses zu verhindern, wird hier das Backupverzeichnis auf das Recht 700 gesetzt. Dieses stellt einen Schutz Ihrer Backupdateien dar.

 if(!is_dir($self_config['dir']))
     mkdir($self_config['dir'], 0700);

Dateinamen bilden

Der Dateiname wird aus dem Datenbanknamen, gefolgt von dem aktuellen Datum und der Uhrzeit gebildet.

Beispiel $dateiName: db152878808_20060307_ 084948. sql
Beispiel $tarName: db152878808_20060307_ 084948. tar.bz2

$timeBackup  = date("Y-m-d_H-i-s");
$dateiName   = $self_config['dir'] . $self_config['praefix'] . '_' . $timeBackup . '.sql';
$tarName     = $self_config['dir'] . $self_config['praefix'] . '_' . $timeBackup;
$crcpraefix  = $self_config['praefix'] . '_' . $timeBackup . '.';

Überprüfung, ob Sed installiert ist

Hier findet lediglich eine Überprüfung statt, ob Sed auf Ihrem Server installiert ist. Sollte das nicht der Fall sein, so wird die Backupdatei mit Kommentarzeilen gespeichert. Da eine MySQL-Datei sehr groß werden kann, ist es ratsam, die Kommentarzeilen nicht über PHP entfernen zu lassen, sondern dies von einer geeigneten Serversoftware erledigen zu lassen.

$sedinstall = TRUE;
exec("whereis sed",$whereis);

if($whereis[0] == "sed:")
    $sedinstall = FALSE;

Backup der Datenbank

Führt das Backup der Datenbank aus. MySQL hat die Angewohnheit seine eigenen erstellten Kommentare in einem Dump beim Einlesen als Fehler zu interpretieren. Aus diesem Grund entfernen wir die Kommentare mit SED.

sed "s/^.*$//"

Somit kann unser Backup wieder ohne Probleme eingelesen werden. Der Dump wird in das aktuelle Backupverzeichnis kopiert und nach dem Komprimiervorgang gelöscht.

Z. B. als db152878808_20060307_ 084948. sql

Beispiel der Kommentarzeilen

-- MySQL dump 10.10
--
-- Host: localhost Database: db152878808
-- ---------------------------------------------
-- Server version4.0.25standard

$mysqlDump    = 'mysqldump ';
$mysqlDump .= $self_config['dbname'] . ' ';
$mysqlDump .= '--host="' . $self_config['dbhost'] . '" ';
$mysqlDump .= '--user="' . $self_config['dbuser'] . '" ';
$mysqlDump .= '--password="' . $self_config['dbpassword'] . '" ';

if($sedinstall)
    $mysqlDump .= '| sed "s/^--.*$//" > ' . $dateiName;
else
    $mysqlDump .= '> ' . $dateiName;

exec($mysqlDump);

Backupdateien komprimieren

Man komprimiert die zuvor erstellte DumpDatei (*.sql) und speichert diese in das in der Konfiguration angegebene Format (zip, bzip2 oder tar.gz).

  • -j filtert das Archiv durch bzip2
  • -z filtert das Archiv durch gzip
  • -c erstellt ein neues Archiv
  • -f erstellt eine Archivdatei
if($self_config['zipformat'] == "zip")
{

    $tarName         .= '.' . $zip_format[$self_config['zipformat']];
    $shellBefehl = "zip -r $tarName $dateiName";
    exec($shellBefehl);

}
else if($self_config['zipformat'] == "bzip2")
{

    $tarName         .= '.' . $zip_format[$self_config['zipformat']];
    $shellBefehl = "tar -jcf $tarName $dateiName && bzip2 $tarName";
    exec($shellBefehl);

}
else
{

    $tarName         .= '.' . $zip_format[$self_config['zipformat']];
    $shellBefehl = "tar -zcf $tarName $dateiName && gzip $tarName";
    exec($shellBefehl);

}

Löscht man dann die zuvor erstellte nicht komprimierte Backupdatei (*.sql),

unlink($dateiName);

geht man das komplette Backupverzeichnis durch und löscht alle Backups, die älter als x Tage sind - der Wert für die Tage wird in der Konfiguration festgelegt.

$fileEnd = $zip_format[$self_config['zipformat']];
foreach($zip_format as $fileEnd)
{

    foreach (glob($self_config['dir']."*".$fileEnd) as $filename)
    {

        $fileDate = (time() - filectime($filename))/60/60/24;

      if ($fileDate > $self_config['delete'])
          unlink($filename);

    }

}

Die Integritätsprüfung erstellt anhand der komprimierten Backupdatei eine Prüfsumme (MD5-Code) und speichert den 32 Zeichen langen Hexadezimalwert in die Log-Datei. Vor dem Einlesen in die Datenbank kann anhand dieses Wertes geprüft werden, ob es sich um die Original-Backupdatei handelt.

Form der Backupdatei

db152878808_20060307_ 084948. tar.bz2|11d63563dd055a9314f30b4f46893401
db152878808_20060308_ 172651. tar.bz2|89d9d2a2103ea24885de8c3a639b40ec

if($self_config['checkfile'])
{

    $crc = md5_file($tarName);

    $crcString = $crcpraefix . $zip_format[$self_config['zipformat']] . '|' . $crc . "\n";

    $fp = fopen($self_config['logfile'],"a");
  fputs($fp,$crcString);
  fclose($fp);

}

?>


MySQL-Backup in Datenbank einspielen

Letztes Update: 27.07.2006 18:08:16

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MySQL-Backup in Datenbank einspielen

Systemvoraussetzung

  • Linux
  • PHP 4 >= 4.3.0
  • PHP 5
  • MySQL
  • Sed (Stream-Editor)
  • wahlweise ZIP, BZIP2, TARGZ

Datei(en)

backupImportDB.php

Dieses Skript ist das Gegenstück zu dem zuvor gezeigten Beispiel eines Datenbank-Backups. Das Programm liest die von Ihnen erstellten und komprimierten Backups wieder zurück in die bestehende Datenbank. Bitte beachten Sie, dass bestehende gleiche Tabellen, die sich in der zu ersetzenden Datenbank befinden, überschrieben werden.

Hinweis

Sollte das Skript, nachdem Sie es ausgeführt haben, keine Backupdatei erzeugen, lesen Sie bitte den Text zu Verzeichnisrechten im einleitenden Teil "Grundlegende Informationen" in diesem Kapitel. Höchstwahrscheinlich wird es dann daran liegen, dass Sie nicht die erforderlichen Rechte für dieses Verzeichnis besitzen und diese erst vergeben müssen.

Konfiguration

Vervollständigen Sie die benötigten Parameter in der Konfiguration mit den Werten für Ihre MySQL-Datenbank. Sollten Sie mit dem zuvor erklärten MySQL-Backup-Beispiel eine Integritätsprüfung beim Erstellen der Backups aktiviert haben, können Sie die einzulesende Backupdatei auf ihre "Herkunft" überprüfen. Anhand des MD5-Codes in der Log-Datei kann die einzulesende Backupdatei verglichen werden - wichtig ist hierbei allerdings, dass es sich um den Originalnamen der Datei handelt.

  <?PHP

//    Datenbank Hostname oder IP
$self_config['dbhost'] = 'localhost';

//    Datenbank Username
$self_config['dbuser'] = 'dbuser';

//    Datenbank Passwort
$self_config['dbpassword'] = 'dbpassword';

//    Datenbank Name
$self_config['dbname'] = 'dbname';

//    ZIP-Format ('zip' , 'bzip2' , 'targz')
$self_config['zipformat'] = 'zip';

//    Name der Backupdatei
$self_config['backupfile'] = 'db152878808_2006-03-10_16-53-42.zip';

// Backupdatei nach Import löschen? - TRUE / FALSE
$self_config['backupdelete'] = FALSE;

// Entpackte SQL-Datei nach Import löschen? - TRUE / FALSE
$self_config['sqlfiledelete'] = FALSE;

// Backupverzeichnis
$self_config['verz'] = 'backup/';

// Integritätsprüfung vornehmen? - TRUE / FALSE
// Wird beim Einlesen der Backupdatei in die Datenbank genutzt
$self_config['integritaet'] = TRUE;

// Name der Log-Datei für Integritätsprüfung
$self_config['logfile'] = 'logfile.log';

Hier beginnt der eigentliche Programmcode. Sie sollten den Code nur dann ändern, wenn Sie wirklich wissen, was Sie tun. Sie sollten sich bewusst sein, dass der Programmcode nicht nur Löschfunktionen, sondern auch Shell-Befehle enthält. Sollten Sie diesem Programmcode Benutzereingaben übergeben, so prüfen Sie diese genau, bevor die Eingaben eventuell an die Shell mit übergeben werden und Schaden anrichten!

  $zip_format['zip'] = 'zip';
$zip_format['bzip2'] = 'tar.bz2';
$zip_format['targz'] = 'tar.gz';

$compressFile = $self_config['verz'] . $self_config['backupfile'];
$checkCompressFile = TRUE;

Integritätsprüfung

Sie überprüft anhand des Logfiles, ob es sich um die original erstellte Backupdatei handelt. Das soll gewährleisten, dass die einzulesende Datei nicht manipuliert oder beim Senden beschädigt wurde. Sollte es sich um die Originaldatei handeln, so wird $checkCompressFile auf TRUE gesetzt.

  if($self_config['integritaet'])
{

    $checkCompressFile = FALSE;

    $handle = fopen ($self_config['logfile'],"r");
    while (($data = fgetcsv ($handle, 1000, "|")) !== FALSE)
    {

        if($data[0] == $self_config['backupfile'])
        {
       if(md5_file($compressFile) == rtrim($data[1]))
           $checkCompressFile = TRUE;
        }
    }
    fclose ($handle);

}

Backupdateien dekomprimieren

Dekomprimiert die zuvor erstellte Backupdatei in eine SQLDatei und löscht danach, je nach Angabe in der Konfiguration, die komprimierte Backupdatei.

  • -x entpackt die Datei
  • -d dekomprimieren
  • -c in die Standard Ausgabe schreiben
  if($self_config['zipformat'] == "zip")
{

    $tarName .= '.' . $zip_format[$self_config['zipformat']];
    $shellBefehl = "unzip -x $compressFile";
    exec($shellBefehl);

}
else if($self_config['zipformat'] == "bzip2")
{

    $shellBefehl = "bzip2 -cd $compressFile | tar -xf -";
    exec($shellBefehl);

}
else
{

    $tarName .= '.' . $zip_format[$self_config['zipformat']];
    $shellBefehl = "gzip -cd $compressFile | tar -xf -";
    exec($shellBefehl);

}

$pattern = '/'.$zip_format[$self_config['zipformat']].'/';
$sqlFile = @preg_replace($pattern,"",$compressFile) . 'sql';

if($self_config['backupdelete'])
    @unlink($compressFile);

Backupimport der Datenbank

Führt den Backupimport aus und spielt den Inhalt zurück in die Datenbank. Je nach Angabe in der Konfigurationsdatei wird danach die *.sqlDatei gelöscht.

  if(@file_exists($sqlFile) && $checkCompressFile == TRUE)
{
    $mysqlDump = 'mysql ';
    $mysqlDump .= '--host="' . $self_config['dbhost'] . '" ';
    $mysqlDump .= '--user="' . $self_config['dbuser'] . '" ';
    $mysqlDump .= '--password="' . $self_config['dbpassword'] . '" ';
    $mysqlDump .= $self_config['dbname'] . ' < ' . $sqlFile;
    exec($mysqlDump);
}

if($self_config['sqlfiledelete'])
    @unlink($sqlFile);

?>


Eindeutige IDs erzeugen

Letztes Update: 00.00.0000 00:00:00

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Eindeutige IDs erzeugen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

uniqid.php

Problem

Sie benötigen eine eindeutige ID, um z. B. Bilder oder Dateien zu speichern, die über ein Webformular gesendet wurden? Diese Variante bietet sich an, um Missbrauch vorzubeugen. Somit kann eine Datei, die über ein Formular gesendet wurde, nicht einfach aufgerufen werden, da sie ja nicht unter dem originalen Dateinamen, sondern unter der ID gespeichert wird.

Lösung

Mit uniqid() kann man eine eindeutige ID erstellen lassen. Dabei basiert die erstellte ID auf der aktuellen Zeit in Mikrosekunden. Der boolesche Parameter "TRUE" sorgt dafür, dass am Ende der ID ein zusätzlicher LCG-Wert angehängt wird, und somit die ID noch eindeutiger wird.

Zum Schluss wird zusätzlich aus der ID mit MD5 ein 32 Zeichen langer hexadezimaler Wert erzeugt. Diese ID sollte wirklich einmalig sein und sogar auf anderen Rechnern nicht mehr vorkommen können.

1:
2:
3:
4:
5:
         <?PHP

echo md5(uniqid(rand(), TRUE));

?>

Ausgabe im Browser

94b3031e72ec907d2b1432d893d5f25f


Kurzreferenz zum Buch

Letztes Update: 17.07.2006 08:23:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kurzreferenz zum Buch

In diesem Buch finden Sie eine Vielzahl an Programmbeispielen, die Sie uneingeschränkt für Ihre eigene Webseite benutzen können. Viele Beispiele stellen allerdings eine Mindestanforderung an Ihre installierte Serversoftware. An dem nachfolgenden Beispiel sehen Sie eine solche Voraussetzung, die bei allen Beispielen angegeben wird.

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.3.0
  • PHP 5
  • MySQL
  • libmcrypt 2.4.x oder 2.5.x

So haben Sie jederzeit die Möglichkeit zu sehen, ob dieses Beispiel auf Ihrem Server laufen wird oder welche Software eventuell nachinstalliert werden müsste.

Oftmals ist es problemlos möglich, diese Servervoraussetzungen mit ein wenig Programmcode nach unten hin zu revidieren. Dafür müssen Sie dem Programmcode lediglich ein paar PHP-Funktionen entnehmen und anstelle dieser entweder eine manuelle Programmlogik oder eine andere PHP-Funktion einbauen. Hierfür steht Ihnen die komplette Funktionsübersicht oder die Funktionsreferenz von SELFPHP zur Verfügung.


Metatags auslesen

Letztes Update: 27.07.2006 18:19:37

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Metatags auslesen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3 >= 3.0.4
  • PHP 4
  • PHP 5

Datei(en)

get_meta_tags.php

Problem

Sie möchten die Metatags einer fremden Website oder einer Seite auf Ihrem Webserver auslesen und für weitere Vorgänge nutzen?

Lösung

Mit get_meta_tags() kann man sich alle Metatags aus einer Datei oder von einer URL in ein Array ausgeben lassen. Sie können dann wie gewohnt auf dieses Array zugreifen oder sich dieses einfach in einer foreach-Schleife ausgeben lassen.

1:
2:
3:
4:
5:
6:
7:
         <?PHP

$tags = get_meta_tags('http://www.selfphp.de/');

print_r($tags);

?>

Ausgabe im Browser

Array
(
[description] => SELFPHP: Befehlsreferenz Tutorial Forum ... &nbsp; f&uuml;r
PHP Einsteiger und professionelle Entwickler
[keywords] => SELFPHP, Befehlsreferenz, Praxisbuch, MySQL, Forum, Werbung, StartUp
[author] => Damir Enseleit, mail@selfphp.de
[dc_contributer] => Damir Enseleit, mail@selfphp.de
[dc_publisher] => Damir Enseleit, mail@selfphp.de
[dc_date] => 20051101T00:00:00+01:00
[dc_identifier] => http://www.selfphp.de/index.php
[dc_language] => de
[dc_rights] => editorial/index.php
[self_firstdate] => 20051101T00:00:00+01:00
[self_version] => 2
[self_pagetype] => Ordner
[self_path] => SELFPHP == index.php
[robots] => all
)


Umrechnung Byte/Kilobyte/Megabyte - Byte/Kibibyte/Mebibyte

Letztes Update: 19.08.2006 20:33:29

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Umrechnung Byte/Kilobyte/Megabyte - Byte/Kibibyte/Mebibyte

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

size_format.php

Problem

Täglich sehen wir auf Webseiten Dateien zum Download, bei denen die Dateigröße nicht angegeben wird. Gerade diese Information ist für sehr viele Besucher wichtig und sollte auch neben jeder Datei stehen. Wie Sie die Größe einer Datei erhalten, sollte kein Problem darstellen - Sie nutzen ja dafür die Funktion filesize().

Diese Größe erhalten Sie aber in Byte zurück. Für Sie ist das vielleicht eine Zahl, mit der Sie umgehen können, für viele Besucher ist sie aber nicht aussagekräftig genug. Sie sollten also die Größe jeweils in die entsprechende Darstellung formatieren.

Aber gerade hier entstehen schon die ersten Probleme. Nehme ich für meine Darstellung Kilobyte und Megabyte oder Kibibyte und Mebibyte, und wie ist eigentlich der Umrechnungsfaktor? Waren das jetzt 1000 oder 1024, und was gehört zu wem? 1000 zu Kibi oder 1000 zu Kilo?

Wie Sie sehen, gibt es einiges zu berücksichtigen. Es ist aber sehr wichtig welches Präfix (z. B. Kibi oder Kilo) Sie für Ihre Darstellung der Dateigröße nehmen. Je nachdem kommen unterschiedliche Größen heraus, und durch eine falsche Bezeichnung kann es passieren, dass es bei einer Rückrechnung mit einem korrekten Wert zu einer fehlerhaften Ausgabe kommt! Wir werden uns im Anschluss um dieses Problem kümmern. In Zukunft lassen Sie die Formatierung einfach durch die nachfolgende Funktion erledigen, da diese Ihnen die komplette Arbeit abnimmt.

Lösung

Zuerst sollten wir uns kurz die Begriffserklärung anschauen. Wir werden in diesem Buch nicht die komplette Bedeutung aufzeigen, sondern sie nur an einem Beispiel kurz erläutern.

Wir sprechen in der Informatik sehr oft von Bit und Byte, wenn es um Daten geht, also Speicherverbrauch, Übertragungsgeschwindigkeit oder z. B. Festplattengröße.

Wenn die Werte größer werden, rechnen wir sie um und fügen die Präfixe Kilo (kBit/kByte), Mega (MBit/MByte), Giga (GBit/GByte), Tera (TBit/TByte) etc. vor die Maßeinheit. Verwirrung entsteht, wenn man einen Wert angibt, dabei aber die falsche Maßeinheit benutzt.

Von Kilobyte bis Yottabyte

  • 1 Kilobyte (kB) sind 1000 Byte (10^3 Byte)
  • 1 Megabyte (MB) sind 1.000.000 Byte (10^6 Byte)
  • 1 Gigabyte (GB) sind 1.000.000.000 Byte (10^9 Byte)
  • 1 Terabyte (TB) sind 1.000.000.000.000 Byte (10^12 Byte)
  • 1 Petabyte (PB) sind 1.000.000.000.000.000 Byte (10^15 Byte)
  • 1 Exabyte (EB) sind 1.000.000.000.000.000.000 Byte (10^18 Byte)
  • 1 Zettabyte (ZB) sind 1.000.000.000.000.000.000.000 Byte (10^21 Byte)
  • 1 Yottabyte (YB) sind 1.000.000.000.000.000.000.000.000 Byte (10^24 Byte)

Von Kibibyte bis Yobibyte

  • 1 Kibibyte (KiB) sind 1024 Byte (2^10 Byte)
  • 1 Mebibyte (MiB) sind 1.048.576 Byte (2^20 Byte)
  • 1 Gibibyte (GiB) sind 1.073.741.824 Byte (2^30 Byte)
  • 1 Tebibyte (TiB) sind 1.099511628E+12 Byte (2^40 Byte)
  • 1 Pebibyte (PiB) sind 1.125899907 E+15 Byte (2^50 Byte)
  • 1 Exbibyte (EiB) sind 1.152921505 E+18 Byte (2^60 Byte)
  • 1 Zebibyte (ZiB) sind 1.180591621 E+21 Byte (2^70 Byte)
  • 1 Yobibyte (YiB) sind 1.20892582 E+24 Byte (2^80 Byte)

Achtung: KB ist nicht gleich kB. Häufig wird zur Unterscheidung von Kilobyte und Kibibyte jeweils der erste Buchstabe anders geschrieben.

  • kB = Kilobyte
  • KB = Kibibyte

Wir wollen aber an dieser Stelle nicht weiter auf dieses Thema eingehen. Achten Sie jedenfalls darauf, dass Sie bei Berechnungen die richtige Einheit angeben. Gerade Festplattenhersteller nutzen sehr gerne den Umrechnungsfaktor 1000, da dadurch die gewonnene Zahl wesentlich größer wird und somit der Eindruck entsteht, dass es sich um eine Festplatte mit größerer Kapazität handelt. Diese Vorgehensweise ist nicht unüblich, man nutzt hier die Unwissenheit der Käufer aus!

function binary_multiples($size, $praefix=true, $short= true)
@param integer $size
@param bool $praefix
@param bool $short
@return float $size

Die Funktion binary_multiples() erwartet als Parameter die umzurechnende Größe in Byte, den auszugebenden Präfix als booleschen Wert (TRUE berechnet durch den Faktor 1000 [für z. B. kB], FALSE berechnet durch den Faktor 1024 [für z. B. KiB]) und als letzten Parameter die Schreibweise (TRUE = Kurzschreibweise und FALSE = Langschreibweise).

Je nachdem, welches Format Sie für die Ausgabe haben möchten, wird in den jeweiligen Zweigen verleitet. Wollen Sie z. B. Byte in Megabyte umrechnen, wird der erste Zweig (39) und danach der nächste Zweig (45) abgearbeitet. Als Umrechnungsfaktor dient dann die Zahl 1000.

Wollen Sie hingegen Byte in Mebibyte umrechnen, wird der äußere else-Zweig (61) abgearbeitet und anschließend der innere else-Zweig (67). Als Umrechnungsfaktor wird dann die Zahl 1024 herangezogen.

Das eigentliche Kernstück dieser Funktion ist allerdings die Berechnung. Da wir Byte in eine größere Maßeinheit umrechnen wollen, müssen wir den Bytewert so lange durch den Umrechnungsfaktor dividieren (90), bis letztendlich die richtige Maßeinheit gefunden wird. Wir sehen uns das anhand eines Beispiels genauer an.

Die Ausgangslage sind 1099511627776 Byte, und wir nehmen für die Berechnung den Umrechnungsfaktor 1024.

1099511627776 Bytes
1099511627776 / 1024 = 1073741823 Kibibyte
1073741823 / 1024 = 1048575.999 Mebibyte
1048575.999 / 1024 = 1023. 999999 Gibibyte
1023. 999999 / 1024 = 0.99 Tebibyte

Als Ergebnis haben wir also 0.99 Tebibyte. Da allerdings in unserem Beispiel Rundungsfehler enthalten sind, ist der tatsächliche Wert genau 1 Tebibyte.

Unsere WHILE-Schleife (88) läuft also so lange, bis der umgerechnete Wert kleiner als der Umrechnungsfaktor ist. Zusätzlich darf die Variable $x nicht größer sein als die Menge der Arrayinhalte von den jeweiligen Namen ($norm).

Bei jedem Schleifendurchlauf erhöhen (91) wir $x, sodass wir nachher direkt mit diesem Wert den jeweiligen Namen aus dem Array (94) nehmen können. Zusätzlich formatieren wir zum Schluss unseren gefundenen Wert (94) und kürzen ihn auf zwei Stellen. Wir müssen danach lediglich den formatierten Wert an die aufrufende Stelle zurückgeben (96).

036:
037:
038:
039:
040:
041:
042:
043:

044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:

066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098: 		function binary_multiples($size, $praefix=true, $short= true)
{

    if($praefix === true)
    {
        if($short === true)
        {
            $norm = array('B', 'kB', 'MB', 'GB', 'TB', 'PB',
                          'EB', 'ZB', 'YB');
        }
        else
        {
            $norm = array('Byte',
                          'Kilobyte',
                          'Megabyte',
                          'Gigabyte',
                          'Terabyte',
                          'Petabyte',
                          'Exabyte',
                          'Zettabyte',
                          'Yottabyte'
                         );
        }

        $factor = 1000;
    }
    else
    {
        if($short === true)
        {
            $norm = array('B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB',
                          'EiB', 'ZiB', 'YiB');
        }
        else
        {
            $norm = array('Byte',
                          'Kibibyte',
                          'Mebibyte',
                          'Gibibyte',
                          'Tebibyte',
                          'Pebibyte',
                          'Exbibyte',
                          'Zebibyte',
                          'Yobibyte'
                         );
        }

        $factor = 1024;

    }

    $count = count($norm) -1;

    $x = 0;
    while ($size >= $factor && $x < $count)
    {
        $size /= $factor;
        $x++;
    }

  $size = sprintf("%01.2f", $size) . ' ' . $norm[$x];

    return $size;

}
Beispiel 9.1: size_format.php

Der folgende Programmcode muss nicht erklärt werden, sondern dient hier lediglich als Beispiel für unsere Ausgabe. Wir durchlaufen einfach ein Array mit einer Vielzahl von Byte-Werten und lassen uns diese formatiert ausgeben.

102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148: 		<pre>
<?php

$test = array(1024,
              1048576,
              1073741824,
              1099511627776,
              1125899906842624,
              1152921504606846976,
              1180591620717411303424,
              1208925819614629174706176
              );

echo "Kurzform\n";
echo "--------\n";
for($x=0;$x<count($test);$x++)
{
    echo binary_multiples($test[$x]) . "\n";
}
echo "\n";

echo "Langform\n";
echo "--------\n";
for($x=0;$x<count($test);$x++)
{
    echo binary_multiples($test[$x],true,false) . "\n";
}
echo "\n";

echo "Kurzform\n";
echo "--------\n";
for($x=0;$x<count($test);$x++)
{
    echo binary_multiples($test[$x],false) . "\n";
}
echo "\n";

echo "Langform\n";
echo "--------\n";
for($x=0;$x<count($test);$x++)
{
    echo binary_multiples($test[$x],false,false) . "\n";
}
echo "\n";

?>
</pre>
Beispiel 9.2: size_format.php

Ausgabe im Browser

Kurzform
----------
1.02 kB
1.05 MB
1.07 GB
1.10 TB
1.13 PB
1.15 EB
1.18 ZB
1.21 YB

Langform
----------
1.02 Kilobyte
1.05 Megabyte
1.07 Gigabyte
1.10 Terabyte
1.13 Petabyte
1.15 Exabyte
1.18 Zettabyte
1.21 Yottabyte

Kurzform
----------
1.00 KiB
1.00 MiB
1.00 GiB
1.00 TiB
1.00 PiB
1.00 EiB
1.00 ZiB
1.00 YiB

Langform
----------
1.00 Kibibyte
1.00 Mebibyte
1.00 Gibibyte
1.00 Tebibyte
1.00 Pebibyte
1.00 Exbibyte
1.00 Zebibyte
1.00 Yobibyte

Wie Sie sehen, haben Sie jetzt eine sehr schöne Funktion, um in Zukunft jeden Bytewert in einer anderen Darstellung zu präsentieren.


Vorschaubilder erstellen

Letztes Update: 27.07.2006 19:11:33

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vorschaubilder erstellen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.6
  • PHP 5
  • GDLib

Datei(en)

create_thumb.php

Problem

Gerade wenn Sie eine Webseite mit sehr vielen Bildern besitzen, sollten Sie darauf achten, dass Sie jeweils Vorschaubilder anzeigen und nicht die originalen Bilder. In der Regel schauen sich Ihre Besucher nicht alle Bilder an, müssen aber warten, bis alle Bilder geladen sind.

Je nach Größe Ihrer Bilder kann dieser Prozess eine Weile dauern. Nicht zu unterschätzen ist auch der entstehende Traffic, der zu Ihren Lasten geht.

Wir zeigen Ihnen in diesem Beispiel eine Lösung auf, wie Sie aus JPG-, PNG- und GIF-Bildern kleine Vorschaubilder erzeugen.

Lösung

Wir wollen hier zeigen, wie Sie aus einer großen Bilddatei ein Vorschaubild erstellen. Dabei achten wir darauf, dass die Proportionen beibehalten werden.

function resizePicture($file, $width, $height)
@param string $file
@param integer $width
@param string $height
@return bool

Die Funktion resizePicture() erwartet als Parameter die Bilddatei ($file), die maximal mögliche Bildbreite ($width) und die maximal mögliche Bildhöhe ($height). Im ersten Schritt überprüfen wir, ob die übergebene Datei existiert (6) und brechen die Funktion ab (7), falls dies nicht der Fall ist.

Wir schicken dann einen Header (9) zum Browser, sodass er die Information bekommt, dass im Anschluss ein JPG-Bild übertragen wird. Für unsere weiteren Berechnungen und Kontrollmechanismen benötigen wir noch Informationen über das bestehende Bild (11). Wir ermitteln also mit getimagesize() folgende Bildinformationen, die wir als Array erhalten.

  • Breite des Bildes
  • Höhe des Bildes
  • Grafik-Typ - 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF
  • HTMLZeichenkette - " height=xx width=xx"

Wir fragen jetzt im nächsten Schritt ab, um welchen Dateityp es sich handelt.

03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:

42:
43:
44:
45:
         function resizePicture($file, $width, $height)
{

    if(!file_exists($file))
        return false;

    header('Content-type: image/jpeg');

    $info = getimagesize($file);

    if($info[2] == 1)
    {
        $image = imagecreatefromgif($file);
    }
    elseif($info[2] == 2)
    {
        $image = imagecreatefromjpeg($file);
    }
    elseif($info[2] == 3)
    {
        $image = imagecreatefrompng($file);
    }
    else
    {
            return false;
    }

    if ($width && ($info[0] < $info[1]))
    {
        $width = ($height / $info[1]) * $info[0];
    }
    else
    {
        $height = ($width / $info[0]) * $info[1];
    }

    $imagetc = imagecreatetruecolor($width, $height);

    imagecopyresampled($imagetc, $image, 0, 0, 0, 0, $width, $height,
         $info[0], $info[1]);

    imagejpeg($imagetc, null, 100);

}
Beispiel 9.3: create_thumb.php

Der eigentliche Aufruf für die Erzeugung der Bilder ist relativ simpel. Zunächst benötigen wir den Pfad zum Bild oder den Dateinamen (47), die maximale Bildbreite (49) sowie die maximale Bildhöhe (50). Mit all diesen Informationen können Sie die Funktion resizePicture() aufrufen (52) und das Bild erstellen lassen.

47:
48:
49:
50:
51:
52:
         $file = 'vorschaubilder/Tux.png';

$width = 100;
$height = 50;

resizePicture($file, $width, $height);
Beispiel 9.4: create_thumb.php

Falls Sie das Programm über eine Website aufrufen und nicht einzeln, sollten Sie das Programm am besten folgendermaßen starten. So wird das Bild direkt als Vorschaubild in Ihre Webseite eingebunden.

1:
         <img src="create_thumb.php?file=Tux.png">

Sie müssen dann allerdings den Aufruf der Funktion folgendermaßen anpassen:

49:
50:
51:
52: 		$width = 300;
$height = 200;

resizePicture($_GET['file'], $width, $height);

Nachfolgend sehen Sie drei Bilder, die mit diesem Programmcode erzeugt wurden. Dabei kann davon ausgegangen werden, dass sogar bei dem kleinsten Bild die Qualität noch recht gut ist und es somit als Thumbnail herhalten kann.

Abbildung 9.1: Originalgröße: 685 x 476 Vorschaubildgröße: 100 x 69

Abbildung 9.2: Originalgröße: 685 x 476 Vorschaubildgröße: 200 x 138

Abbildung 9.3: Originalgröße: 685 x 476 Vorschaubildgröße: 300 x 208


Grundlegende Informationen

Letztes Update: 27.07.2006 19:30:47

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Grundlegende Informationen

Wir wollen Ihnen in diesem Kapitel zeigen, wie Sie mit der Bibliothek libcurl mit anderen Servern in Verbindung treten. Dabei haben Sie bereits eine große Auswahl an verschiedenen Protokollen für die Verbindung zu den anderen Servern. Folgende Protokolle werden in dieser Bibliothek unterstützt:

  • http
  • https
  • ftp
  • gopher
  • telnet
  • dict
  • file
  • ldap

Darüber hinaus unterstützt diese Bibliothek folgende Methoden:

  • HTTPSZertifikate
  • HTTP POST
  • HTTP PUT
  • Upload von Dateien unter Benutzung von FTP
  • HTTPUploads über Formulare
  • Proxys
  • Cookies
  • Authentifikation mit Benutzername und Passwort

Um zu testen, ob auf Ihrem Server die CURL-Bibliothek installiert ist, erstellen Sie eine PHPDatei mit folgendem Inhalt und rufen diese Datei im Browser auf.

1:
2:
3:
         <?PHP
phpinfo();
?>

Sollte die CURL-Bibliothek installiert sein, finden Sie auf der Seite einen Eintrag (siehe Abbildung 10.1 auf der nächsten Seite) in folgender Form (Versionen von libcurl können hier variieren):

Falls Sie als Testserver einen Windows-Rechner benutzen, müssen Sie die Dateien libeay32.dll und ssleay32.dll aus dem PHP-DLL-Verzeichnis in das system32-Verzeichnis von Windows kopieren. Weiterhin müssen Sie folgenden Eintrag in Ihrer php.ini-Datei auskommentieren.

Abbildung 10.1: curl

extension=php_curl.dll

Sie müssen danach lediglich noch Ihren Webserver neu starten und sehen dann in Ihrer phpinfo()-Ausgabe die zuvor gezeigte Ausgabe für die CURL-Installation.

Sie können sich jederzeit ein Array mit den aktuellen Informationen der letzten CURL-Anfrage zurückgeben lassen. Im Beispiel FTP-Upload mit CURL sehen Sie so ein Array. Dieses kann oft sehr nützlich sein, um sich eventuell bei einem Upload z. B. die durchschnittliche Übertragungsgeschwindigkeit anzeigen zu lassen.

Sie sehen nachfolgend ein Beispiel-Array und im Anschluss daran die Erklärung zu den einzelnen Feldern.

Inhalt des Arrays $info

Array
(
[url] => ftp://ftp3782637:km63TgD@nureinbeispiel4.de:21/www/curlftp/' pecl5.1.2Win32.zip
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => 1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.79
[namelookup_time] => 0
[connect_time] => 0.011
[pretransfer_time] => 0.126
[size_upload] => 1708643
[size_download] => 0
[speed_download] => 0
[speed_upload] => 2162839.2405063
[download_content_length] => 0
[upload_content_length] => 1708643
[starttransfer_time] => 0.126
[redirect_time] => 0
)

Bedeutung der Felder

  • CURLINFO_EFFECTIVE_URL
    die letzte abgearbeitete URL
  • CURLINFO_HTTP_CODE
    der letzte empfangene HTTPCode
  • CURLINFO_FILETIME
    die Zeit in Sekunden für den Empfang des Dokuments (1, wenn die Zeit nicht bekannt ist)
  • CURLINFO_TOTAL_TIME
    die Dauer der letzten Transferzeit in Sekunden
  • CURLINFO_NAMELOOKUP_TIME
    die Zeit in Sekunden, um den Hostnamen aufzulösen
  • CURLINFO_CONNECT_TIME
    die Zeit in Sekunden für den Verbindungsaufbau
  • CURLINFO_PRETRANSFER_TIME
    die Zeit in Sekunden zwischen dem Start und dem Beginn des Empfangs
  • CURLINFO_STARTTRANSFER_TIME
    die Zeit in Sekunden bis zur ersten ByteÜbertragung
  • CURLINFO_REDIRECT_TIME
    die Zeit in Sekunden bis zum eigentlichen Transferbeginn
  • CURLINFO_SIZE_UPLOAD
    die Anzahl der Byte bei einem Upload
  • CURLINFO_SIZE_DOWNLOAD
    die Anzahl der Byte bei einem Download
  • CURLINFO_SPEED_DOWNLOAD
    die durchschnittliche DownloadGeschwindigkeit
  • CURLINFO_SPEED_UPLOAD
    die durchschnittliche UploadGeschwindigkeit
  • CURLINFO_HEADER_SIZE
    die Gesamtgröße aller empfangenen Header
  • CURLINFO_REQUEST_SIZE
    die Gesamtgröße aller Abfragen (momentan nur bei HTTP)
  • CURLINFO_SSL_VERIFYRESULT
    das Ergebnis der SSLZertifikatsüberprüfung, erfordert das Setzen von CURLOPT_SSL_VERIFYPEER
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD
    holt das ContentLengthFeld aus dem HTTPHeader beim Download
  • CURLINFO_CONTENT_LENGTH_UPLOAD
    die festgesetzte Größe bei einem Upload
  • CURLINFO_CONTENT_TYPE
    holt das ContentTypeFeld aus dem HTTPHeader beim Download (NULL, Header wurde nicht gesendet)


Server oder Webseite auf Online/Offline testen

Letztes Update: 20.08.2006 08:28:56

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Server oder Webseite auf Online/Offline testen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.3
  • PHP 5
  • CURLBibliothek

Datei(en)

ping_site.php, formStyle.css

Problem

Sie bieten ein Linkverzeichnis auf Ihrer Webseite an und müssen immer wieder einmal feststellen, dass URLs nicht erreichbar sind. Das ist sehr ärgerlich, denn Ihre Besucher verbinden dies oft mit dem Gedanken, dass Ihre Seite nicht aktuell ist und Sie sich nicht um den Inhalt kümmern.

Wer möchte schon gerne, dass irgendjemand so etwas über einen denkt? Natürlich niemand! Wir werden uns deshalb dieses Problems annehmen.

Lösung

Die Lösung besteht einfach darin, dass bei jedem Seitenaufruf alle Links zuerst getestet und nur angezeigt werden, wenn sie online sind. Aus diesem Grund speichern wir unsere Verbindungen in einem Array und prüfen diese dann nacheinander.

Je nach Ergebnis wird das Array um die Werte "TRUE" oder "FALSE" erweitert. Bei der späteren Ausgabe werden dann nur die Server verlinkt, die auch erreichbar waren. Zusätzlich wird ein farbiges Bild angezeigt, nicht erreichbare Webseiten erhalten ein graues Bild.

function pingSite($webserver)
@param array $webserver
@return array $webserver

Die Funktion pingSite() erwartet als Parameter ein Array mit allen zu prüfenden Servern bzw. Webseiten. Im ersten Schritt durchlaufen wir das komplette Array (36) mit den verschiedenen zu prüfenden URLs. Wir initialisieren (39) anhand einer URL aus dem Array zuerst eine neue Session und setzen im nächsten Schritt einen Time-Out-Wert (41) für diese Verbindung fest.

Dieser Wert sorgt dafür, dass alle nachfolgenden CURL-Funktionen in dieser Zeit abgearbeitet werden müssen. Wird die Zeit überschritten, so endet die Verbindung. Sie können hier ruhig einen kleineren Wert einstellen, da die kommenden Aktionen nicht viel Zeit benötigen werden.

Da wir lediglich den Status der zu prüfenden Webseite abfragen wollen und uns die eventuelle Fehlermeldung nicht interessiert, setzen wir den Parameter (43) für die Fehlermeldungen auf 1. Sollten Sie die Fehlermeldungen allerdings benötigen, müssen Sie hier einen Wert von 0 (Null) eintragen. Sie erhalten dann jeweils im Fehlerfall, wenn der HTTP-Code größer ist als 300, einen Fehlertext geliefert.

Wir müssen jetzt noch den Transfermodus berücksichtigen. Die angepingte Webseite soll ja nicht in unserer Seite inkludiert, sondern nur abgefragt werden. Aus diesem Grund setzen wir den Parameter (45) für den Transfer auf 1. Wenn Sie hier eine 0 (Null) eingeben, wird neben Ihrer Seite auch die Seite des entfernten Hosts angezeigt!

Wir haben jetzt lediglich die Parameter gesetzt, müssen diese aber noch ausführen (47). Aus diesem Grund sollten alle Parameter vorher gesetzt werden, damit die initialisierte Session durch den Befehl curl_exec() (47) ausgeführt werden kann.

Sollte der Server oder die Webseite nicht erreichbar sein, erhalten wir als Rückgabewert entweder "TRUE" (53) oder "FALSE" (49). Wir speichern das Ergebnis "TRUE" (55) oder "FALSE" (51) in unser bestehendes Array, schließen die Verbindung (58) zum geprüften Server und geben das Array an unsere aufrufende Stelle zurück (62).

033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064: 		function pingSite($webserver)
{

   foreach ($webserver as $key => $host)
    {

        $fp = curl_init($host['url']);

        curl_setopt($fp,CURLOPT_TIMEOUT,10);

        curl_setopt($fp,CURLOPT_FAILONERROR,1);

        curl_setopt($fp,CURLOPT_RETURNTRANSFER,1);

        curl_exec($fp);

        if (curl_errno($fp) != 0)
        {
            $webserver[$key]['status'] = false;
        }
        else
        {
            $webserver[$key]['status'] = true;
        }

        curl_close($fp);

    }

    return $webserver;

}
Beispiel 10.1: ping_site.php

Nachfolgend sind nur noch ein paar Konfigurationsparameter zu setzen. Wir benötigen zum einen ein Bild für die Online-Variante (66), zum anderen ein Bild (67), falls der Server oder die Webseite nicht zu erreichen war.

Die eigentlichen zu prüfenden URLs brauchen Sie dann nur in das jeweilige Array eintragen (69, 70). Statt des Namens können Sie hier auch die URL angeben. Falls Ihre URLs aus einer Datenbank kommen, können Sie diese bequem über eine WHILE-Schleife in das Array eintragen lassen.

Wir müssen jetzt zur Überprüfung unser komplettes Array an die Funktion pingSite() übergeben (81). Als Rückgabewert erhalten wir das modifizierte Array mit den Statusergebnissen "TRUE" oder "FALSE".

Wir durchlaufen dann dieses Array (92) und fragen jeweils den Status ab (94). War die aktuelle Verbindung erfolgreich, also die Seite online, so springen wir in den else-Zweig (100), verlinken die URL und zeigen unser farbiges Bildsymbol an (siehe Ausgabe). War die Verbindung nicht erfolgreich (94), verlinken wir die URL nicht und zeigen zusätzlich ein graues Bildsymbol an.

066:
067:
068:
069:
070:
071:
072:
073:

074:
075:
076:
077:
078:
079:

080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:

104:
105:
106:
107:
108:
109:
110:
         $pictureOnline = 'sonne_1.pnp';
$pictureOffline = 'sonne_0.png';

$webserver[0]['name'] = 'SELFPHP';
$webserver[0]['url'] = 'http://www.selfphp.de';

$webserver[1]['name'] = 'SELFPHP Funktionsreferenz';
$webserver[1]['url'] = 'http://www.selfphp.de/funktionsreferenz/
          index.php';

$webserver[2]['name'] = 'SELFPHP Forum';
$webserver[2]['url'] = 'http://www.selfphp.de/forumXXL';

$webserver[3]['name'] = 'SELFPHP Download';
$webserver[3]['url'] = 'http://downloads.selfphp.de/
       ?file=selfphp_3.0_.tar.gz';

$webserver = pingSite($webserver);
?>
<html>
<head>
<title>Downloads</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="formStyle.css" rel="stylesheet" type="text/css">
</head>

<body>
<?PHP
foreach ($webserver as $key => $host)
{
   if(!$host['status'])
   {
    echo '<img src="sonne_0.png"  align="absmiddle">&nbsp;&nbsp;';
    echo 'Name: ' . $host['name'] . '&nbsp;';
    echo '(Offline: ' . $host['url'] . ')<br><br>';
   }
   else
   {
       echo '<img src="sonne_1.png"  align="absmiddle">&nbsp;&nbsp;';
       echo '<a href="'.$host['url'].'" target="_blank">' .
             $host['name'] . '</a>&nbsp;';
    echo '<br><br>';
   }
}

?>
</body>
</html>
Beispiel 10.2: ping_site.php

Wie Sie sehen, haben wir jetzt eine sehr schöne Darstellung unserer Downloadseite. Ihre Besucher werden es zu schätzen wissen und "klicken" nicht mehr ins Leere, falls eine Seite nicht erreichbar ist.

Ausgabe im Browser

Abbildung 10.2: PingSeite


Webformulare automatisiert ausfüllen

Letztes Update: 28.07.2006 09:08:27

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Webformulare automatisiert ausfüllen

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.3
  • PHP 5
  • CURLBibliothek

Datei(en)

curl_form.php, curl_formular.php, curlForm.sql

Problem

Wir haben Ihnen in einem vorangegangenen Beispiel (Captcha) gezeigt, wie man den Unterschied zwischen einem Mensch und einer Maschine erkennt. Wir wollen Ihnen im Folgenden demonstrieren, wie jemand, ohne auf Ihrer Webseite gewesen zu sein, eines Ihrer Formulare beliebig oft ausfüllen kann.

Ein einziges Mal muss man dazu aber doch auf die Webseite, um sich den Quellcode des Formulars anzuschauen. Danach läuft aber alles automatisiert.

Lösung

Die Lösung hierfür ist sehr trivial. Wir müssen lediglich unser vorheriges Beispiel ein wenig modifizieren, und schon können wir uns überall eintragen. Voraussetzung dafür ist allerdings, dass das entfernte Formular keinen Schutz wie zum Beispiel Captcha beinhaltet.

Alles, was wir machen müssen, ist, dass entfernte Formular einmal aufzurufen, den Quellcode zu öffnen und nach den Variablen zu schauen. Diese Variablen und die URL zum Formular ersetzen wir dann in unserem Programm. Fertig!

Hinweis

Bevor wir anfangen, den Programmcode zu erklären, möchte ich Ihnen ein paar Worte vorweg sagen. Bitte missbrauchen Sie dieses Programm nicht für illegale Zwecke, um z. B. mehrere 1000 Einträge in irgendwelchen Formularen wie Foren, Gästebücher, Gewinnspiele zu machen.

Sie wissen schließlich nicht, was auf der Gegenseite mitprotokolliert wird! Wenn man Ihre Verbindung zurückverfolgen kann, müssen Sie eventuell mit empfindlichen Strafen rechnen! Dieses Programm soll Schwachstellen in Ihren eigenen Formularen aufdecken, nicht Schwachstellen anderer Formulare!

Ich möchte Sie deshalb an dieser Stelle nochmals ausdrücklich darauf hinweisen, diesen Programmcode nur auf Ihre eigenen Formulare anzuwenden!

function curlStart($domain, $var)
@param string $domain
@param string $var
@return bool $send

Die Funktion curlStart() erwartet als Parameter zum einen die URL zum Formular und zum anderen die Variablen, die übermittelt werden sollen.

Wir initialisieren (36) anhand der URL zuerst eine neue Session und setzen im nächsten Schritt einen Time-Out-Wert (38) für diese Verbindung fest. Dieser Wert sorgt dafür, dass alle nachfolgenden CURL-Funktionen in dieser Zeit abgearbeitet werden müssen.

Wird die Zeit überschritten, so endet die Verbindung. Sie können hier ruhig einen kleineren Wert einstellen, da die kommenden Aktionen nicht viel Zeit benötigen.

Da wir lediglich die Variablen absetzen wollen und uns die eventuelle Fehlermeldung nicht interessiert, setzen wir den Parameter (40) für die Fehlermeldungen auf 1. Sollten Sie die Fehlermeldungen allerdings benötigen, müssen Sie hier einen Wert von 0 (Null) eintragen. Sie erhalten dann jeweils im Fehlerfall, wenn der HTTP-Code größer ist als 300, einen Fehlertext geliefert.

Wir müssen jetzt noch den Transfermodus berücksichtigen. Die angepingte Webseite soll ja nicht in unserer Seite inkludiert, sondern nur abgefragt werden. Aus diesem Grund setzen wir den Parameter (42) für den Transfer auf 1. Wenn Sie hier eine 0 (Null) eingeben, so wird neben Ihrer Seite auch die Seite des entfernten Hosts angezeigt!

Im nächsten Schritt überprüfen wir, ob der Funktion überhaupt eine Variable übermittelt wurde. Falls ja, so wird für die Übermittlung der Variablen die POST-Methode (45) und anschließend der String für die Übermittlung der Variablen gesetzt (46). Bei der Übermittlung per POST wird das Verfahren "application/x-www-form-urlencoded" genutzt.

Wir haben jetzt lediglich die Parameter gesetzt, müssen diese aber noch ausführen (49). Aus diesem Grund sollten alle Parameter vorher gesetzt werden, damit die initialisierte Session durch den Befehl curl_exec() (49) ausgeführt werden kann.

Sollte der Server oder die Webseite nicht erreichbar sein, erhalten wir als Rückgabewert entweder "TRUE" (53) oder "FALSE" (51). Wir speichern das Ergebnis "TRUE" (54) oder "FALSE" (52) in eine Variable, schließen die Verbindung (57) zum Server und geben die Variable an unsere aufrufende Stelle zurück (59).

34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
         function curlStart($domain, $var = false){

    $fp = curl_init($domain);

    curl_setopt($fp,CURLOPT_TIMEOUT,10);

    curl_setopt($fp,CURLOPT_FAILONERROR,1);

    curl_setopt($fp,CURLOPT_RETURNTRANSFER,1);

    if($var != false) {
        curl_setopt($fp,CURLOPT_POST,1);
        curl_setopt ($fp, CURLOPT_POSTFIELDS, $var);
    }

    curl_exec($fp);

    if(curl_errno($fp) != 0) {
        $send = FALSE;
    } else {
        $send = TRUE;
    }

    curl_close($fp);

    return $send;

}
Beispiel 10.3: curl_form.php

Der restliche Teil ist relativ simpel und schnell erklärt. Sie müssen im ersten Schritt die vollständige URL zum Formular angeben (63). Weiterhin benötigen wir noch die Variablen (64). Wenn Sie sich den unten stehenden HTML-Quellcode anschauen, so finden Sie dort zwei Variablen.

  • vorname
  • name

Um den Variablen einen Wert zuweisen zu können, müssen Sie ein Gleichheitszeichen setzen:

vorname=Damir
name=Enseleit

Da wir aber nur ein String benötigen, müssen wir die einzelnen Variablen voneinander trennen. Hierfür dient ebenfalls die GET-Schreibweise, und wir trennen diese mit dem kaufmännischen UND (&).

Hier im Beispiel haben wir dann 50-mal den Aufruf unserer Funktion durchgeführt (67). Innerhalb von ein paar wenigen Sekunden wurden 50 Einträge in der Datenbank gespeichert.

63:
64:
65:
66:
67:
68: 		$formURL = 'http://www.nureinbeispiel4.de/curl_formular.php';
$var = 'vorname=Damir&name=Enseleit';

for($x=0;$x<50;$x++) {
    $send = curlStart($formURL,$var);
}
Beispiel 10.4: curl_form.php

Wie bereits erwähnt, benötigen Sie nur die Formularnamen und die URL zu dem Formular. Der nachstehende Quellcode der HTML-Seite dient dabei der Veranschaulichung.

Quellcode der fremden FormularSeite

18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:

32:
33:
34:
35:
36:

37:
38:
39:
40:

41:
42:
43:
44:
45:
         <html>
<head>
<title>Webformulare automatisiert ausfüllen lassen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="formStyle.css" rel="stylesheet" type="text/css">
</head>

<body>
<form name="form1" method="post" action="curl_formular.php">
<table width="100%" border="0" cellspacing="0" class="table">
  <tr>
    <td width="7%">Vorname</td>
    <td width="93%">
      <input name="vorname" type="text" class="inputField"
             value="<?PHP echo $_POST['vorname']; ?>">
    </td>
  </tr>
  <tr>
    <td>Name</td>
    <td><input name="name" type="text" class="inputField"
            value="<?PHP echo $_POST['name']; ?>"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input name="Submit" type="submit" class="button"
             value="Abschicken"></td>
  </tr>
</table>
</form>
</body>
</html>
Beispiel 10.5: curl_formular.php


Benutzer-/Passwort-Authentifikation mit CURL

Letztes Update: 28.07.2006 09:40:36

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Benutzer-/Passwort-Authentifikation mit CURL

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.3
  • PHP 5
  • curlBibliothek

Datei(en)

curl_auth.php

Problem

Sie haben bereits im vorangegangenen Beispiel gesehen, wie Sie ein Formular mittels CURL-Funktionen automatisiert ausführen. Was ist aber, wenn dieses Formular hinter einem passwortgeschützten Bereich liegt? Wir werden in diesem Beispiel aufzeigen, wie Sie wiederum mit den CURL-Funktionen dieses kleine Problem lösen.

Lösung

Wir nehmen unsere bereits bekannte Funktion aus dem vorherigen Beispiel und erweitern sie für die Aufnahme eines Usernamens und eines Passworts für ein geschütztes Verzeichnis. Da wir bereits im vorherigen Kapitel den Programmcode beschrieben haben, werden wir hier nur die Neuerungen erklären.

function curlStart($domain, $var)
@param string $domain
@param string $var
@param string $user
@param string $pass
@return bool $send

Der Funktion curlStart() werden zwei zusätzlich Variablen übermittelt, damit die CURL-Funktionen diese an die aufrufende Seite übermitteln können. Wir überprüfen innerhalb der Funktion, ob ein Username und Passwort übermittelt wurden (44). Falls ja, so setzen wir die weitere Option CURLOPT_USERPASSWD (45) und können jetzt die Abfrage senden.

34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
         function curlStart($domain, $var = false, $user = false, $pass = false){

    $fp = curl_init($domain);

    curl_setopt($fp,CURLOPT_TIMEOUT,10);

    curl_setopt($fp,CURLOPT_FAILONERROR,1);

    curl_setopt($fp,CURLOPT_RETURNTRANSFER,1);

    if($user != false || $pass != false) {
        curl_setopt($fp,CURLOPT_USERPWD,$user.":".$pass);
    }

    if($var != false) {
        curl_setopt($fp,CURLOPT_POST,1);
        curl_setopt ($fp, CURLOPT_POSTFIELDS, $var);
    }

    curl_exec($fp);

    if(curl_errno($fp) != 0) {
        $send = FALSE;
    } else {
        $send = TRUE;
    }

    curl_close($fp);

    return $send;

}
Beispiel 10.6: curl_auth.php

Wir haben hier als Beispiel den Programmcode des vorangegangenen Beispiels herangezogen. So wäre es z. B. auch möglich, verschiedene Seiten mit unterschiedlichen Zugangsdaten anzusteuern. Sie müssen lediglich den Usernamen und das Passwort für jede Abfrage übermitteln.

67:
68:
69:
70:
71:
72:
73:
74:
75:
         $formURL = 'http://www.nureinbeispiel4.de/curl_formular.php';
$var = 'vorname=Damir&name=Enseleit';
$user = 'Damir';
$passwd = 'Enseleit';

for($x=0;$x<50;$x++) {
    $send = curlStart($formURL,$var, $user, $passwd);

}
Beispiel 10.7: curl_auth.php


FTP-Upload mit CURL

Letztes Update: 19.08.2006 19:49:15

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

FTP-Upload mit CURL

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.3
  • PHP 5
  • CURL-Bibliothek

Datei(en)

curl_upload.php

Problem

Sie haben bereits in einem vorangegangenen Kapitel gesehen, wie Sie ein Backup Ihrer Datenbank oder von Dateien in Ihrem Webordner erstellen können. Sicherlich möchten Sie aber diese Backups nicht auf dem gleichen Server speichern, sondern auf einem entfernten Backup-Server.

Die Frage ist nur, wie man die Backupdatei auf dem anderen Server sichert. Das nachfolgende Beispiel erledigt genau diese Aufgabe. Sie können also beide Programme kombinieren und erhalten dadurch eine vollständige Backup-Lösung.

Lösung

Wir werden in unserem Beispiel ein Backup (Upload) einer Datei auf einen anderen Server realisieren. Der Kapitelbezeichnung CURL gemäß werden wir dabei ausschließlich die CURL-Funktionen nutzen.

Hier im Beispiel geht es zunächst nur um die Realisierung des Uploads und seiner Ausgaben. In einem späteren Beispiel werden Sie sehen, wie eine Komplettlösung aussehen könnte, also Upload, Download und Speicherung der Info-Daten in einer Datenbank.

function curlUpload($ftp, $ftpFile)
@param array $ftp
@param string $ftpFile
@return array $info

Die Funktion curlUpload() erwartet als Parameter zum einen ein Array mit den Verbindungswerten (Host, Pfad, neuer Dateiname, FTP-Benutzername, FTP-Passwort) und zum anderen die Datei, die per Upload auf den anderen Server kopiert werden soll.

Zuerst öffnen (35) wir die Datei, die wir später auf den anderen Server kopieren werden. Die übermittelten Verbindungswerte aus unserem Array müssen wir im Anschluss daran zu einem Verbindungsstring zusammenfügen (36). Der Aufbau dieses Strings unterliegt einer Norm, die eingehalten werden muss.

ftp://BENUTZERNAME:PASSWORT@HOST:PORT/DateiMitPfadangabe

Nachfolgend sehen Sie ein Beispiel für den zusammengesetzten String.

ftp://ftp3782637:km63TgD@nureinbeispiel4.de:21/www/curlftp/pecl5.1.2Win32.zip

Bei der Pfadangabe ist eines zu beachten. Die Pfadangabe beginnt in Ihrem Document-Root (wie bei Ihrem FTP-Programm auch). Sollte also Ihre Webpräsenz im Ordner

/kunden/27356282/www/htdocs

liegen, und Sie möchten die Datei meinBackup.zip in dem Ordner

/kunden/27356282/www/htdocs/backups

speichern, so müssen Sie folgende Pfadangabe benutzen:

/backups/meinBackup.zip

Wir initialisieren wieder unsere CURL-Session (38) und setzen anhand des Handle im weiteren Verlauf die Parameter (40-44) für die Verbindung. Zuerst setzen wir den Parameter (40) mit unserer URL, um überhaupt eine Verbindung zu dem entfernten Server zu erhalten. Da wir ja einen Upload durchführen wollen und keine Seite abfragen, müssen wir den Transfermodus (41) für diese Verbindung deaktivieren (ungleich 0 setzen).

Im nächsten Schritt bereiten wir PHP darauf vor (42), dass es sich bei dieser Verbindung um einen Upload handelt, um im nächsten Schritt (43) die Datei für den Upload zu übergeben. Der letzte zu setzende Parameter bestimmt die Dateigröße der Upload-Datei. Die Größe müssen wir PHP vor dem Upload mitteilen (44).

Da alle Parameter gesetzt sind, können wir jetzt den Upload starten (46) und erhalten als Rückgabe (48) alle Informationen (wie zu Beginn des Kapitels beschrieben) in einem Array geliefert. Wir schließen die CURL-Verbindung (50) und geben das Array (52) an die aufrufende Stelle zurück.

033:
034:
035:
036:

037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054: 		function curlUpload($ftp,$ftpFile) {

    $fp   = fopen($ftpFile, "r");
    $url  = "ftp://".$ftp['user'].":".$ftp['passwd']."@".
             $ftp['host'].":21" .$ftp['pfad'].$ftp['file'];

    $handle = curl_init();

    curl_setopt($handle, CURLOPT_URL, $url);
    curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($handle, CURLOPT_UPLOAD, 1);
    curl_setopt($handle, CURLOPT_INFILE, $fp);
    curl_setopt($handle, CURLOPT_INFILESIZE, filesize($ftpFile));

    $result = curl_exec($handle);

    $info = curl_getinfo ($handle);

    curl_close($handle);

    return $info;

}
Beispiel 10.8: curl_upload.php

function makeInfoUpload($info)
@param array $info
@return array $infoF

Die Funktion makeInfoUpload() erwartet als Parameter das vollständige Array mit den Informationen der zuletzt abgearbeiteten CURL-Sitzung. Wir rechnen in dieser Funktion lediglich die Werte für eine ansprechende Darstellung um. Zuerst formatieren wir die durchschnittliche Übertragungsgeschwindigkeit.

Bei diesem Wert handelt es sich um Byte/Sekunde, die wir entweder in Kilobyte oder Megabyte umrechnen wollen.

Sollte der Wert größer oder gleich 1 Million sein (65), so handelt es sich bei der Ausgabe um Megabyte und wir formatieren die Ausgabe so, dass nur noch zwei Stellen hinter dem Komma angezeigt werden (67). War der Wert kleiner (68), formatieren wir ihn nach Kilobyte (70).

Genauso verfahren wir mit der Dateigröße (73). Sollte der Wert größer oder gleich 1 Million sein (73), formatieren wir ihn nach Megabyte (75), ansonsten nach Kilobyte (78).

Zum Schluss müssen wir nur noch die komplette Uploadzeit formatieren (81), um danach das neue Array mit den formatierten Zeiten und Größen (83) an die aufrufende Stelle zurückgeben zu können.

063:
064:
065:
066:
067:

068:
069:
070:

071:
072:
073:
074:
075:

076:
077:
078:

079:
080:
081:

082:
083:
084:
085: 		function makeInfoUpload($info) {

    if($info['speed_upload'] >= 1000000) {
        $speed = $info['speed_upload'] / 1000000;
        $infoF['speed_upload'] = sprintf("%01.2f", $speed) .
                ' MegaByte/s';
    } else {
        $speed = $info['speed_upload'] / 1000;
        $infoF['speed_upload'] = sprintf("%01.1f", $speed) .
                ' KiloByte/s';
    }

    if($info['size_upload'] >= 1000000) {
        $speed = $info['size_upload'] / 1000000;
        $infoF['size_upload'] = sprintf("%01.2f", $speed) .
                ' MegaByte/s';
    } else {
        $speed = $info['size_upload'] / 1000;
        $infoF['size_upload'] = sprintf("%01.1f", $speed) .
                ' KiloByte/s';
    }

    $infoF['total_time'] = sprintf("%01.1f", $info['total_time']) .
        ' Sek.';

    return $infoF;

}
Beispiel 10.9: curl_upload.php

Die restliche PHP-Datei besteht hauptsächlich aus Parametern und den Funktionsaufrufen. Sie müssen folgende Parameter für die Verbindung aufführen:

  • FTP-Benutzername (87)
  • FTP-Passwort (88)
  • HOST (89)
  • Pfad (90), ausgehend vom Document-Root
  • Datei (91) Pfadangabe inkl. dem neuen Dateinamen
  • Uploaddatei (92), die zu kopierende Datei

Sind alle Parameter gesetzt, können Sie den Upload starten (94) und erhalten als Rückgabewert ein Array mit den Informationen der CURL-Verbindung. Sie können nachfolgend noch die Informationen formatieren (96), da die Werte in Byte vorliegen und die Zeiten ebenfalls nicht formatiert sind.

087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101: 		$ftp['user'] = 'ftp1042434-test';
$ftp['passwd'] = 'up24TzF';
$ftp['host'] = 'nureinbeispiel4.de';
$ftp['pfad'] = '/www/';
$ftp['file'] = 'curlftp/pecl-5.1.2-Win32.zip';
$ftpFile = 'pecl-5.1.2-Win32.zip';

$info = curlUpload($ftp,$ftpFile);

$infoF = makeInfoUpload($info);

echo 'Dateigröße: ' . $infoF['size_upload'] . '<br>';
echo 'Geschwindigkeit: ' . $infoF['speed_upload'] . '<br>';
echo 'Gesamtzeit: ' . $infoF['total_time'] . '<br><br>';
print_r($info);
Beispiel 10.10: curl_upload.php

Wie Sie sehen, war der Upload auch hier relativ einfach. Die Informationen könnten Sie z. B. in eine Datenbank speichern und statistisch auswerten. Zusätzlich können Sie die Datei mit einem CronJob verknüpfen, der dann täglich die Backupdatei auf dem Backup-Server speichert. Sie werden später in diesem Buch eine derartige Lösung vorgestellt bekommen.

Ausgabe im Browser

Dateigröße: 1.71 Megabyte/s
Geschwindigkeit: 2.43 Megabyte/s
Gesamtzeit: 0.7 Sek.


FTP-Download mit CURL

Letztes Update: 20.08.2006 08:32:48

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

FTP-Download mit CURL

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.3
  • PHP 5
  • curlBibliothek

Datei(en)

curl_download.php

Problem

Sie haben im vorherigen Beispiel gesehen, wie ein Upload mit CURL funktioniert. Jetzt müssen wir auch das Gegenstück dazu haben, also den Download, der unsere Backupdatei wieder auf unseren Server zurückkopiert.

Lösung

Im Wesentlichen gleicht der Download dem Upload, allerdings müssen einige Parameter verändert werden, damit die Datei wieder auf unserem Server gespeichert werden kann. Beim Upload haben wir bewusst eine Ausgabe unterdrückt, da wir die Daten von unserem Server zu einem Backup-Server transportieren wollten.

Bei einem Download hingegen ist das anders, hier wollen wir eine Datei von einem entfernten Server auf unseren Server transportieren, also müssen wir die Ausgabe zulassen und das Ergebnis in eine Datei schreiben.

function curlDownload($ftp, $ftpFile)
@param array $ftp
@param string $ftpFile
@return array $info

Die Funktion curlDownload() erwartet als Parameter ein Array mit den Verbindungswerten (Host, Pfad, neuer Dateiname, FTP-Benutzername, FTP-Passwort) und den Dateinamen für die Speicherung der Datei auf dem eigenen Server.

Zuerst öffnen (35) wir die Datei, die wir später auf unseren Server schreiben werden. Hier müssen Sie beachten, dass Sie diese Datei im Schreibmodus (w) öffnen. Die übermittelten Verbindungswerte aus unserem Array müssen wir im Anschluss daran zu einem Verbindungsstring zusammenfügen (36). Da hier immer wieder Fehler gemacht werden, erklären wir noch einmal den Aufbau dieses Strings.

ftp://BENUTZERNAME:PASSWORT@HOST:PORT/DateiMitPfadangabe

Nachfolgend sehen Sie ein Beispiel für den zusammengesetzten String:

ftp://ftp3782637:km63TgD@nureinbeispiel4.de:21/www/curlftp/pecl5.1.2Win32.zip

Bei der Pfadangabe ist eines zu beachten: Die Pfadangabe beginnt in Ihrem Document-Root (wie bei Ihrem FTP-Programm auch). Sollte also Ihre Webpräsenz im Ordner

/kunden/27356282/www/htdocs

liegen, und Sie möchten die Datei meinBackup.zip aus dem Ordner

/kunden/27356282/www/htdocs/backups

für den Download holen, so müssen Sie folgende Pfadangabe benutzen:

/backups/meinBackup.zip

Wir initialisieren wieder unsere CURL-Session (38) und setzen anhand des Handle im weiteren Verlauf die Parameter (40-43) für die Verbindung. Zuerst setzen wir den Parameter (40) mit unserer URL, um überhaupt eine Verbindung zu dem entfernten Server zu erhalten.

Da wir dieses Mal ein Download durchführen wollen, also eine Ausgabe benötigen, müssen wir den Transfermodus (41) für diese Verbindung aktivieren (auf 0 setzen).

Im nächsten Schritt bereiten wir PHP darauf vor (42), dass es sich bei dieser Verbindung um einen Download handelt, indem wir den Wert wieder auf 0 (Null) setzen. Jetzt müssen wir lediglich den Handle für unsere Datei, in die wir schreiben wollen, angeben (43).

Da alle Parameter gesetzt sind, können wir jetzt den Download starten (45) und erhalten als Rückgabe (47) alle Informationen in einem Array geliefert. Wir schließen die CURL-Verbindung (49) und geben das Array (51) an die aufrufende Stelle zurück.

033:
034:
035:
036:

037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053: 		function curlDownload($ftp,$ftpFile) {

    $fp   = fopen($ftpFile, "w");
    $url  = "ftp://".$ftp['user'].":".$ftp['passwd']."@".
               $ftp['host'].":21" . $ftp['pfad'].$ftp['file'];

    $handle = curl_init();

    curl_setopt($handle, CURLOPT_URL, $url);
    curl_setopt($handle, CURLOPT_RETURNTRANSFER, 0);
    curl_setopt($handle, CURLOPT_UPLOAD, 0);
    curl_setopt($handle, CURLOPT_FILE, $fp);

    $result = curl_exec($handle);

    $info = curl_getinfo ($handle);

    curl_close($handle);

    return $info;

}
Beispiel 10.11: curl_download.php

function makeInfoDownload($info)
@param array $info
@return array $infoF

Die Funktion makeInfoDownload() erwartet als Parameter das vollständige Array mit den Informationen der zuletzt abgearbeiteten CURL-Sitzung. Wir rechnen in dieser Funktion lediglich die Werte für eine ansprechende Darstellung um. Zuerst formatieren wir die durchschnittliche Übertragungsgeschwindigkeit. Bei diesem Wert handelt es sich um Byte/Sekunde, die wir entweder in Kilobyte oder Megabyte umrechnen wollen.

Sollte der Wert größer oder gleich 1 Million sein (64), handelt es sich bei der Ausgabe um Megabyte, und wir formatieren die Ausgabe so, dass nur noch zwei Stellen hinter dem Komma angezeigt werden (66). War der Wert kleiner (67), formatieren wir ihn nach Kilobyte (68).

Genauso verfahren wir mit der Dateigröße (72). Sollte der Wert größer oder gleich 1 Million sein (72), formatieren wir ihn nach Megabyte (74), ansonsten nach Kilobyte (77).

Zum Schluss müssen wir nur noch die komplette Downloadzeit formatieren (80), um danach das neue Array mit den formatierten Zeiten und Größen (82) an die aufrufende Stelle zurückgeben zu können.

062:
063:
064:
065:
066:

067:
068:
069:

070:
071:
072:
073:
074:

075:
076:
077:

078:
079:
080:

081:
082:
083:
084:

function makeInfoDownload($info) {

    if($info['speed_download'] >= 1000000) {
        $speed = $info['speed_download'] / 1000000;
        $infoF['speed_download'] = sprintf("%01.2f", $speed) .
                                   ' MegaByte/s';
    } else {
        $speed = $info['speed_download'] / 1000;
        $infoF['speed_download'] = sprintf("%01.1f", $speed) .
                                   ' KiloByte/s';
    }

    if($info['size_download'] >= 1000000) {
        $speed = $info['size_download'] / 1000000;
        $infoF['size_download'] = sprintf("%01.2f", $speed) .
                                   ' MegaByte/s';
    } else {
        $speed = $info['size_download'] / 1000;
        $infoF['size_download'] = sprintf("%01.1f", $speed) .
                                    ' KiloByte/s';
    }

    $infoF['total_time'] = sprintf("%01.1f", $info['total_time']) .
                                   ' Sek.';

    return $infoF;

}

Beispiel 10.12: curl_download.php

Die restliche PHP-Datei besteht hauptsächlich aus Parametern und den Funktionsaufrufen. Sie müssen folgende Parameter für die Verbindung aufführen:

  • FTP-Benutzername (86)
  • FTP-Passwort (87)
  • HOST (88)
  • Pfad (89), ausgehend vom Document-Root
  • Datei (90) Pfadangabe inkl. dem neuen Dateinamen
  • Name der Download-Datei (91), die gespeichert werden soll

Sind alle Parameter gesetzt, können Sie den Download starten (93) und erhalten als Rückgabewert ein Array mit den Informationen der CURL-Verbindung. Sie können nachfolgend noch die Informationen formatieren (95), da die Werte in Byte vorliegen und die Zeiten ebenfalls nicht formatiert sind.

086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100: 		$ftp['user'] = 'ftp1042434-test';
$ftp['passwd'] = 'up24TzF';
$ftp['host'] = 'nureinbeispiel4.de';
$ftp['pfad'] = '/www/';
$ftp['file'] = 'curlftp/pecl-5.1.2-Win32.zip';
$ftpFile = 'pecl-5.1.2-Win32.zip';

$info = curlDownload($ftp,$ftpFile);

$infoF = makeInfoDownload($info);

echo 'Dateigröße: ' . $infoF['size_download'] . '<br>';
echo 'Geschwindigkeit: ' . $infoF['speed_download'] . '<br>';
echo 'Gesamtzeit: ' . $infoF['total_time'] . '<br><br>';
print_r($info);
Beispiel 10.13: curl_download.php

Ausgabe im Browser

Dateigröße: 1.71 Megabyte/s
Geschwindigkeit: 286.6 Kilobyte/s
Gesamtzeit: 6.0 Sek.


Versionskontrolle

Letztes Update: 17.07.2006 08:28:15

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Versionskontrolle

Sämtliche Skripte (Listings) in diesem Buch wurden sorgfältig ausgearbeitet und getestet. Dabei wurden als Systeme ein Linuxund WindowsXPRechner genutzt, welche innerhalb eines Netzwerks miteinander verbunden waren. Alle Skripte wurden über den WindowsRechner per Browser gestartet. Die Skripte wurden auf dem Webserver ausgeführt und unterschieden sich nur durch die Dateiendung (*.php oder *.php5). Somit wurde entweder PHP4 oder PHP5 ausgeführt. Auf der CDROM finden Sie in den jeweiligen Verzeichnissen allerdings nur PHPSkripte mit der Endung *.php.

System:

  • Linux/x86
  • Apache Webserver 1.3.33
  • PHP 4.4.2 - ServerAPI: Apache
  • PHP 5.1.2 - ServerAPI: CGI
  • MySQL 4.0.25

Sollten Sie dennoch Beispielskripte finden, die nicht einwandfrei funktionieren oder verbesserungsfähig sind, würde es mich sehr freuen, wenn Sie mich per EMail darüber informieren. Bitte schreiben Sie das Verhalten der Skripte, Ihre Serverausstattung und die darauf laufende Software mit dazu.

Beispiel:

Beispiel: MySQLBackup über die Shell
Datei: backupDB.php
Fehlermeldung: Fatal error: Call to undefined function: glob () in /www/users/ test_php/getimagesize.php on line 2
System: Linux SuSE 10.1
Server: Apache Webserver 1.3.20
PHP: PHP 4.3.0 als Modul einkompiliert
Datenbank: MySQL 3.22.32
Eventuelle Verbesserungen:

Für die Korrespondenz steht Ihnen folgende EMailAdresse zur Verfügung:
kochbuch@selfphp.de


Verzeichnis rekursiv kopieren

Letztes Update: 28.07.2006 12:21:35

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verzeichnis rekursiv kopieren

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

copyShellFolder.php

Problem

Ein komplettes Verzeichnis inkl. Unterverzeichnissen zu kopieren, gehört zu den häufigen Aufgaben, die auf einem Webserver zu erledigen sind. So könnte z. B. bei einem Forums-Update das alte Verzeichnis gesichert werden, sodass in Fehlerfall schnell das alte Forum wieder online gestellt wird.

Lösung

Wir möchten Ihnen diesmal eine andere und wesentlich schnellere Lösung zeigen. Das Programm basiert auf PHP mit Anbindung an die Shell. Wir werden also den kompletten Kopiervorgang nicht durch PHP abwickeln, sondern durch die nachfolgende, sehr kleine Funktion.

function copyShellFolder($source, $dest)
@param string $source
@param string $dest
@return mixed

Die Funktion copyShellFolder() erwartet als Parameter zum einen das zu kopierende Verzeichnis ($source), zum anderen das Zielverzeichnis ($dest). Im ersten Schritt überprüfen wir (34), ob es sich bei dem übergebenen und zu kopierenden Verzeichnis um ein existentes Verzeichnis handelt. Falls es das Verzeichnis nicht geben sollte, brechen wir an dieser Stelle die Funktion ab und geben als Rückgabewert "FALSE" zurück (35).

Sollte das Verzeichnis existieren, bauen wir den String für unseren Kopiervorgang zusammen (37). Der String für unseren Kopiervorgang baut sich wie folgt auf:

  • cp Der Kopierbefehl
  • -R Rekursiv kopieren, also auch Unterverzeichnisse
  • -v Ausgabe erzeugen, zeigt den Kopiervorgang in einem Array an
  • $source Quellverzeichnis
  • $dest Zielverzeichnis

Nachdem wir den String zusammengesetzt haben, können wir im nächsten Schritt den Befehl ausführen (39) und erhalten, falls wir den Schalter "v" angegeben haben, als Rückgabe (41) ein Array mit den kopierten Dateien und Verzeichnissen.

32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43: 		function copyShellFolder($source, $dest){

    if (!is_dir($source))
        return false;

    $shellBefehl = "cp -Rv $source $dest";

    exec($shellBefehl, $var);

    return $var;

}
Beispiel 11.1: copyShellFolder.php

Sie müssen hier lediglich das Quellverzeichnis (45) und das Zielverzeichnis (47) setzen, um dann im späteren Schritt die Funktion ausführen (49) zu können. Als Rückgabewert erhalten Sie (Schalter "v") ein Array mit den kopierten Dateien und Verzeichnissen.

45:
46:
47:
48:
49:
50:
51:
         $source = 'backup3/';

$dest = 'backup4/';

$var = copyShellFolder($source, $dest);

print_r($var);
Beispiel 11.2: copyShellFolder.php

Ausgabe im Browser

Array
(
[0] => ’backup3/’ > ’backup4/backup3’
[1] => ’backup3/9levuh_1137603141.jpg’ > ’backup4/backup3/9' levuh_1137603141.jpg’
[2] => ’backup3/bs9tyo_1137603275.jpg’ > ’backup4/backup3/' bs9tyo_1137603275.jpg’
[3] => ’backup3/fihedp_1137603349.jpg’ > ’backup4/backup3/' fihedp_1137603349.jpg’
[4] => ’backup3/che.gif’ > ’backup4/backup3/che.gif’
[5] => ’backup3/logo.gif’ > ’backup4/backup3/logo.gif’
[6] => ’backup3/u_blau.gif’ > ’backup4/backup3/u_blau.gif’
[7] => ’backup3/.jpg’ > ’backup4/backup3/.jpg’
[8] => ’backup3/gif’ > ’backup4/backup3/gif’
[9] => ’backup3/gif/Testdatei1.txt’ > ’backup4/backup3/gif/Testdatei1.txt’
[10] => ’backup3/gif/Testdatei2.txt’ > ’backup4/backup3/gif/Testdatei2.txt’
[11] => ’backup3/jpg’ > ’backup4/backup3/jpg’
[12] => ’backup3/jpg/Testdatei1.txt’ > ’backup4/backup3/jpg/Testdatei1.txt’
[13] => ’backup3/pdf’ > ’backup4/backup3/pdf’
[14] => ’backup3/glob1.php’ > ’backup4/backup3/glob1.php’
[15] => ’backup3/glob2.php’ > ’backup4/backup3/glob2.php’
)


Verzeichnis rekursiv löschen

Letztes Update: 28.07.2006 12:29:09

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verzeichnis rekursiv löschen

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

deleteShellFolder.php

Problem

Im vorangegangenen Beispiel haben Sie gesehen, wie ein komplettes Verzeichnis inkl. Unterverzeichnissen kopiert wurde. Jetzt fehlt uns noch das Gegenstück, also ein Verzeichnis inkl. aller Unterverzeichnisse zu löschen.

Lösung

Wir werden bei diesem Beispiel wieder direkt mit der Shell arbeiten, da auch hier dieser Vorgang sehr schnell arbeiten wird und der Sourcecode wie im vorangegangenen Beispiel kurz ist.

function deleteShellFolder($source)
@param string $source
@return mixed

Die Funktion deleteShellFolder() erwartet als einzigen Parameter das zu löschende Verzeichnis ($source). Im ersten Schritt überprüfen wir (34), ob es sich bei dem übergebenen und zu löschenden Verzeichnis um ein existentes Verzeichnis handelt. Falls es das Verzeichnis nicht geben sollte, brechen wir an dieser Stelle die Funktion ab und geben als Rückgabewert "FALSE" zurück (35).

Sollte das Verzeichnis existieren, bauen wir den String für unseren Löschvorgang zusammen (37). Der String für unseren Kopiervorgang baut sich wie folgt auf.

  • rm Der Löschbefehl
  • -R Rekursiv löschen, also auch Unterverzeichnisse
  • -v Ausgabe erzeugen, zeigt den Löschvorgang in einem Array an
  • $source Quellverzeichnis

Nachdem wir den String zusammengesetzt haben, können wir im nächsten Schritt den Befehl ausführen (39) und erhalten, falls wir den Schalter "v" angegeben haben, als Rückgabe (41) ein Array mit den gelöschten Dateien und Verzeichnissen.

32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
         function deleteShellFolder($source){

    if (!is_dir($source))
        return false;

    $shellBefehl = "rm -Rv $source";

    exec($shellBefehl,$var);

    return $var;

}
Beispiel 11.3: deleteShellFolder.php

Sie müssen hier lediglich das zu löschende Verzeichnis angeben (45), um dann im späteren Schritt die Funktion ausführen (47) zu können. Als Rückgabewert erhalten Sie (Schalter "v") ein Array mit den gelöschten Dateien und Verzeichnissen.

45:
46:
47:
48:
49:
         $source = 'backup4/';

$var = deleteShellFolder($source);

print_r($var);
Beispiel 11.4: deleteShellFolder.php

Ausgabe im Browser

Array
(
[0] => removing all entries of directory ’backup4’
[1] => removing ’backup4/9levuh_1137603141.jpg’
[2] => removing ’backup4/bs9tyo_1137603275.jpg’
[3] => removing ’backup4/fihedp_1137603349.jpg’
[4] => removing ’backup4/che.gif’
[5] => removing ’backup4/logo.gif’
[6] => removing ’backup4/u_blau.gif’
[7] => removing all entries of directory ’backup4/.jpg’
[8] => removing the directory itself: ’backup4/.jpg’
[9] => removing all entries of directory ’backup4/gif’
[10] => removing ’backup4/gif/Testdatei1.txt’
[11] => removing ’backup4/gif/Testdatei2.txt’
[12] => removing the directory itself: ’backup4/gif’
[13] => removing all entries of directory ’backup4/jpg’
[14] => removing ’backup4/jpg/Testdatei1.txt’
[15] => removing the directory itself: ’backup4/jpg’
[16] => removing all entries of directory ’backup4/pdf’
[17] => removing the directory itself: ’backup4/pdf’
[18] => removing ’backup4/glob1.php’
[19] => removing ’backup4/glob2.php’
[20] => removing the directory itself: ’backup4’
)


Datei in mehrere Dateien aufsplitten

Letztes Update: 28.07.2006 13:11:25

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datei in mehrere Dateien aufsplitten

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

splitShellFile.php

Problem

Gerade wenn Sie sehr große Dateien in mehrere Dateien aufsplitten wollen, stoßen Sie sehr oft an Grenzen, die durch Ihren Webhoster festgelegt wurden. Oftmals ist der zugewiesene Arbeitsspeicher nicht ausreichend groß und die eingelesene Datei führt dann zu einem Abbruch des aktuellen Skripts. Sehr schnell kann es auch passieren, dass die Skriptlaufzeit bei großen Dateien überschritten wird und auch hier das Skript abbricht.

Aber dennoch gibt es Situationen, in denen Sie Dateien (z. B. Logfiles) aufsplitten müssen. Wir werden im Nachfolgenden ein Beispiel aufzeigen, das Dateien über die Shell splittet. Diese Lösung arbeitet wesentlich schneller, als wenn Sie die Datei mit PHP einlesen und zerteilen.

Lösung

Unsere hier vorgestellte Lösung zerlegt eine einzelne Datei in mehrere Dateien. Dabei haben Sie die Wahl, ob Sie die Datei nach bestimmten Zeilen oder nach Byte splitten wollen. Zusätzlich besteht die Möglichkeit, ein Präfix vor die gesplitteten Dateien zu setzen.

function splitShellFolder($file,$split="byte",$sum=1000, $prefix="")
@param string $file
@param string $split
@param integer $sum
@param string $prefix
@return bool

Die Funktion splitShellFile() erwartet als Parameter den zu splittenen Dateinamen ($file), die Variante zum Splitten (Byte - splittet nach x-Byte, jeder andere Wert nach x-Zeilen), die Summe der Zeilen oder Byte, nach der gesplittet werden soll ($sum), und als letzten Parameter das Präfix ($prefix), das jeder Datei vorangestellt wird.

Im ersten Schritt überprüfen wir, ob die zu splittene Datei existiert (37) und beenden im Fehlerfall unsere Funktion (38). Sollte die Datei existieren, überprüfen wir zuerst, wie die Datei gesplittet werden soll.

Soll die Datei nach Byte gesplittet werden (40), bauen wir den String für den Shell-Befehl zusammen (41) und schreiben die Byte-Zahl, nach der die Datei getrennt werden soll, mit in unseren Shell-String. Falls nach Zeilen gesplittet werden soll (42), erstellen wir auch hier den String (43) und schreiben die Zeilenzahlen mit in den Shell-String.

Der String für unseren Splitvorgang baut sich wie folgt auf:

  • split Der Befehl zum Splitten
  • --bytes Splittet die Datei nach jeweils x Byte
  • --lines Splittet die Datei nach jeweils x Zeilen
  • $file Die zu splittende Datei
  • $prefix Das Präfix für die gesplitteten Dateien

Nachdem wir den String für unseren Shell-Befehl zusammengestellt haben, können wir ihn zur Ausführung bringen (46). Sollte das Splitten erfolgreich gewesen sein, finden Sie jetzt in Ihrem Verzeichnis die aufgeteilten Dateien.

35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
         function splitShellFile($file,$split="byte",$sum=1000, $prefix=""){

    if (!file_exists($file))
        return false;

    if($split == "byte") {
        $shellBefehl = "split --bytes=$sum $file $prefix";
    } else {
        $shellBefehl = "split --lines=$sum $file $prefix";
    }

    exec($shellBefehl);

    return true;

}
Beispiel 11.5: splitShellFile.php

Sie müssen lediglich den zu splittenden Namen angeben und die Parameter für die Split-Optionen setzen. Hier in diesem Beispiel sollte eine Datei mit 1000 Zeilen in jeweils eine Datei zu 100 Zeilen aufgeteilt werden. Als Präfix wurde jeder Datei der String "explode_" vorangestellt.

  <?PHP

$file = 'split.txt';

$var = splitShellFile($file,"lines",100,"explode_");

?>

Ausgabe im FTP-Programm

Datei split.txt (Inhalt 1.000 Zeilen) aufgeteilt in jeweils 100 Zeilen.

Abbildung 11.1: Ausgabe im FTP-Programm

Im zweiten Beispiel sollte die gleiche Datei nach exakt 20 kB gesplittet werden. Als Präfix wurde jeder Datei der String "byte_20kB_" vorangestellt.

52:
53:
54:
         $file = 'split.txt';

$var = splitShellFile($file,"byte",20000,"byte_20kB_");
Beispiel 11.6: splitShellFile.php

Ausgabe im FTP-Programm

Datei split.txt (Inhalt 1.000 Zeilen) aufgeteilt in jeweils 20kB Dateien.

Abbildung 11.2: Ausgabe im FTP-Programm (20kB-Dateien)


Suchen in Dateien

Letztes Update: 28.07.2006 14:17:37

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Suchen in Dateien

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

searchShellFile.php

Problem

Sie möchten in Verzeichnissen bzw. in Dateien nach bestimmten Wörtern oder Wortgruppen suchen? Diese Problemstellung gehört wohl zu einer der schwersten Aufgaben in der Programmierung.

Es fängt alleine damit an, das Verzeichnis rekursiv zu durchlaufen, die Dateien zu öffnen, nach den Suchwörtern zu suchen und letztendlich die Ausgabe zu formatieren. Leider ist es aber manchmal doch nötig, solche Operationen durchzuführen.

Wir werden Ihnen hier eine Lösung auf Shell-Basis zeigen, mit der Sie ohne Probleme eine Volltextsuche auf Ihrer Webseite programmieren.

Lösung

Bei der hier gezeigten Lösung greifen wir auf "grep" zu, ein sehr mächtiges Tool für Suchoperationen. Wir werden Ihnen hier einige Optionen und reguläre Ausdrücke auflisten, sodass Sie später selbst die Suchmechanismen anpassen können. Der Shell-Befehl ist dabei folgendermaßen aufgebaut:

grep [OPTION]. . . PATTERN [FILE] . . .

Anhand eines Beispiels sehen Sie, wie der Befehl mit Optionen und einer rekursiven Verzeichnissuche aufgebaut sein könnte.

grep -cH --directories=recurse 'Suchwörter' verzeichnis/

Wichtige Optionen

  • -i, --ignore-case
    Groß- und Kleinschreibung werden nicht unterschieden.
  • -w, --word-regexp
    Das Suchmuster muss ein einzelnes Wort sein (also kein Bestandteil eines anderen Wortes).
  • - s, --no-messages
    Unterdrückt die Fehlerausgaben (Standardfehler); sinnvoll bei Skripten
  • -v, --invert-match
    Zeigt alle Zeilen an, die das Muster nicht enthalten
  • -n, --line-number
    Zeigt die Zeilennummer an, in der das Muster gefunden wurde
  • -H, --with-filename
    Zeigt die Namen von Verzeichnissen und Dateien, in den das Muster gefunden wurde
  • -l, --files-with-matches
    Nur Anzeige der Namen der Dateien, in denen das Muster gefunden wurde
  • -B, --before-context= NUM
    Zeigt »Anzahl« Zeilen an, die vor der Zeile mit dem Muster liegen
  • -A, --after-context= NUM
    Zeigt »Anzahl« Zeilen an, die der Zeile mit dem Muster folgen

Eine vollständige Liste aller Optionen erhalten Sie, wenn Sie das folgende Skript auf Ihrem Server ausführen.

<?PHP
exec("grep help",
$var);
foreach($var as $help)
{
echo $help . '<br>';
}
?>

Sie können mit grep nicht nur nach einem Wort suchen, sondern auch mit regulären Ausdrücken arbeiten. Im Folgenden sehen Sie einen Überblick über die Möglichkeiten, die Ihnen dabei zur Verfügung stehen.

Reguläre Ausdrücke

ˆ (grep, egrep) | Beginn einer Zeile
$ (grep, egrep) | Ende einer Zeile
. (grep, egrep) | Genau ein beliebiges Zeichen
* (grep, egrep) | Beliebig viele des vorangegangenen Zeichens
[] (grep, egrep) | Ein Zeichenbereich – anstelle von Zeichen können hier vordefinierte Klassen von Zeichen verwendet werden: [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], und [:xdigit:].
[ˆ] (grep, egrep) | Kein Zeichen aus dem Bereich
\< (grep) | Am Wortanfang nach dem Muster suchen
\> (grep) | Am Wortende nach dem Muster suchen
\(..\) (grep) | Eingeschlossenes Muster speichern, auf das man später über zugreifen kann. Sie können bis zu neun Muster speichern.
z\{x\} (grep) | x-faches Auftreten des Zeichens z
z\{x,y\} (grep) | mindestens x-, maximal y-maliges Auftreten des Zeichens z
+ (egrep) | Das vorangegangene Zeichen muss mindestens einmal auftreten
? (egrep) | Das vorangegangene Zeichan darf höchstens einmal auftreten
x|y (egrep) | Das Zeichen „x“ oder „y“
(abc|xyz) (egrep) | Eine Zeichenkette „abc“ oder „xyz“. Die runden Klammern sind nicht zwingend notwendig und können entfallen.

function copyShellFolder($source, $search)
@param string $source
@param string $search
@return array

Die Funktion copyShellFolder() erwartet als Parameter zum einen eine Datei oder ein ganzes Verzeichnis, zum anderen das Suchwort oder den regulären Ausdruck. Den Shell-Befehl können Sie mit den Optionen und dem regulären Ausdruck so erweitern, dass er Ihren Bedürfnissen entspricht.

In unserem Beispiel haben wir die Optionen i (ignoriert Groß- und Kleinschreibung), H (zeigt den Verzeichnisnamen und die Datei mit den Suchtreffern an) und die rekursive Verzeichnissuche genommen.

32:
33:
34:
35:
36:
37:
38:
39:
40:
         function copyShellFolder($source, $search){

    $shellBefehl = "grep -cH --directories=recurse '$search' $source";

    exec($shellBefehl, $var);

    return $var;

}
Beispiel 11.7: searchShellFile.php

Der Aufruf der Funktion ist mit wenigen Konfigurationsparametern erledigt. Wir benötigen zum einen eine Datei (42) oder ein ganzes Verzeichnis (43) und zum anderen das Suchwort (45) oder den regulären Ausdruck. Als Rückgabewert erhalten wir ein Array mit den Suchtreffern (47).

42:
43:
44:
45:
46:
47:
48:
49: 		//$source = 'grep.txt';
$source = 'grep/';

$search = 'Sie';

$var = copyShellFolder($source, $search);

print_r($var);
Beispiel 11.8: searchShellFile.php

Die Ausgabe im Browser zeigt für unser Beispiel, dass die Suche in insgesamt drei Dateien zum Erfolg geführt hat. Wir haben durch unsere Optionen jetzt den Dateinamen sowie die Suchtreffer jeder einzelnen Datei in einem Array vorliegen.

Ausgabe im Browser

Array
(
[0] => grep/grep.txt:12
[1] => grep/grep_1.txt:9
[2] => grep/verz/grep_2.txt:12
)


Passwortschutz für Verzeichnisse

Letztes Update: 28.07.2006 14:40:58

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Passwortschutz für Verzeichnisse

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

crypt.php

Problem

Sicherlich kennen Sie das kleine, aber immer wiederkehrende Problem: Sie wollen einfach auf die Schnelle ein komplettes Verzeichnis mit einer .htaccess-Datei schützen. Die meisten Webhoster bieten in Ihren Konfigurationsmenüs oftmals eine Möglichkeit, bestimmte Verzeichnisse zu schützen.

Nehme ich mich aber selbst als Beispiel, stelle ich fest, dass ich meist keine Lust habe, mich erst einmal in das System meines Providers einzuloggen, diesen Service aufzurufen und zum Schluss durch eine Menge an Verzeichnissen zu wandern, bis ich endlich das Erstellen eines Passworts erledigt habe. Es mag zwar keine Stunden dauern, aber zehn bis fünfzehn Minuten nimmt die Aktion schon in Anspruch.

Wirklich toll wäre es, einfach eine PHP-Datei mit FTP auf den Server zu legen, diese dann im Browser aufzurufen und den Verzeichnisschutz in vollem Umfang fertig eingerichtet vorzufinden.

Lösung

Die Lösung hierfür ist sehr einfach und erfordert noch nicht einmal viel Aufwand. Den Programmierer des Programms kostete es zwar etwas Zeit, Sie als Leser dieses Buches dürfen sich über das fertige Skript im beiliegenden ZIP-Archiv freuen.

Wie benutzen für die Realisierung die PHP-Funktion crypt(). crypt() ist eine Einweg-String-Verschlüsselung (Hashbildung) und liefert uns ein Passwort auf Grundlage von DES, das nur mit sehr großem technischem Aufwand wieder entschlüsselt werden kann. Allerdings wird dabei das Passwort nicht wirklich entschlüsselt, sondern mit einer Brute-Force-Attacke geknackt.

Brute-Force-Attacken sind Versuche eines Programms, dass verschlüsselte Passwort zu knacken, indem alle möglichen Kombinationen von Buchstaben, Sonderzeichen und Zahlen ausprobiert werden.

Sie sollten daher niemals Passwörter verwenden, die zu kurz sind oder nur aus Kleinbuchstaben etc. bestehen. Auch sind Passwörter wie z. B. Namen, Vornamen, Tiernamen etc. nicht sicher, da es Wörterbücher für Brute-Force-Attacken gibt.

Sie sollten immer Passwörter nutzen, die keinen Sinn ergeben und nur schwer zu knacken sind, also aus mehr als nur sechs Zeichen bestehen. Dieses nur am Rande, denn das Thema Passwörter und Brute-Force-Attacken in seiner ganzen Bandbreite würde ein ganzes Buch füllen.

function make_htaccess($user, $authName, $passwdFile ="")
@param string $user
@param string $authName
@param string $passwdFile
@return void

Die Function make_htaccess() erwartet als Parameter den Benutzernamen ($user), den Logintext ($authName), sobald das Loginfenster sichtbar wird, und als optionalen Parameter den kompletten Pfad ($passwdFile) zu Ihrer Datei .htpasswd (ohne abschließenden Slash).

Zuerst findet eine Überprüfung (40) statt, ob Sie ein Verzeichnis zu der Datei .htpasswd angegeben haben. Sollte die Variable leer sein, wird die Datei in dem Verzeichnis erstellt, in dem auch der Verzeichnisschutz gilt (und in dem auch die Datei crypt.php liegt).

Bei einer leeren Variable wird nunmehr das aktuelle Arbeitsverzeichnis (41) in die Variable gespeichert. Im nächsten Schritt wird der Inhalt der Datei .htaccess aufgebaut (43-46) und mit den Werten (Benutzername, Logintext und Pfad zur .htpasswd) der einzelnen Variablen gefüllt.

Im aktuellen Arbeitsverzeichnis, also dort, wo auch der Verzeichnisschutz erstellt werden soll, wird die Datei .htaccess erstellt (48-50). Sollte nun ein Benutzer dieses Verzeichnis lesen wollen, wird Ihr Webserver zuerst die Datei .htaccess einlesen und feststellen, dass dieses Verzeichnis geschützt ist.

Der Webserver wird daraufhin ein Loginfenster öffnen und nach Benutzernamen und Passwort fragen. Die durch den Benutzer eingegebenen Daten wird der Webserver mit den Daten in der Datei .htpasswd vergleichen und bei erfolgreichen Logindaten das Verzeichnis freigeben.

038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052: 		function make_htaccess($user, $authName, $passwdFile="") {

    if(empty($passwdFile))
        $passwdFile=dirname(__FILE__);

    $access .=    'AuthType Basic' . "\n";
    $access .=    'AuthName "' . $authName . '"' . "\n";
    $access .=    'AuthUserFile ' . $passwdFile . '/.htpasswd' . "\n";
    $access .=    'require user ' . $user . "\n";

    $handle = fopen(".htaccess","w");
    fputs($handle,$access);
    fclose($handle);

}
Beispiel 12.1: crypt.php

function make_htpasswd($user, $passwd, $passwdFile ="")
@param string $user
@param string $passwd
@param string $passwdFile
@return void

Die Function make_htpasswd() erwartet als Parameter den Benutzernamen ($user), das Passwort ($passwd) und als optionalen Parameter den kompletten Pfad ($passwdFile) zu Ihrer Datei .htpasswd (ohne abschließenden Slash).

Zuerst findet eine Überprüfung (68) statt, ob Sie ein Verzeichnis zu der Datei .htpasswd angegegeben haben. Sollte die Variable leer sein, so wird die Datei in dem Verzeichnis erstellt, in dem auch der Verzeichnisschutz gilt (und in dem auch die Datei crypt.php liegt). Bei einer leeren Variable wird nunmehr das aktuelle Arbeitsverzeichnis (69) in die Variable gespeichert.

Im nächsten Schritt wird das im Klartext übergebene Passwort mit crypt() verschlüsselt. Dieses erzeugte und verschlüsselte Passwort ist nicht mehr entschlüsselbar und kann nur mit sehr hohem technischem Aufwand herausgefunden werden. Der Benutzername und das verschlüsselte Passwort werden mit einem Doppelpunkt voneinander getrennt in eine Variable (72) gespeichert, damit dies im letzten Schritt in der Datei gespeichert (74-76) werden kann.

Zur Speicherung benutzen wir den Parameter "a", der unsere Kombination aus Benutzernamen und Passwort in einer Datei anhängt. Sie möchten sicherlich nur eine .htpasswd verwalten, aber verschiedene Verzeichnisse schützen. Durch diesen Parameter ist dies möglich, da existierende Passwörter in der Datei .htpasswd bestehen bleiben.

066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078: 		function make_htpasswd($user, $passwd, $passwdFile="") {

    if(empty($passwdFile))
        $passwdFile=dirname(__FILE__);

    $passwd = crypt($passwd);
    $htpasswd = $user . ':' . $passwd . "\n";

    $handle = fopen($passwdFile . '/.htpasswd',"a");
    fputs($handle,$htpasswd);
    fclose($handle);

}
Beispiel 12.2: crypt.php

Bevor Sie beide Funktionen aufrufen, müssen Sie lediglich einen Konfigurationsparameter wie z. B. Benutzername, Passwort, Logintext und den Pfad zur Datei .htpasswd setzen. Falls Sie bereits eine bestehende Passwortdatei auf Ihrem Server haben, so müssen Sie lediglich die Funktion make_htaccess() (92) aufrufen und auf Ihre bestehende Passwortdatei verlinken.

080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095: 		// Den Benutzernamen für den Login
$user = 'Damir';

// Das Passwort für den Login
$passwd = 'meinPasswort';

// Der Text, der angezeigt wird wenn das Login-Fenster geöffnet wird.
$authName = 'Meine geschütztes Verzeichnis';

//Den kompletten Pfad zu der Datei .htpasswd, ohne abschließenden Slash (/)
$passwdFile = '';

make_htaccess($user, $authName, $passwdFile);
make_htpasswd($user, $passwd, $passwdFile);

// unlink("crypt.php");
Beispiel 12.3: crypt.php

Inhalt der Datei .htaccess

AuthType Basic
AuthName "Mein geschütztes Verzeichnis"
AuthUserFile /homepages/16/d147850360/htdocs/verz/.htpasswd
require user Damir

Inhalt der Datei .htpasswd

Damir:$abqjYKHv$sUIR4CbV4zRG27oENNvbX1

Wie Sie sehen, war die Lösung relativ simpel. Das Programm könnte aber natürlich weiter ausgebaut werden. Z. B. könnten Sie am Schluss der Datei noch folgenden Befehl ausführen:

unlink("crypt.php");

Die Datei würde sich dann, nachdem der Verzeichnisschutz erstellt wurde, selbst löschen. Dies hätte den Vorteil, dass Sie das nicht noch per FTP erledigen müssten.


Zyklische Redundanzprüfung (CRC)

Letztes Update: 28.07.2006 15:04:01

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zyklische Redundanzprüfung (CRC)

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.3.0
  • PHP 5

Datei(en)

crc.php

Problem

Stellen Sie sich folgendes Szenario vor: Sie erstellen täglich ein Backup Ihrer Datenbank und speichern die Backupdatei auf einen entfernten Backup-Server. Dieser Vorgang passiert täglich und automatisch, sodass Sie dem Backup ohne weiteres vertrauen und es jederzeit wieder in Ihre Datenbank einspielen würden.

Sicherlich kennen Sie das Sprichwort "Vertrauen ist gut, Kontrolle ist besser", das Sie auch hier niemals vergessen sollten. Die Backupdatei mag vielleicht beim Erstellen noch in Ordnung gewesen sein, kann aber eventuell beim Übertragen auf dem Backup-Server Schaden genommen haben. Außerdem kann es passieren, dass beim Download vom Backup-Server zu Ihrem Server irgendetwas passiert ist, und die Datei nicht vollständig übertragen wurde.

Die Datei könnte auch manipuliert sein, aber davon gehen wir erst einmal nicht aus. Dies würde auch durch die zyklische Redundanzprüfung nicht einwandfrei gelöst werden können - dafür benötigen Sie kryptografische Hash-Funktionen wie z. B. md5().

Lösung

Die Lösung kann hier nur eine zyklische Redundanzprüfung (CRC) sein. Dabei handelt es sich um ein Verfahren zur Bestimmung eines Prüfwerts für Daten, um Fehler z. B. bei einer Übertragung zum oder vom Backup-Server erkennen zu können. Wie gehen in unserem Fall davon aus, dass die Datei nicht von einer anderen Person manipuliert wurde, sondern beschränken uns auf eine beschädigte Datei.

Das Beispiel erstellt für jede zu prüfende Datei eine sfv-Datei.

Inhalt der sfv-Datei

; Erstellt von SELFPHP CRC
; 02.04.2006 19:00:55
;
pecl5.1.2Win32.zip 4353f886

In unserem Beispiel wurde die Prüfsumme wie folgt erstellt:

Zu prüfende Datei: pecl5.1.2Win32. zip

CRC-Prüfsumme: 4353f886

Die ersten drei Zeilen sind nur Kommentarzeilen, die beinhalten, wer die Datei erstellt hat und wann sie erstellt wurde. Die vierte Zeile ist das eigentliche Kernstück der Datei. Zum einen beinhaltet sie den Dateinamen unserer zu prüfenden Datei, zum anderen die Prüfsumme als hexadezimale Repräsentation. Beide Werte sind lediglich mit einem Leerzeichen voneinander getrennt.

Diese Datei ist so aufgebaut, dass sie z. B. auch mit dem Programm Total Commander oder DF CrcSfv zur Prüfung Ihrer Dateien genutzt werden kann.

function createCRC($file)
@param string $file
@return bool

Die Funktion createCRC() erwartet als einzigen Parameter den Dateinamen für die Prüfsummenerstellung. Dies könnte z. B. eine Backupdatei sein. Im ersten Schritt wird überprüft (34), ob die angegebene Datei existiert. Sollte die Prüfung erfolgreich sein, so wird der komplette Dateiinhalt in eine Variable gelesen (36). Sollte Ihre PHP-Version die Funktion file_get_contents() nicht unterstützen, können Sie an dieser Stelle die Datei auch mit fread() einlesen.

Die erste Wahl sollte aber immer file_get_contents() sein, da gerade bei sehr großen Dateien der Performancegewinn enorm ist. Aus der zuvor eingelesenen Datei erstellen wir jetzt mit crc32() die Prüfsumme (38) und speichern den Wert mittels dechex() (Dezimal zu Hexadezimal) als hexadezimale Repräsentation in unsere Variable $crc (38).

Jetzt müssen wir lediglich den Inhalt unserer sfv-Datei aufbauen (40-43). Wichtig ist hierbei, dass wir nur den Dateinamen (43) in die sfv-Datei speichern. Daher extrahieren wir mit basename() den Dateinamen aus unserem eventuellen Pfad. Getrennt von einem Leerzeichen wird unsere Prüfsumme in hexadezimaler Darstellung mit in die Datei gespeichert. Zum Schluss wird eine neue sfv-Datei erstellt (45-47), die als Dateinamen unseren ursprünglichen Dateinamen der Backupdatei hat und als Dateiendung sfv enthält.

033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055: 		function createCRC($file) {
    if(file_exists($file)) {

        $content = file_get_contents($file);

        $crc = dechex(crc32($content));

        $crcText .= "; Erstellt von SELFPHP CRC\n";
        $crcText .= "; " . date("d.m.Y H:i:s") . "\n";
        $crcText .= ";\n";
        $crcText .= basename($file) . " " . $crc . "\n";

        $handle = fopen ($file.".sfv", "w");
        fputs ($handle, $crcText);
        fclose ($handle);

        return true;

    }

    return false;

}
Beispiel 12.4: crc.php

function checkCRC($file)
@param string $file
@return bool

Die Function checkCRC() erwartet als einzigen Parameter den Dateinamen der sfv-Datei. Diese beinhaltet unseren Dateinamen für die zu prüfende Datei sowie die Prüfsumme an sich. Wieder überprüfen wir zuerst, ob die sfv-Datei vorhanden ist (67), bevor wir sie einlesen (68). Die Funktion file() liest unsere sfv-Datei zeilenweise in ein Array ein.

Da wir wissen, dass unsere Zeile an der vierten Position ist und somit im Array den Index 3 hat, ist es nun kein Problem, den Wertebereich auszulesen. Wir trennen also unsere Zeile anhand des Leerzeichens mit der Funktion explode() (69) und erhalten als Ergebnis ein Array mit zwei Einträgen.

Im Index 0 (Null) des Arrays befindet sich unser Dateiname und im Index 1 (Eins) unsere Prüfsumme. Nachdem wir überprüft haben, ob die Backupdatei vorhanden ist (71), können wir jetzt den kompletten Inhalt der Backupdatei mit file_get_contents() ( wahlweise auch mit fread() ) in die Variable $content (72) einlesen.

Wieder errechnen wir die Prüfsumme der Datei (73) und vergleichen sie (75) mit der Prüfsumme aus unserer sfv-Datei. Wichtig ist hierbei allerdings, dass die Prüfsumme aus der sfvDatei in hexadezimaler Darstellung vorliegt, hingegen aber die gerade erstellte Prüfsumme in dezimaler Darstellung. Daher konvertieren wir (75) die Prüfsumme aus der sfv-Datei mit hexdec() in eine dezimale Darstellung.

Sollte der Vergleich erfolgreich sein, so wird die Funktion TRUE zurückliefern, also dass die Datei nicht beschädigt ist, ansonsten FALSE.

065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084: 		function checkCRC($file) {

    if(file_exists($file)) {
        $sfvString = file($file);
        $sfv = explode(" ",    $sfvString[3]);

        if(file_exists($sfv[0])) {
            $content = file_get_contents($sfv[0]);
            $crc = crc32($content);

            if($crc == hexdec($sfv[1]))
                return true;
            else
                return false;
        }
    }

    return false;

}
Beispiel 12.5: crc.php

Bei der Überprüfung ist es völlig egal, welchen Dateityp Sie überprüfen möchten. Sie sollten allerdings die sfv-Dateien an einem sicheren Ort aufbewahren, da diese die Prüfsummen enthalten. Sie könnten mit dieser zyklischen Redundanzprüfung z. B. auch Ihre Website bereichern und Dateien zum Download anbieten, dazu die passende sfv-Datei. Ihre Besucher wären dann in der Lage, z. B. mit DF CrcSfv die Datei selbst zu überprüfen.

086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
         // Name der Datei
$fileCRC = 'pecl-5.1.2-Win32.zip';

// Name der sfv-Datei
$fileSFV = 'pecl-5.1.2-Win32.zip.sfv';

if(createCRC($fileCRC))
    echo 'sfv-Datei wurde erstellt<br>';

if(checkCRC($fileSFV))
    echo 'Datei ist unbeschädigt<br>';
else
    echo 'Datei ist beschädigt.';
Beispiel 12.6: crc.php

Das Beispiel zeigt, wie man mit wenig Aufwand eine fast sichere Überprüfung vornimmt. Wie aber bereits erwähnt, ist es lediglich für beschädigte Dateien wirklich sinnvoll. Ein Schutz ist nicht gewährleistet! Sie werden aber in einem folgenden Beispiel sehen, wie diese Lücke geschlossen werden kann.

Die Darstellung der Ausgabe können Sie selbst beeinflussen. Je nachdem erhalten Sie von den Funktionen entweder TRUE bei Erfolg oder FALSE bei Misserfolg zurückgeliefert.

sfv-Datei wurde erstellt Datei ist unbeschädigt


Kryptografische Hash-Funktionen (MD5)

Letztes Update: 28.07.2006 16:27:32

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kryptografische Hash-Funktionen (MD5)

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.2.0
  • PHP 5

Datei(en)

md5.php

Problem

Sie haben im vorangegangenen Beispiel gesehen, wie Prüfsummen von Dateien erstellt werden können. Diese Methode ist allerdings nur für die Übermittlung von Daten geeignet, also ob sie vollständig übertragen wurden.

Wenn Sie einen wirklichen Schutz benötigen, also hundertprozentig sicher sein wollen, dass Ihre Dateien nicht manipuliert wurden, müssen Sie auf eine kryprografische Hash-Funktion wie z. B. MD5 zurückgreifen.

Sicher ist Ihnen das ein oder andere Mal aufgefallen, dass Webseitenbetreiber, die eine Software zum Download anbieten, in Klammern einen MD5-Code mit angeben. Hierbei handelt es sich um die Prüfsumme - der Webseitenbetreiber will damit sicher gehen, dass jede Person, die diese Datei besitzt (auch wenn Sie nicht direkt von der eigenen Website, sondern von einem Mirror geladen wurde), auch wirklich die originale Datei vorliegen hat und keine manipulierte Datei, die z. B. einen Virus enthält.

Lösung

Wie erwähnt müssen wir bei dieser Problemstellung auf die kryprografische Hash-Funktion zurückgreifen. In unserem Beispiel werden wir daher mittels MD5 (Message Digest Algorithm 5) eine derartige Prüfsumme erstellen.

MD5 ist eine weit verbreitete kryptografische Hash-Funktion, die einen 128-Bit-Hash-Wert erzeugt. Wie auch im vorherigen Beispiel werden wir jeweils für eine Datei eine Prüfsummendatei erzeugen, allerdings müssen Sie diese Prüfsumme online neben oder unter Ihrer Downloaddatei selbst einpflegen. Die erstellten Dateien sind lediglich für Sie, damit Sie jederzeit die MD5-Prüfsumme zur Hand haben.

Natürlich könnten Sie auch die sfv-Datei mit der Prüfsumme zum Download anbieten, in der Regel wird es aber nicht gemacht. Mit der Prüfsumme von Ihrer Webseite kann man jetzt Ihre Software von einem beliebigen Server weltweit downloaden und überprüfen, ob es sich um die original von Ihnen erstellte Datei handelt.

Inhalt der .md5.sfvDatei

; Erstellt von SELFPHP MD5
; 03.04.2006 06:59:33
;
pecl5.1.2Win32.zip 09571722fd44bec411a64eca8ca383ae

In unserem Beispiel wurde die Prüfsumme wie folgt erstellt:

Zu prüfende Datei: pecl5.1.2Win32.zip

MD5-Prüfsumme: 09571722fd44bec411a64eca8ca383ae

Die ersten drei Zeilen sind nur Kommentarzeilen, die beinhalten, wer die Datei erstellt hat und wann sie erstellt wurde. Die vierte Zeile ist das eigentliche Kernstück der Datei. Zum einen beinhaltet sie den Dateinamen unserer zu prüfenden Datei und zum anderen die MD5Prüfsumme als hexadezimale Repräsentation. Beide Werte sind lediglich mit einem Leerzeichen voneinander getrennt.

function createMD5($file)
@param string $file
@return mixed

Die Function createMD5() erwartet als einzigen Parameter den Dateinamen für die Prüfsummenerstellung. Diese könnte z. B. eine ausführbare Datei sein, also z. B. ein Setupprogramm für Ihre Software.

Im ersten Schritt wird überprüft (34), ob die angegebene Datei existiert. Sollte die Prüfung erfolgreich sein, wird anhand der Funktion md5_file() (36) direkt eine MD5-Prüfsumme erstellt. Alternativ könnten Sie hier auch mit der Funktion md5() arbeiten, dieses erfordert aber ein paar Programmzeilen mehr bei der Erstellung der Prüfsumme.

Im nächsten Schritt erstellen wir unsere sfv-Datei mit den Informationen (38-41) für eine spätere Prüfsummenvalidierung. Wichtig ist hierbei, dass wir nur den Dateinamen (41) in die sfv-Datei speichern. Daher extrahieren wir mit basename() den Dateinamen aus unserem eventuellen Pfad.

Getrennt von einem Leerzeichen wird unsere MD5-Prüfsumme in hexadezimaler Darstellung mit in die Datei gespeichert. Zum Schluss erstellen wir eine neue sfv-Datei (43-45), die als Dateinamen unseren ursprünglichen Dateinamen und als Dateiendung md5.sfv enthält. Die Funktion gibt bei Erfolg die MD5-Prüfsumme zurück (47), ansonsten FALSE.

033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053: 		function createMD5($file) {
    if(file_exists($file)) {

        $md5 = md5_file($file);

        $crcText .= "; Erstellt von SELFPHP MD5\n";
        $crcText .= "; " . date("d.m.Y H:i:s") . "\n";
        $crcText .= ";\n";
        $crcText .= basename($file) . " " . $md5 . "\n";

        $handle = fopen ($file.".md5.sfv", "w");
        fputs ($handle, $crcText);
        fclose ($handle);

        return $md5;

    }

    return false;

}
Beispiel 12.7: md5.php

function checkMD5($file)
@param string $file
@return mixed

Die Funktion checkMD5() erwartet als einzigen Parameter den Dateinamen der md5.sfv-Datei. Diese beinhaltet den Dateinamen für die zu prüfende Datei sowie die MD5-Prüfsumme. Wieder überprüfen wir zuerst, ob die md5.sfv-Datei vorhanden ist (65), bevor wir diese einlesen (67). Die Funktion file() liest unsere sfv-Datei zeilenweise in ein Array ein.

Da wir wissen, dass unsere Zeile an der vierten Position ist und somit im Array den Index 3 hat, ist es jetzt kein Problem, den Wertebereich auszulesen. Wir trennen also unsere Zeile anhand des Leerzeichen mit der Funktion explode() (68) und erhalten als Ergebnis ein Array mit zwei Einträgen.

Im Index 0 (Null) des Arrays befindet sich unser Dateiname und im Index 1 (Eins) unsere MD5-Prüfsumme. Nachdem wir überprüft haben, ob die zu prüfende Datei vorhanden ist (10), können wir jetzt direkt mit der Funktion md5_file() die Prüfsumme der angegebenen Datei erstellen und in die Variable $md5 (72) einlesen.

Wir vergleichen (74) im nächsten Schritt die gerade erstellte MD5-Prüfsumme mit der Prüfsumme aus unserer md5.sfv-Datei. Obwohl die Funktion md5_ file() einen String zurückgibt, würde der direkte Vergleich scheitern. Aus diesem Grund setzen wir explizit die gerade erstellte Prüfsumme mit settype() auf "string" und prüfen die beiden Werte.

Sollte der Vergleich erfolgreich sein, wird die Funktion TRUE zurückliefern, also dass die Datei nicht beschädigt ist, ansonsten FALSE.

063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085: 		function checkMD5($file) {

    if(file_exists($file)) {

        $sfvString = file($file);
        $sfv = explode(" ",    $sfvString[3]);

        if(file_exists($sfv[0])) {

            $md5 = md5_file($sfv[0]);

            if(settype($md5, "string") == $sfv[1])
                return true;
            else
                return false;

        }

    }

    return false;

}
Beispiel 12.8: md5.php

Bei der Überprüfung ist es völlig egal, welchen Dateityp Sie überprüfen möchten. Sie sollten allerdings die md5.sfv-Dateien an einem sicheren Ort aufbewahren, da diese die Prüfsummen enthalten. Jeder Besucher Ihrer Webseite, vorausgesetzt Sie listen die MD5-Prüfsumme bei Ihren Downloads mit auf, kann jetzt selbst prüfen, ob es sich bei der Datei um die original erstellte Datei handelt.

087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
         // Name der Datei
$fileCRC = 'pecl-5.1.2-Win32.zip';

// Name der sfv-Datei
$fileSFV = 'pecl-5.1.2-Win32.zip.md5.sfv';

$md5Sum = createMD5($fileCRC);
    echo $md5Sum . '<br>';

if(checkMD5($fileSFV))
    echo 'Datei ist unbeschädigt<br>';
else
    echo 'Datei ist beschädigt.';
Beispiel 12.9: md5.php

Wie Sie sehen, kann man mit wenig Aufwand eine sichere Überprüfung vornehmen. Sie können die Darstellung der Ausgabe selbst beeinflussen. Je nachdem erhalten Sie von den Funktionen entweder TRUE bei Erfolg, die Prüfsumme oder FALSE bei Misserfolg zurückgeliefert.

09571722fd44bec411a64eca8ca383ae Datei ist unbeschädigt


Bit-Shifting

Letztes Update: 28.07.2006 17:10:04

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Bit-Shifting

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

bitshifting.php

Problem

Wie kann man eine einfache Verschlüsselung mit PHP realisieren, wenn bestimmte Servervoraussetzungen nicht für eine richtige Verschlüsselung ausreichend sind? Wie sicher sind dann diese Daten?

Lösung

Ich möchte eines vorwegnehmen. Sie sollten mit diesem Beispiel keine wichtigen Daten verschlüsseln, da der Schutz nicht ausreichend ist. Wir zeigen Ihnen hier nur einen Ansatz, wie und was man mit Bit-Verschiebung erreichen kann. Sie werden sehen, dass dieser Ansatz nicht nur für Verschlüsselungen herhalten, sondern sehr viele andere Anwendungsgebiete abdecken kann.

Das folgende Programm ist ebenfalls von Daniel Kressler, der für Sie hier den Programmcode für das Bit-Shifting erstellt und beschrieben hat.

function BitShifting($str_Input)
@param string $file
@return mixed

Im Einzelnen macht die Funktion nichts anderes, als dass sie jeden Buchstaben in seinen Binärwert umwandelt und die 8 Bits (1 Bit = 1 Ziffer (0/1)) in ihrer Anordnung ändert. Das führt dazu, dass der daraus resultierende Binärwert, umgewandelt in das darstellbare Zeichen, unlesbar wird.

Eine kleine Besonderheit an dieser Funktion ist, dass zum Verschlüsseln und zum Entschlüsseln ein und dieselbe Funktion genutzt wird. Das wurde erreicht, indem die Bitanordnung in einer logischen Ordnung steht.

Ein Beispiel (mit Beispielwerten): Bei der Verschlüsselung Bit von Position 3 auf Position 0 verschieben:

0...1... wird zu 1...0...

Beim Entschlüsseln verschieben sich die Bits in gleicher Ordnung:

1...0... wird zu 0...1...

Somit ist die Original-Ordnung wiederhergestellt. Bitte beachten Sie, dass die Positionsnummern der Bits mit 0 beginnen, sprich Bit 1 hat Position 0, Bit 2 hat Position 1, Bit 3 hat Position 2 usw., bis Bit 8, das Position 7 innehat.

An dieser Stelle möchte ich ausdrücklich darauf hinweisen, dass diese Bit-Shifting NICHT sicher genug ist, um sicherheitsrelevante Daten zu chiffrieren. Dafür müsste die Funktion um Einiges erweitert werden. Hier dient sie nur als Denkanstoß!

Wir widmen uns nun dem Programmcode und schauen, wie er aufgebaut ist. Die Funktion Bit-Shifting erwartet als einzigen Parameter einen String, den wir im nächsten Schritt (6) auf seinen Inhalt hin überprüfen. Falls es sich dabei um keinen String handeln sollte, geben wir eine Fehlermeldung zurück an die aufrufende Stelle und beenden die Funktion.

War der Inhalt ein String, so zählen (10) wir die Länge des Stringinhalts und speichern diese in unsere Variable. Wir definieren im Vorfeld unsere Variable (12), um dort später unseren String zu speichern, den wir mit dem Bit-Shifting verändert haben. Wir durchlaufen dann für jedes Zeichen in unserem String die FOR-Schleife (14) und setzen das jeweilige Bit.

Anhand einer Aufzählung schauen wir uns nun die einzelnen Schritte an, da im Fließtext die Vorgehensweise schwerer zu verstehen ist.

Zeile 16 | Den Dezimalwert eines Zeichens holen
Zeile 19 | Dezimalwert in Binärwert konvertieren
Zeile 21 | Ist der Binärwert nicht 8 Bit "lang", wird so oft eine 0 vor den Binärwert gehängt, bis der Binärwert 8 Bit hat.
Zeile 23 | Bit von Position 3 auf Position 0 verschieben
Zeile 26 | Bit von Position 4 auf Position 1 verschieben und dem vorigen Bit anhängen
Zeile 29 | Bit von Position 2 auf Position 6 verschieben und an den vorigen Bit hängen
Zeile 32 | Bit von Position 0 auf Position 3 verschieben und an den vorigen Bit hängen
Zeile 35 | Bit von Position 1 auf Position 4 verschieben und an den vorigen Bit hängen
Zeile 38 | Bit von Position 7 auf Position 5 verschieben und an den vorigen Bit hängen
Zeile 41 | Bit von Position 6 auf Position 2 verschieben und an den vorigen Bit hängen
Zeile 44 | Bit von Position 5 auf Position 7 verschieben und an den vorigen Bit hängen
Zeile 47 | Binärwert von $str_bits nach Dezimal konvertieren
Zeile 49 | Dezimalwert in Zeichen umwandeln

Zum Schluss müssen wir lediglich unseren verschlüsselten String an die aufrufende Stelle zurückgeben (52).

04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
         function BitShifting($str_Input) {

    if(!is_string($str_Input))
    {
        return 'Fatal error: Argument <i>$str_Input</i> ist nicht vom Typ String!';
    }

    $int_Lenght = strlen($str_Input);

    $str_Output = '';

    for($i = 0; $i < $int_Lenght; $i++){

        $int_Char = ord($str_Input{$i});

        $str_CharBin = decbin($int_Char);

        $str_CharBinary = str_pad($str_CharBin, 8, 0, STR_PAD_LEFT);

        $str_Bits = $str_CharBinary{
                 3};

        $str_Bits .= $str_CharBinary{
                 4};

        $str_Bits .= $str_CharBinary{
                 6};

        $str_Bits .= $str_CharBinary{
                 0};

        $str_Bits .= $str_CharBinary{
                 1};

        $str_Bits .= $str_CharBinary{
                 7};

        $str_Bits .= $str_CharBinary{
                 2};

        $str_Bits .= $str_CharBinary{
                 5};

        $int_CharNew = bindec($str_Bits);

        $str_Output .= chr($int_CharNew);
    }

    return $str_Output;

}
Beispiel 12.10: bitshifting.php

Der Aufruf der Funktion für das Bit-Shifting ist eher unspektakulär. Sie müssen lediglich den zu verschlüsselnden String an die Funktion Bit-Shifting() (58) übergeben. Genauso verhält es sich mit dem Entschlüsseln. Hier wird ebenfalls der verschlüsselte String an die Funktion übermittelt.

56:
57:
58:
59:
60:
61:
62: 		$str_String = 'Daniel Kressler';

$str_Encrypted = BitShifting($str_String);

$str_Decrypted = BitShifting($str_Encrypted);

echo 'String verschl&uuml;sselt: <b>', $str_Encrypted, '</b>',
     "\n<br>\n",
     'String entschl&uuml;sselt: <b>', $str_Decrypted, '</b>';
Beispiel 12.11: bitshifting.php

Wie Sie sehen, haben wir hier eine einfache und schnelle Art der Verschlüsselung erstellt. Diese Verschlüsselung kann ohne weiteres für unwichtige Daten genutzt werden. Sollten Sie allerdings sensible Daten verschlüsseln wollen, können Sie auf das Beispiel "Rijndael" hier im Buch zurückgreifen. Dieser Programmcode, der in einem späteren Kapitel beschrieben wird, ist für sensible Daten geeignet und ausgelegt.

Ausgabe im Browser

String verschlüsselt: k?N’K?lK#
String entschlüsselt: Daniel Kressler


Host Europe GmbH - Webhosting zu diesem Buch

Letztes Update: 17.07.2006 08:36:26

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Host Europe GmbH - Webhosting zu diesem Buch

Bei der Erstellung von SELFPHP - DAS PHPKOCHBUCH haben wir stets darauf geachtet, dass alle Beispiele funktionstüchtig und auf vielen Serverkonfigurationen ausführbar sind. Daher haben wir im Vorfeld recherchiert, um einen geeigneten Webhosting-Anbieter zu finden, der die Servervoraussetzung bietet, um mit PHP und diesem Buch einwandfrei arbeiten zu können.

Neben den Mindestanforderungen haben wir zusätzlich darauf geachtet, dass der monatliche Preis des buchbaren Pakets die 5-Euro-Schwelle nicht überschreitet. Nach Abschluss unserer Recherche haben wir uns sehr darüber gefreut, einen Anbieter gefunden zu haben, der unsere Mindestanforderungen bei weitem übertroffen hat und mit einem monatlichen Preis von 2,99 Euro weit unter der geforderten 5-Euro-Schwelle geblieben ist.

Sie erreichen das durch SELFPHP recherchierte Angebot der Host Europe GmbH im Internet unter folgender Adresse: http://www.hosteurope.de/

Sämtliche Beispiele aus diesem Buch wurden erfolgreich unter folgendem Webhostingpaket ausgeführt und ausgiebig getestet. WebPack M der Host Europe GmbH:

  • Webserver Apache 2.0
  • PHP 4.4.2 - Server API: Apache
  • PHP 5.1.2 - Server API: Apache
  • Datenbank MySQL4.1.15
  • ZEND Optimizer v2.6.0
  • CGI / Ruby / Python
  • 50 GB Traffic

Nachfolgend finden Sie folgende Dateien von hosteurope über die Serverkonfiguration:

  • Hosteurope_PHP_Version_4.4.2.htm
  • Hosteurope_PHP_Version_5.1.2.htm

Da wir hier im Buch nicht alle installierten Module und Konfigurationsparameter auflisten können, haben Sie dennoch im Vorfeld die Möglichkeit, sich mit diesen beiden Dateien einen umfassenden Überblick zu verschaffen.

Fazit: Das Preis-Leistungs-Verhältnis der Host Europe GmbH ist unschlagbar. Nicht nur die Serverausstattung hat uns beeindruckt, sondern auch der kostenlose Support. Im Ernstfall werden Sie es zu schätzen wissen, kompetente und freundliche Support-Mitarbeiter am Telefon zu haben, die bemüht sind, Ihnen bestens zu helfen.


Symmetrische Textverschlüsselung mit Rijndael (AES)

Letztes Update: 28.07.2006 17:52:29

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Symmetrische Textverschlüsselung mit Rijndael (AES)

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.3.0
  • PHP 5
  • libmcrypt 2.4.x oder 2.5.x

Datei(en)

aes_encrypt.php, aes_decrypt.php, aestext.txt

Problem

Die Verschlüsselung von Daten war, ist und wird immer ein Thema sein, mit dem wir fast täglich konfrontiert werden. Jeder von uns besitzt Daten, die für keinen anderen sichtbar sein sollten, aber in der Regel werden diese Daten irgendwo im Klartext versteckt.

Natürlich ist das keine Lösung, da diese Daten gefunden werden können. Gerade bei der Übermittlung der Daten im Internet besteht die Gefahr, dass sie abgefangen und eingesehen werden. Wie aber schütze ich meine Daten am besten?

Lösung

Wir müssen das Rad nicht neu erfinden, sondern ziehen bestehende Algorithmen der Kryptografie heran. In unserem Beispiel werden wir auf Rijndael zurückgreifen, der in einer abgeleiteten Fassung zum Advanced Encryption Standard (AES) benannt wurde und im Oktober 2000 vom National Institute of Standards and Technology (NIST) als Standard festgelegt wurde.

Bei Rijndael handelt es sich um einen symmetrischen Algorithmus mit einer variablen Blockgröße von 128, 192 oder 256 Bit und einer variablen Schlüssellänge von 128, 192 oder 256 Bit. In unserem Beispiel werden wir die höchste Länge von 256 Bit nehmen, um einen maximalen Schutz zu gewährleisten. Rijndael wurde von den beiden Belgiern Joan Daemen und Vincent Rijmen entwickelt.

Eines möchten wir Ihnen nicht vorenthalten. Gerne werden AES und Rijndael in einem Atemzug genannt, da ja AES eigentlich auch Rijndael ist. Es gibt allerdings einen gravierenden Unterschied. AES nutzt für die Blockgrößen 128, 192 oder 256 Bit immer 16 Byte, Rijndael dagegen variable Werte:

128 Bit > 16 Byte
192 Bit > 24 Byte
256 Bit > 32 Byte

Somit können auch verschiedene Größen der IV-Tags entstehen: bei AES grundsätzlich 16 Byte, bei Rijndael 16, 24 oder 32 Byte.

Die Sicherheit hängt von Ihrem Passwort ab. Je komplexer Ihr Passwort ist, desto sicherer sind Ihre Daten verschlüsselt. Daher sollten Sie immer ein Passwort wählen, das aus willkürlich gewählten Buchstaben, Zahlen und Sonderzeichen besteht und über eine ausreichende Anzahl an Zeichen verfügt. Ein komplexes und wirklich sicheres Passwort sieht folgendermaßen aus:

mNiDeUiBa27.03.1971IlG

Eine solche komplexe Zeichenfolge kann man sich natürlich nicht einfach so merken. Eine Eselbrücke hilft Ihnen aber dabei, auch ein so komplexes Passwort sicher im Gedächtnis zu behalten:

Mein Name ist Damir Enseleit und ich bin am 27.03.1971 in Lünen geboren.

Einen solchen Satz kann man sich sehr schnell merken. Um das Passwort noch sicherer zu machen, habe ich abwechselnd für jedes Wort Klein- und Großbuchstaben verwendet. Durch die Zahlen und Sonderzeichen wurde das Passwort noch komplexer.

Es gibt wichtige und unwichtige Daten, also fragen Sie sich selbst, wann Sie ein derart langes Passwort benötigen. Ein weniger komplexes Passwort aus nur acht Zeichen ist in der Regel völlig ausreichend.

Da dieses Buch keine Ausarbeitung für Kryptografie ist und dieses Thema ein ganzes Buch füllen würde, gehen wir nicht näher auf diese Zusammenhänge ein, sondern konzentrieren uns wieder auf unser Beispiel.

Im Nachfolgenden sehen Sie den Text, den wir verschlüsseln werden, und die Ausgabe, also den verschlüsselten Text.

Unverschlüsselter Text

Wir müssen das Rad nicht neu erfinden, sondern ziehen bestehende Algorithmen der Kryptografie heran. In unserem Beispiel werden wir auf den Advanced Encryption Standard (AES) zurückgreifen, der im Oktober 2000 vom National Institute of Standards and Technology (NIST) als Standard festgelegt wurde. Bei AES handelt es sich um einen symmetrischen Algorithmus mit einer variablen Blockgröße von 128, 192 oder 256 Bit und einer variablen Schlüssellänge von 128, 192 oder 256 Bit. In unserem Beispiel werden wir auf die höchste Länge von 256 Bit zurückgreifen, um einen maximalen Schutz zu gewährleisten.

Verschlüsselter Text

_”@“8˜ Üñò÷<UVhùwxÞù=UTÌ“@0N$Š‘ôrš‚
ÊÇ£oe
‰êJÁ*EÉŽJ
ª[2DC?]. . . Å[8F?]Û1¨„» '±oe½DO\tÇMb½Z?:OE‡[8F?]
‹eÕÂ#}Ä×BúMó¯£z]
8Z,.:K#ÿOEä\ È¸è2É´!êºÚDÊj=pxÅð;÷S6|1@M¸Ÿq¤
[2C6?],€@(¯è [8D?]Õ1R®I’µ`ùZ±Çµ òï
¡æj[90?]g:ºP¡üZŸØ±Ä:c’öje»öVà™AX§¢ø‘/
ÃoN8ŸEµ[2DC?]›. . . ô. . . Q'Ùvÿ{}zDX® ±NÅ‰[81?]qå
¾¥·P8F±C&|î
|\³zeúuf]]'j[2DC?]©[90?]OÓ‘X
ŠöÆèâŸTXŽJóLG{â¨ß?Û–øÁ![2DC?]u6[192?]$%aÙ˜¢˜üôB;é–
Ü1Ñ‚öïæGÿ§4µ9ë*[192?]Üm°CîNÃ [2DC?]§81äÿÓ¹ '}Uk.r¾ [9D?]T[90?]p±
êA×õPÜûˆÙ¡´ËÁ\oeJÆ[2C6?]ÓOF›ÝB ª€:&Ñ
—òÜçÐÈtoeÄaF§Ã‹ð¡‚ÿ[90?]Ú»OâOE²
.»d[¢«7Ô“ü¤ÝÎ¤Ý?Ðùx»ÄÜ%‡'B†Jq§[2DC?]±¤KÒß² Éöx\
²„aKÊEàÓ[
81?]æùìÍI/¬ Üßz OEoî©Å³.{à[81?]Yw‚:v@æ%Pmõ:¤¯‘¬
’[9D?]g[8F?]e˜½ÏÛÝÄ|ô¸‘[81?]†!®&Ax†ù >°Ñ§¬5ÅxôÃ( c

Grundvoraussetzung für die zuvor gesehene Verschlüsselung ist das Vorhandensein gewisser Module. Überprüfen Sie Ihre phpinfo(), um zu sehen, ob bei Ihnen libmcrypt 2.4.x oder 2.5.x installiert ist. Wenn ja, so sollten Sie folgenden Eintrag sehen:

Abbildung 12.1: mcrypt

Windows-Benutzer

Falls Sie libmcrypt 2.4.x oder 2.5.x noch nicht auf Ihrem System haben sollten, so finden Sie im beiliegendem ZIP-Archiv die Datei libmcrypt.dll. Sie müssen diese Datei in den Ordner Ihres System-Pfades (z. B. c:\Windows\system32) kopieren. Anschließend öffnen Sie die Datei php.ini und ändern folgende Zeile:

;extension=php_mcrypt.dll
in
extension=php_mcrypt.dll

Zum Schluss müssen Sie lediglich Ihren Webserver neu starten, und das Modul sollte jetzt vorhanden sein. Dies können Sie ebenfalls mit einer phpinfo() prüfen.

Unsere komplette Verschlüsselung besteht aus zwei Dateien - zum einen der Datei für die Verschlüsselung (aes_encrypt.php) und zum anderen der Datei für die Entschlüsselung (aes_decrypt.php). Der Einfachheit halber haben wir diese Dateien in unserem Beispiel getrennt. Sie können aber beide Funktionen in den Dateien zusammenlegen und jeweils die geforderte Funktion ansprechen.

function encryptAES($file,$key,$aes)
@param string $file
@param string $key
@param string $aes
@return bool

Die Funktion encryptAES() verlangt insgesamt drei Parameter. Zum einen den Dateinamen ($file) (38) der Datei, die verschlüsselt werden soll. Des Weiteren das Passwort ($key) (38) für die Verschlüsselung und zum Schluss die Verschlüsselungsstärke ($aes) (38).

Wie bereits erwähnt, sollten Sie ein sicheres Passwort für die Verschlüsselung auswählen - in unserem Beispiel ist es ein leichtes Passwort, dient aber dem Zweck. Bei der Verschlüsselungsstärke können Sie aus einer variablen Schlüssellänge von 128, 192 oder 256 Bit auswählen. Hier im Beispiel haben wir die stärkste Verschlüsselung verwendet, also 256 Bit.

Zuerst überprüfen wir, ob die angegebene zu verschlüsselnde Datei (41) vorhanden ist. Sollte dies der Fall sein, speichern (42) wir den kompletten Inhalt der Datei in die Variable $content. Fehlt die Datei, so brechen wir die Funktion ab (44) und geben FALSE zurück.

Im nächsten Schritt erfragen wir, welche Schlüssellänge genutzt werden soll (47-56) und setzen den jeweiligen Parameter, den wir in die Variable $rijndael speichern. Diesen Parameter benötigen wir, um das passende Modul für die Verschlüsselung zu laden (in unserem Fall hier rijndael-256).

Wir laden im nächsten Schritt unser Modul und übergeben als zusätzlichen Parameter den Modus OFB (Output Feedback Modus). Dieser Modus bestimmt, wie die Daten verschlüsselt werden sollen. Dabei handelt es sich um die Art der Blockchiffrierung, wir gehen aber hier aufgrund des Umfangs nicht weiter auf dieses Thema ein. Mögliche Werte sind:

CBC Cipher Block Chaining Modus
CFB Cipher Feedback Modus
ECB Electronic Codebook Modus
OFB Output Feedback Modus

Wenn Sie beim Verschlüsseln von Daten z. B. den Modus OFB angegeben haben, so müssen Sie unbedingt auch beim Entschlüsseln diesen Modus wählen, da die Daten sonst abweichen würden!

Wir müssen abfragen, ob es sich bei dem Betriebssystem um einen Windows- oder Linuxrechner (67) handelt, da Windows nur den Parameter MCRYPT_RAND (68) für die Erstellung des Initialisierungsvektors kennt.

Seit PHP 4.2.0 ist es nicht mehr notwendig, den Zufallsgenerator mit srand() zu initialisieren und wir verzichten somit darauf, da dieses Beispiel eine Mindestkonfiguration von PHP 4 >= 4.3.0, PHP 5 hat. Sie können dieses Beispiel ohne weiteres auf eine Mindestkonfiguration von PHP 4 >= 4.1.1 umprogrammieren - dafür müssen Sie lediglich in der Datei aes_decrypt.php, file_get_contents() in eine fopen()Variante ändern.

Nachdem wir das Betriebssystem ermittelt haben, setzen wir den Initialisierungs-Vektor (68 oder 70), der für das Verschlüsseln verwendet wird - diesen Vektor benötigen wir, wenn CBC, CFB oder OFB als Blockchiffrierung gewählt wurde. Auch hier gilt das gleiche Prinzip wie bei der Wahl der Blockchiffrierung - der gleiche Initialisierungs-Vektor muss beim Ver- und Entschlüsseln genutzt werden.

Wir ermitteln im nächsten Schritt die maximale Schlüsselgröße (74) für unsere 256-Bit-Verschlüsselung - die Schlüsselgröße bei 256 Bit beträgt 32 Byte. Mit diesem Wert und unserem Passwort können wir jetzt den eigentlichen Schlüssel erstellen (77), der aus einem MD5-Code (liefert uns einen 32 Byte langen String) gebildet und mit substr() (77) eventuell auf unsere maximale Schlüsselgröße (hier von 32 Bytes) gekürzt wird.

Vor jeder Ver- oder Entschlüsselung müssen alle Buffers, also der Speicher, der zur temporären Zwischenlagerung der Daten für die Ver- oder Entschlüsselung dient, initialisiert werden (80). Im Umkehrschluss müssen wir nach der Ver- oder Entschlüsselung diesen Speicher wieder freigeben (99). Nachdem wir alle Vorbereitungen getroffen haben, können wir unsere Daten verschlüsseln (83).

Wir speichern jetzt zum einen unseren verschlüsselten Text in eine Datei (89-91) (mit der Dateiendung *.aes) und zum anderen unseren IV-Tag (94-96), der als Dateiendung *.iv erhalten wird. Wie bereits im Vorfeld erwähnt, benötigen Sie für die Entschlüsselung beides, den verschlüsselten Text sowie den IV-Tag.

Wir können jetzt den Speicher wieder freigeben (99) und das Modul schließen (102). Fertig ist unsere Verschlüsselung, und wir können uns jetzt dem Entschlüsseln widmen.

038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
         function encryptAES($file,$key,$aes) {

    // Überprüft, ob die Datei vorhanden ist und liest sie ein
    if(file_exists($file))
        $content = file_get_contents($file);
    else
        return false;

    // Setzt den Algorithmus
    switch ($aes) {
        case 128:
           $rijndael = 'rijndael-128';
           break;
        case 192:
           $rijndael = 'rijndael-192';
           break;
        default:
           $rijndael = 'rijndael-256';
    }

    // Setzt den Verschlüsselungsalgorithmus
    // und setzt den Output Feedback (OFB) Modus
    $cp = mcrypt_module_open($rijndael, '', 'ofb', '');

    // Ermittelt den Initialisierungsvector, der für die Modi CBC, CFB
    // und OFB benötigt wird.
    // Der Initialisierungsvector muss beim Entschlüsseln den selben
    // Wert wie beim Verschlüsseln haben.
    // Windows unterstützt nur MCRYPT_RAND
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
        $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($cp), MCRYPT_RAND);
    else
        $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($cp), MCRYPT_DEV_RANDOM);

    // Ermittelt die Anzahl der Bits, welche die Schlüssellänge
    // des Keys festlegen
  $ks = mcrypt_enc_get_key_size($cp);

  // Erstellt den Schlüssel, der für die Verschlüsselung genutzt wird
  $key = substr(md5($key), 0, $ks);

  // Initialisiert die Verschlüsselung
  mcrypt_generic_init($cp, $key, $iv);

  // Verschlüsselt die Daten
  $encrypted = mcrypt_generic($cp, $content);

  // Extrahiert den Dateinamen
  $fileName = basename($file);

  // Speichert die verschlüsselten Daten
  $fp = fopen($fileName.".aes","w");
  fputs($fp,$encrypted);
  fclose($fp);

  // Speichert den IV-Tag
  $fp = fopen($fileName.".iv","w");
  fputs($fp,$iv);
  fclose($fp);

  // Deinitialisiert die Verschlüsselung
  mcrypt_generic_deinit($cp);

  // Schließt das Modul
  mcrypt_module_close($cp);

  return true;

}

encryptAES("aestext.txt","MeinPasswort",192);
Beispiel 12.12: aes_encrypt.php

Die Verschlüsselung haben wir nun einwandfrei gelöst und ausreichend beschrieben. Daher wird die Entschlüsselung ein wenig kürzer, und wir erklären nicht alles bisher Gesehene nochmals so ausführlich. Sollten Sie Begriffe nicht auf Anhieb verstehen, so lesen Sie im vorherigen Beispiel mit der ausführlichen Erklärung noch einmal nach.

function decryptAES($file,$key,$aes,$ivFile)
@param string $file
@param string $key
@param string $aes
@param string $ivFile
@return mixed

Die Funktion decryptAES() verlangt als Parameter die verschlüsselte Datei ($file *.aes), das Passwort im Klartext ($key - nicht den Schlüssel), die Verschlüsselungsart ($iv - 128, 192 oder 256) und zum Schluss die Datei mit dem IV-Tag ($ivFile - *.iv).

Zuerst überprüfen wir, ob beide Dateien (*.aes und *.iv) vorhanden sind (39) und speichern bei Erfolg den verschlüsselten Inhalt (43) und den IV-Tag (44) jeweils in eine Variable. Ist eine Datei nicht vorhanden, so brechen wir die Funktion ab und geben FALSE zurück (46). Die switch-Abfrage (49-58) benötigen wir wieder, um das passende Modul für die Entschlüsselung zu wählen.

Wieder öffnen wir das Modul (62) (in unserem Fall rijndael-256), setzen den Modus auf OFB (62) und ermitteln die maximale Schlüsselgröße (65). Im nächsten Schritt erstellen wir anhand unseres Passworts den Schlüssel (68) mit der maximalen Schlüssellänge und initialisieren alle Buffers für die Entschlüsselung (71).

Die zuvor eingelesene Datei werden wir jetzt entschlüsseln (74). Vielleicht ist Ihnen bereits aufgefallen, dass wir hier keinen IV-Tag gebildet haben. Wie bereits erwähnt, benötigen wir jetzt den IV-Tag aus der Datei *.iv, der bei der Verschlüsselung erstellt wurde.

Mit diesem speichern wir jetzt den entschlüsselten Text in unsere Variable $decrypted, deinitialisieren unsere Buffer (77) und schließen das Modul (80). Zum Schluss entfernen wir noch die eventuellen Null-Bytes (82) in unserem entschlüsselten Text und geben den Text an die aufrufende Stelle zurück.

Das war's! Dieser Abschnitt war nun zwar kurz, trotzdem denke ich, das das vorherige Beispiel erklärend genug war und Sie jetzt in der Lage sind, die Mechanismen bei der Verschlüsselung zu verstehen.

39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
         function decryptAES($file,$key,$aes,$ivFile) {

    // Überprüft, ob die Datei vorhanden ist und liest sie ein
    if(file_exists($file) && file_exists($ivFile))    {
        $content = file_get_contents($file);
        $iv = file_get_contents($ivFile);
    } else
        return false;

    // Setzt den Algorithmus
    switch ($aes) {
        case 128:
           $rijndael = 'rijndael-128';
           break;
        case 192:
           $rijndael = 'rijndael-192';
           break;
        default:
           $rijndael = 'rijndael-256';
    }

    // Setzt den Verschlüsselungsalgorithmus
    // und setzt den Output Feedback (OFB) Modus
    $cp = mcrypt_module_open($rijndael, '', 'ofb', '');

    // Ermittelt die Anzahl der Bits, welche die Schlüssellänge des Keys festlegen
  $ks = mcrypt_enc_get_key_size($cp);

  // Erstellt den Schlüssel, der für die Verschlüsselung genutzt wird
  $key = substr(md5($key), 0, $ks);

  // Initialisiert die Verschlüsselung
  mcrypt_generic_init($cp, $key, $iv);

  // Entschlüsselt die Daten
  $decrypted = mdecrypt_generic($cp, $content);

  // Beendet die Verschlüsselung
  mcrypt_generic_deinit($cp);

  // Schließt das Modul
  mcrypt_module_close($cp);

  return trim($decrypted);

}

$decrypted = decryptAES("aestext.txt.aes","MeinPasswort",256,"aestext.txt.iv");

echo $decrypted;
Beispiel 12.13: aes_decrypt.php

Dieses Beispiel diente der Vorführung der Verschlüsselung. Das Programm an sich ist noch sehr unvollständig und könnte erweitert werden. Daher werden wir im nächsten Beispiel eine Anwendung auf Basis von MySQL programmieren, damit Sie auch komfortabel testen können.


Rijndael - Komplettes Beispielprojekt Verschlüsselung

Letztes Update: 29.07.2006 10:41:32

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Rijndael - Komplettes Beispielprojekt Verschlüsselung

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.3.0
  • PHP 5
  • MySQL
  • libmcrypt 2.4.x oder 2.5.x

Datei(en)

rijndael.php, rijndael.inc.php, rijndael.css, rijndael.sql

Problem

Bisher haben Sie gesehen, wie man Daten verschlüsselt und sie in Textdateien speichert. Sicherlich hätten Sie es gerne komfortabler und die Daten nicht als Textdateien, sondern in einer Datenbank vorliegen. Diesem Thema werden wir uns nun widmen.

Lösung

Das folgende Beispiel ist eine komplette Lösung zur Verschlüsselung. Die verschlüsselten Daten werden dabei in eine MySQL-Datenbank gespeichert und können über ein Drop-Down-Menü jeweils ausgewählt werden. Weiterhin speichert das Programm das Datum und die Uhrzeit von folgenden Ereignissen:

  • Erstellungsdatum der letzten Verschlüsselung
  • Datum der letzten erfolgreichen Entschlüsselung
  • Datum der letzten fehlgeschlagenen Verschlüsselung

Somit können Sie genau sehen, wie auf den entsprechenden Datensatz zugegriffen wurde. Sie können bei der Verschlüsselung einen Info-Text eingeben, sodass Sie später im Drop-Down-Menü den entsprechenden Datensatz schneller finden. Weiterhin haben Sie die Möglichkeit, zwischen einer Verschlüsselungsstärke von 128, 192 oder 256 Bit zu wählen.

Bei der Verschlüsselung können Sie wahlweise reinen Text oder eine Datei angeben. Sollte es sich um eine Datei handeln, wird der Inhalt der Datei verschlüsselt und in die Datenbank gespeichert.

Um maximale Sicherheit zu gewährleisten, wird das Passwort für die Entschlüsselung nicht mit in die Datenbank gespeichert. Sollten Sie dieses Passwort verlieren, so sind Ihre Daten nicht mehr zu entschlüsseln. Also achten Sie sehr gut auf Ihr Passwort!

Das Programm ist bereits so aufgebaut, dass Sie eigene Menüfelder hinzunehmen können, um das Programm an Ihre Bedürfnisse anzupassen.

Hier im Buch verzichten wir auf die Quellcode-Darstellung der HTML-Datei, da der Programmcode bereits viele Seiten einnimmt und die HTML-Seite nur ein paar PHP-Blöcke zur Darstellung bereithält - dies müssen wir nicht gesondert aufzeigen.

Im Folgenden sehen Sie drei Screenshots, die allerdings nicht die komplette Programmseite wiedergeben, sondern nur Ausschnitte sind.

Den vollen Umfang der Seite inkl. Menüs sehen Sie auf der folgenden gesonderten Seite.

Abbildung 12.2: Screenshot Verschlüsselung

Abbildung 12.3: Screenshot Entschlüsselung

Abbildung 12.4: Screenshot Info

Sie finden bei der beiliegenden ZIP-Datei eine Datei mit dem Namen rijndael.sql. Diese Datei enthält die Struktur der Tabelle für die Datenbank. Am einfachsten ist es, wenn Sie diese Datei mit phpMyAdmin einlesen und sich somit die Tabelle erstellen lassen.

Sollten Sie den Tabellennamen in dem SQL-Statement ändern, so müssen Sie diesen Namen auch in der Konfiguration ändern. Dann müssen Sie die Parameter für den Datenbankzugriff angeben und können das Programm sofort ausprobieren.

Dieses Programm können Sie nach Herzenslust erweitern und modifizieren. Wie zu Beginn des Buches erwähnt, haben wir bewusst auf Klassen verzichtet, daher finden Sie hier im Beispiel auch hauptsächlich Funktionen.

Das Programm bietet sich aber geradezu an, in eine Klasse implementiert zu werden - also wenn Sie sich üben wollen oder bereits genug Erfahrung besitzen, so modifizieren sie es.

Nun wollen wir uns aber dem Programmcode widmen. Wir werden uns zunächst alle Funktionen anschauen, bevor wir zu dem Teil kommen, in dem sich die einzelnen Verzweigungen für das Programm befinden.

function encryptAES($content,$key,$aes)
@param string $content
@param string $key
@param integer $aes
@return mixed

Die nachfolgende Funktion kennen Sie bereits aus dem vorangegangenen Beispiel. Daher werden wir sie nicht noch einmal näher beschreiben. Falls noch Fragen bestehen, so schauen Sie bitte im vorherigen Beispiel nach, dort finden Sie eine sehr detaillierte Erklärung zu dieser Funktion. Einen kleinen Unterschied gibt es in dieser Funktion aber dennoch.

Diesmal speichern wir die Daten nicht in eine Textdatei, sondern in einem Array (41, 43, 55, 65). Wir speichern zum einen den verschlüsselten Text (35) und zum anderen eine MD5-Prüfsumme (65) des unverschlüsselten Textes. Falls Sie sich jetzt fragen sollten wofür wir diese Prüfsumme benötigen, so ist die Antwort schnell gegeben. Wir brauchen sie bei der Entschlüsselung.

Wir möchten alles protokollieren - vor allem aber die misslungenen Entschlüsselungen. Vielleicht hat ja jemand versucht, die Daten über das Programm zu entschlüsseln, hatte aber das falsche Passwort. Wenn Sie z. B. versuchen, den folgenden verschlüsselten Text mit einem falschen Passwort zu entschlüsseln,

-ÉÚE7ækéªç¡Xûïãöù|‰LÃ‚Úˆô¼õ`GO. . . ]Ò°Æ<2‚&
wð@SÊ¤îáî?2>:k¢æÂçíu‘ê?¼

so erhalten Sie als Ergebnis z. B. Folgendes als Rückgabetext (ist jedes Mal verschieden):

·E²Æ]G&æ

Jetzt stehen wir vor einem Problem. Wie erkenne ich, ob der Text richtig entschlüsselt wurde? An diesem Punkt kommt die MD5-Prüfsumme ins Spiel. Anhand dieser Prüfsumme, die wir aus dem unverschlüsselten Text erzeugt haben, können wir beide Texte miteinander vergleichen.

Ist die Prüfsumme des entschlüsselten Textes genau wie die MD5-Prüfsumme, die wir beim Verschlüsseln erzeugt haben, so muss das Passwort richtig gewesen sein. Wären die beiden Prüfsummen unterschiedlich, so war die Entschlüsselung bzw. das Passwort fehlerhaft.

Aus diesem Grund speichern wir nicht nur den verschlüsselten Text in die Datenbank, sondern auch die MD5-Prüfsumme (65). Diese Funktion gibt also ein Array mit dem verschlüsselten Text und der Prüfsumme zurück (67).

017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:

038:

039:
040:
041:

042:
043:

044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069: 		function encryptAES($content,$key,$aes) {

    // Setzt den Algorithmus
    switch ($aes) {
        case 128:
           $rijndael = 'rijndael-128';
           break;
        case 192:
           $rijndael = 'rijndael-192';
           break;
        default:
           $rijndael = 'rijndael-256';
    }

    // Setzt den Verschlüsselungsalgorithmus
    // und setzt den Output Feedback (OFB) Modus
    $cp = mcrypt_module_open($rijndael, '', 'ofb', '');
    if(!$cp)
        return 'Modul konnte nicht geladen werden';

    // Ermittelt den Initialisierungsvector, der für die Modi CBC, CFB und
         OFB benötigt wird.
    // Der Initialisierungsvector muss beim Entschlüsseln den selben Wert
         wie beim Verschlüsseln haben.
    // Windows unterstützt nur MCRYPT_RAND
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
        $enc['iv'] = mcrypt_create_iv(mcrypt_enc_get_iv_size($cp),
                         MCRYPT_RAND);
    else
        $enc['iv'] = mcrypt_create_iv(mcrypt_enc_get_iv_size($cp),
                        MCRYPT_DEV_RANDOM);

    // Ermittelt die Anzahl der Bits, welche die Schlüssellänge des Keys festlegen
     $ks = mcrypt_enc_get_key_size($cp);

     // Erstellt den Schlüssel, der für die Verschlüsselung genutzt wird
     $key = substr(md5($key), 0, $ks);

     // Initialisiert die Verschlüsselung
     mcrypt_generic_init($cp, $key, $enc['iv']);

     // Verschlüsselt die Daten
     $enc['encrypted'] = mcrypt_generic($cp, $content);

     // Deinitialisiert die Verschlüsselung
     mcrypt_generic_deinit($cp);

     // Schließt das Modul
     mcrypt_module_close($cp);

    // Erstellt einen Hash-Wert um später prüfen zu können, ob ein misslungene
    // Entschlüsselung durchgeführt wurde
    $enc['md5']    =    md5($content);

    return $enc;

}
Beispiel 12.14: rijndael.inc.php

function decryptAES($content,$iv, $key,$aes)
@param string $file
@param string $key
@param integer $aes
@param string $ivFile
@return mixed

Auch in dieser Funktion hat sich kaum was geändert. Im vorherigen Beispiel konnten Sie bereits verfolgen, wie diese Funktion arbeitete. Sie entschlüsselt unseren Text und gibt ihn der aufgerufenen Stelle zurück.

085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123: 		function decryptAES($content,$iv, $key,$aes) {

    // Setzt den Algorithmus
    switch ($aes) {
        case 128:
           $rijndael = 'rijndael-128';
           break;
        case 192:
           $rijndael = 'rijndael-192';
           break;
        default:
           $rijndael = 'rijndael-256';
    }

    // Setzt den Verschlüsselungsalgorithmus
    // und setzt den Output Feedback (OFB) Modus
    $cp = mcrypt_module_open($rijndael, '', 'ofb', '');

    // Ermittelt die Anzahl der Bits, welche die Schlüssellänge des Keys festlegen
    $ks = mcrypt_enc_get_key_size($cp);

    // Erstellt den Schlüssel, der für die Verschlüsselung genutzt wird
    $key = substr(md5($key), 0, $ks);

    // Initialisiert die Verschlüsselung
    mcrypt_generic_init($cp, $key, $iv);

    // Entschlüsselt die Daten
    $decrypted = mdecrypt_generic($cp, $content);

    // Beendet die Verschlüsselung
    mcrypt_generic_deinit($cp);

    // Schließt das Modul
    mcrypt_module_close($cp);

    return trim($decrypted);

}
Beispiel 12.15: rijndael.inc.php

function insertBase($encrypted,$iv,$infotext,$aes,$md5,$dbTable)
@param string $encrypted
@param string $iv
@param string $infotext
@param integer $aes
@param string $md5
@param string $dbTable
@return bool

Die Funktion insertBase() ist für das Speichern eines verschlüsselten Textes in die Datenbank verantwortlich. Sie erwartet als Parameter den verschlüsselten Text, den IV-Tag aus der Verschlüsselung (encryptAES()), den Infotext aus dem Webformular, die Verschlüsselungsstärke (128, 192 oder 256 Bit), die MD5-Prüfsumme aus der Verschlüsselung (encryptAES()) und zum Schluss den Tabellennamen in der Datenbank.

Allerdings müssen wir den IV-Tag und den verschlüsselten Text für die Datenbank vorbereiten (141, 142), da innerhalb dieser beiden Variablen eine Vielzahl von Anführungsstrichen etc. vorkommen kann und diese mit einem Backslash (\) geschützt werden müssen.

Würden wir darauf verzichten, so würde das Einfügen in die Datenbank scheitern. Wir setzen also unseren SQL-String (144-152) mit den gelieferten Daten zusammen und fügen anschließend die Daten in die Datenbank ein (153).

140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156: 		function insertBase($encrypted,$iv,$infotext,$aes,$md5,$dbTable) {
    $encrypted = addslashes($encrypted);
    $iv = addslashes($iv);

    $sqlString  =    "INSERT INTO
                        $dbTable
                     SET
                        infotext  =  '$infotext',
                        textaes   =  '$encrypted',
                        block     =  '$aes',
                        encrypt   =   NOW(),
                        ivTag     =  '$iv',
                        md5       =  '$md5'";
    $sqlInsert    = @mysql_query($sqlString);

    return true;
}
Beispiel 12.16: rijndael.inc.php

function checkDecrypt($decrypted,$md5,$id=0,$database=false)
@param string $decrypted
@param string $md5
@param integer $id
@param bool $database
@return mixed

Die Funktion checkDecrypt() ist unsere Protokollfunktion. Sie überprüft, ob der entschlüsselte Text identisch mit der Prüfsumme ist, die beim Verschlüsseln erstellt wurde. Ist dies der Fall (176), so wird diese erfolgreiche Entschlüsselung mit Datum und Uhrzeit gespeichert (177). Waren die beiden Prüfsummen nicht identisch, so wird die fehlgeschlagene Entschlüsselung ebenfalls mit Datum und Uhrzeit gespeichert (180).

Die Funktion hat noch einen weiteren Zweck. Wenn Sie einen Text verschlüsseln, so wird der Text nicht einfach verschlüsselt und in die Datenbank geschrieben, sondern vorher einem Test unterzogen. Die Funktion prüft dann, ob die gerade erstellte Verschlüsselung auch wieder mit dem Passwort entschlüsselbar ist.

Ist das der Fall, so gibt die Funktion TRUE zurück und die Daten werden gespeichert. Konnte der Text nicht wieder entschlüsselt werden, so meldet die Funktion FALSE und speichert die Daten nicht, sondern gibt einen Hinweistext aus.

Daher ist der Aufruf der Funktion auch unterschiedlich. Wenn Sie einen Text entschlüsseln wollen (175), so geben Sie der Funktion die beiden folgenden optionalen Parameter mit:

  • $id Die Datenbank-ID des verschlüsselten Textes
  • $database true, wenn Sie die Daten entschlüsseln wollen

Wollen Sie hingegen nur prüfen, ob der gerade verschlüsselte Text auch wieder entschlüsselbar ist (183), so lassen Sie diese beiden Parameter einfach weg. Sie werden dann mit den Standardwerten 0 (Null) und FALSE gefüllt.

173:
174:
175:
176:
177:

178:
179:
180:

181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193: 		function checkDecrypt($decrypted,$md5,$id=0,$database=false) {

    if($database) {
        if(md5($decrypted) == $md5) {
            $sqlUpdate = @mysql_query("UPDATE rijndael SET decrypt = NOW()
                                     WHERE id = $id");
            $message   = "Daten konnten erfolgreich entschlüsselt werden.";
        } else {
            $sqlUpdate = @mysql_query("UPDATE rijndael SET decryptError = NOW()
                                     WHERE id = $id");
            $message   = "Daten konnten nicht entschlüsselt werden!";
        }
    } else {
        if(md5($decrypted) == $md5) {
            return true;
        } else {
            return false;
        }
    }

    return $message;

}
Beispiel 12.17: rijndael.inc.php

function sendIV($iv,$md5,$rijndael)
@param string $iv
@param string $md5
@param integer $rijndael
@return void

Sie haben jederzeit die Möglichkeit, sich den IV-Tag per Download zuschicken zu lassen. Sie müssen lediglich das richtige Passwort kennen. Die Daten werden entschlüsselt, bevor Sie an diese Funktion übergeben werden, und mit den beiden MD5-Prüfsummen verglichen. Stimmen beide Werte überein, so wird diese Funktion aufgerufen.

Die Funktion erwartet als Parameter den IV-Tag, die MD5-Prüfsumme sowie die Verschlüsselungsstärke (128, 192 oder 256 Bit). Basierend auf den Werten wird eine "Datei" erstellt (210-213), die unter anderem die Verschlüsselungsstärke (211), das Datum (211), an dem diese Download-Datei erstellt wurde, und den IV-Tag (213) beinhaltet. Der Dateiname wird aus der MD5-Prüfsumme gebildet (216) und erhält als Dateiendung *.iv. Im Folgenden sehen Sie eine derartige Beispieldatei.

Datei: 659a3c8c5d480399a2dd89b73c88ccf0.iv

; IV-Tag Datei
; Erstellt am 05.04.2006 13:37:49
; Verschlüsselung 256 Bit
[óQÞiÍÛGem])žª '¸,*êèà¬keq) 2¡

Wie Sie sicherlich noch aus dem vorangegangenen Beispiel wissen, benötigen Sie zur Entschlüsselung alle drei Werte. Zum einen den IV-Tag, zum anderen den verschlüsselten Text sowie die Verschlüsselungsstärke.

208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221: 		function sendIV($iv,$md5,$rijndael){

    $message .= "; IV-Tag Datei\n";
    $message .= "; Erstellt am ". date("d.m.Y H:i:s") . "\n";
    $message .= "; Verschlüsselung " . $rijndael . "\n";
    $message .= $iv;

    header("Content-Type: text");
    header("Content-Disposition: attachment; filename=\"$md5.iv\"");

    echo $message;

    exit;
}
Beispiel 12.18: rijndael.inc.php

function sendEncrypt($content,$md5)
@param string $content
@param string $md5
@return void

Weiterhin haben Sie jederzeit die Möglichkeit, sich den verschlüsselten Text per Download zuschicken zu lassen. Auch hier müssen Sie das richtige Passwort kennen. Die Daten werden entschlüsselt, bevor Sie an diese Funktion übergeben werden, und mit den beiden MD5-Prüfsummen verglichen. Stimmen beide Werte überein, so wird diese Funktion aufgerufen.

Die Funktion erwartet als Parameter den verschlüsselten Text sowie die MD5-Prüfsumme. Basierend auf den Werten wird ein Header (234, 235) gesendet und der verschlüsselte Text ausgegeben (237). Der Dateiname (235) wird aus der MD5-Prüfsumme gebildet und erhält als Dateiendung *.aes. Im Folgenden haben wir eine solche eine Beispieldatei aufgeführt.

Datei: 659a3c8c5d480399a2dd89b73c88ccf0.aes

-ÉÚE7ækéªç¡X [2DC?]ûïãöù|‰LÃ‚Úˆô¼õ`GO. . . ]Ò°Æ<2‚&
wð@SÊ¤îáî?2>:k¢æÂçíu‘ê?¼

Wie erwähnen es hier nur noch einmal vorsichtshalber: Zum Entschlüsseln benötigen Sie alle drei Werte. Zum einen den IV-Tag, zum anderen den verschlüsselten Text sowie die Verschlüsselungsstärke.

232:
233:
234:
235:
236:
237:
238:
239:
240:
         function sendEncrypt($content,$md5) {

    header("Content-Type: text");
    header("Content-Disposition: attachment; filename=\"$md5.aes\"");

    echo $content;

    exit;
}
Beispiel 12.19: rijndael.inc.php

Grundeinstellung

Die Grundeinstellung ist relativ simpel und bezieht sich lediglich auf die Datenbank. Die benötigten Werte wie Benutzername (8), Datenbank (7), Host (6) sowie Passwort (9) müssen Sie ergänzen. Falls Sie beim Anlegen der Tabelle einen anderen Namen als "rijndael" gewählt haben, müssen sie diesen selbstverständlich auch ergänzen (10).

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:

014: 		<?PHP

/**
*    Datenbank Zugangsdaten
*/
define("DB_HOST","localhost");  // MySQL Hostname
define("DB_NAME","db_name");    // MySQL Datenbankname
define("DB_USER","db_user");    // MySQL Benutzername
define("DB_PASS","db_passwd");  // MySQL Passwort
$db['table'] = 'rijndael';      // MySQL Tabellenname

$dbCon = @MYSQL_CONNECT(DB_HOST,DB_USER,DB_PASS)
       or die("Datenbank momentan nicht erreichbar");
$db_check = @MYSQL_SELECT_DB(DB_NAME)
       or die("Datenbank momentan nicht erreichbar");
Beispiel 12.20: rijndael.php

Verschlüsseln

Wurde als Aufgabe die Verschlüsselung gewählt (84), so werden im Vorfeld die übermittelten Variablen überprüft. Zum einen darf das Passwort nicht leer sein (86) und zum anderen müssen beide zum Vergleich abgefragten Passwörter identisch sein (98). Weiterhin darf der Infotext, der für die Darstellung der Drop-Down-Darstellung benötigt wird, nicht leer sein (92).

Je nach Ergebnis der Überprüfung werden unterschiedliche Fehlermeldungen generiert und ausgegeben. Sie können diese Fehlermeldungen noch modifizieren, indem Sie das Beispiel aus diesem Buch zur Fehlerüberprüfung bei Formularen nehmen.

Falls Sie die Textverschlüsselung und nicht die Dateiverschlüsselung gewählt haben, so wird auch hier eine Überprüfung vorgenommen (104) und ein eventueller Fehler ausgegeben. Sollte es sich bei Ihrer Auswahl um eine Dateiverschlüsselung handeln, so müssen wir in diesem Fall noch überprüfen, ob überhaupt eine Datei angegeben wurde (110).

Wurde keine Datei angegeben, wird die IF-Abfrage (113) greifen und einen Fehler ausgeben. Wurde eine Datei angegeben, so wird der else-Zweig (118) weiterverarbeitet. Zuerst bilden wir aus der aktuellen Uhrzeit einen temporären Namen (120) für den Upload der Datei, die wir dann mit move_upload_file() (121) speichern und anschließend in eine Variable einlesen (122). Nachdem wir den Inhalt der Datei eingelesen haben, können wir diese Datei wieder löschen (123).

Jetzt haben wir alle notwendigen Informationen für unsere Verschlüsselung zusammen und können im nächsten Schritt die Daten in die Datenbank speichern, nachdem wir sie verschlüsselt haben. Da alle geforderten Variablen vollständig sind, wird auch die IF-Abfrage (127) nicht fehlschlagen und ausgeführt.

Sollte als Verschlüsselung die Textverschlüsselung gewählt (129) worden sein, speichern wir den Inhalt der POST-Variablen (130) in die Variable $content. Falls eine Dateiverschlüsselung gewählt wurde, so ist die Variable bereits gefüllt mit dem Text aus der Datei (122). Wir speichern noch unsere übermittelten POST-Variablen in bereits bestehende Variablen (131-133), um nicht ständig auf die POST-Variablen zugreifen zu müssen. Erst dann inkludieren wir unsere rinjndael.inc.php (135), die ja alle notwendigen Funktionen für die Verschlüsselung enthält.

Wir verschlüsseln jetzt unseren Text (136) mit dem übergebenen Passwort und prüfen im Anschluss, ob der verschlüsselte Text auch wieder mit diesem Passwort entschlüsselt werden kann (138). War dieser Test erfolgreich, also der Vergleich der beiden MD5-Prüfsummen identisch (140), speichern wir den verschlüsselten Datensatz mit der Funktion insertBase() (141) in die Datenbank. Je nachdem, erhalten wir als Rückgabe entweder TRUE oder FALSE.

Somit ist unsere Verschlüsselung abgeschlossen und der Datensatz liegt sicher in der Datenbank. Da wir beim Speichern vorher geprüft haben (140), ob der Text auch wieder entschlüsselbar ist, können wir beruhigt an dieser Stelle den Vorgang beenden.

084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:

142:
143:
144:
145:
146:
         if(isset($_POST['typ']))
{
    if(empty($_POST['password']))
    {
        $error = true;
        $message .= 'Bitte geben Sie ein Passwort ein<br>';
    }

    if(empty($_POST['info']))
    {
        $error = true;
        $message .= 'Bitte geben Sie einen Infotext ein<br>';
    }

    if($_POST['password'] != $_POST['passwordCheck'])
    {
        $error = true;
        $message .= 'Passwörter stimmen nicht überein<br>';
    }

    if(empty($_POST['textfield']) && $_POST['typ'] == "1")
    {
        $error = true;
        $message .= 'Bitte geben Sie einen Text ein<br>';
    }

    if ($_POST['typ'] == "2")
    {

        if($_FILES['file']['error'])
        {
            $error = true;
            $message .= 'Bitte geben Sie eine Datei an<br>';
        }
        else
        {
            $filetmp = time() . '.tmp';
            move_uploaded_file($_FILES['file']['tmp_name'], "./$filetmp");
            $content = file_get_contents($filetmp);
            unlink($filetmp);
        }
    }

    if(!$error)
    {
        if($_POST['typ'] == "1")
        $content = $_POST['textfield'];
        $password = $_POST['password'];
        $rijndael = $_POST['rijndael'];
        $info = $_POST['info'];

        include_once("rijndael.inc.php");
        $enc    =    encryptAES($content,$password,$rijndael);

        $decrypted = decryptAES($enc['encrypted'],$enc['iv'],$password,$rijndael);

        if(checkDecrypt($decrypted,$enc['md5']))
            insertBase($enc['encrypted'],$enc['iv'],$info,$rijndael,
                         $enc['md5'],$db['table']);
        else
            $message = 'Daten konnten nicht verschlüsselt werden!';

    }
}
Beispiel 12.21: rijndael.php

Entschlüsseln

Zuerst überprüfen (20) wir, ob ein Passwort übermittelt wurde. Ist das nicht der Fall, also die Variable leer, so wird die zuvor auf "FALSE" gesetzte Error-Variable (16) auf "TRUE" (22) gesetzt und eine Fehlermeldung generiert (23). Die nächste IF-Abfrage würde somit scheitern und der nachfolgende Programmcode nicht mehr ausgeführt.

Wurde ein Passwort übermittelt, so besitzt die Error-Variable (16) den Wert "FALSE" und wird der Überprüfung (26) standhalten. Der nachfolgende Programmcode wird somit ausgeführt. Um nicht willkürlich eine Variable an die Datenbank zu geben, erzwingen wir eine Konvertierung unserer mit POST übergebenen Variablen in ein Integer, indem wir den Wert mit 0 (Null) addieren (28).

Somit können wir jetzt unsere Datenbankabfrage zusammensetzen (29-33) und anschließend ausführen (34). Bei der Datenbankabfrage formatieren wir direkt unser Datum, das im amerikanischen Format vorliegt, ins deutsche Format. Somit erhalten wir dann anstatt

20060404 16:57:34

eine Ausgabe in folgender Form

04.04.2006 16:57:34

und ersparen uns eine spätere Konvertierung mit PHP. Sie sollten bei Datumsabfragen aus einer Datenbank immer diesen Weg wählen, da er wesentlich effizienter ist und unnötige Programmierarbeit vermeidet.

War die Datenbankabfrage erfolgreich, und wurde ein Datensatz geliefert (36), so füllen wir unser Array (38-44) mit den Werten aus unserer Abfrage. Erst im nächsten Schritt inkludieren (46) wir unsere Datei rijndael.inc.php, die alle zuvor beschriebenen Funktionen beinhaltet.

Um den Text aus der zuvor erhaltenen Danbankabfrage weiter zu bearbeiten, übergeben wir diesen der Funktion decryptAES() (48) und erhalten, falls das Passwort richtig ist, unseren entschlüsselten Text in die Variable $decrypted zurück.

Mit einer switch-Abfrage (50) überprüfen wir jetzt, welche Aufgabe wir erledigen müssen. Mögliche Aufgaben wären:

  • case 2 IV-Tag-Download
  • case 3 Rijndael-Download - also der verschlüsselte Text
  • case 4 Datensatz löschen
  • default Datensatz entschlüsseln

Vielleicht wundern Sie sich jetzt, weshalb wir den verschlüsselten Text vor der switch-Abfrage entschlüsselt haben. Sicherlich erinnern Sie sich noch, wie wir überprüfen, ob eine Entschlüsselung funktioniert hat und eine Aufgabe, wie z. B. das Löschen, durchgeführt werden darf.

Wir überprüfen jeweils die MD5-Prüfsumme aus dem entschlüsselten Text mit der MD5-Prüfsumme, die beim Erstellen der Verschlüsselung generiert wurde.

Falls der Download der IV-Tag Datei angefordert (52) wurde, übergeben wir unseren entschlüsselten Text und die MD5-Prüfsumme aus der Datenbank an die Funktion checkDecrypt() (54). Stimmen beide Prüfsummen überein, so erhalten Sie als Rückgabewert "TRUE", ansonsten "FALSE".

War die Überprüfung erfolgreich (TRUE), können wir im nächsten Schritt mit der Funktion sendIV() (55) die IV-Tag Datei zum Download anbieten und brechen danach unsere switch-Abfrage mit break (56) ab.

Mit dem Download der Rijndael-Datei (57-61), also unseres verschlüsselten Textes, verfahren wir ebenso. Wir überprüfen unsere MD5-Prüfsummen und starten im Erfolgsfall den Download über die Funktion sendEncrypt().

Beim Löschen der Datei verhält es sich ebenso wie bei den vorangegangenen Aufgaben. Wir überprüfen zuerst die Prüfsummen (64) und werden im Anschluss daran den Datensatz im Erfolgsfall löschen (66). Da wir den Datensatz bereits entschlüsselt haben und ihn nicht mehr anzeigen wollen, müssen wir an dieser Stelle noch die Variable $decrypted löschen (67).

Erst am Ende, also wenn keine andere Aufgabe ausgewählt wurde, wird der eigentliche entschlüsselte Text aufbereitet (70). Aufbereitet ist wohl nicht ganz das richtige Wort, immerhin ist der Text ja schon entschlüsselt. Wir müssen trotzdem auch hier eine Überprüfung vornehmen und die Prüfsummen vergleichen. Zusätzlich speichern wir das Datum und die Uhrzeit dieses Zugriffs in die Datenbank. Je nach Fall können folgende Ereignisse gespeichert werden:

  • Das Datum und die Uhrzeit bei einer gelungenen Entschlüsselung
  • Das Datum und die Uhrzeit bei einem Fehlversuch

Die Entschlüsselung ist somit abgeschlossen, und wir können unsere HTML-Darstellung aufbauen, also unsere PHP-Variablen ausgeben. Wie bereits erwähnt, wird an dieser Stelle nicht der HTML-Quellcode angezeigt, da er nur unnötige Seiten füllen würde. An den Stellen, an denen etwas ausgegeben wird (z. B. die InfoBox), stehen einzelne PHP-Tags mit echo-Ausgaben.

016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:

033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:

049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:

067:
068:
069:
070:
071:
072:

073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
         $error = false;

if(isset($_POST['decode']))
{
    if(empty($_POST['password']))
    {
        $error = true;
        $decodemessage = 'Bitte geben Sie ein Passwort ein<br>';
    }

    if(!$error)
    {
        $id = $_POST['decode'] + 0;
        $sqlDecrypt =  "SELECT id, textaes, block,
                        DATE_FORMAT(encrypt,'%m.%m.%Y %H:%i:%s') AS encrypt,
                        DATE_FORMAT(decrypt,'%m.%m.%Y %H:%i:%s') AS decrypt,
                        DATE_FORMAT(decryptError,'%m.%m.%Y %H:%i:%s')
                              AS decryptError,
                        ivTag, md5    FROM " . $db['table'] . " WHERE id = $id";
        $status = @mysql_query($sqlDecrypt);

        if(@mysql_num_rows($status) == "1")
        {
            $infoText['bit']          = @mysql_result($status,0,"block") . ' Bit';
            $infoText['encrypt']      = @mysql_result($status,0,"encrypt");
            $infoText['decrypt']      = @mysql_result($status,0,"decrypt");
            $infoText['decryptError'] = @mysql_result($status,0,"decryptError");
            $infoText['md5']          = @mysql_result($status,0,"md5");
            $infoText['content']      = @mysql_result($status,0,"textaes");
            $infoText['iv']           = @mysql_result($status,0,"ivTag");

            include_once("rijndael.inc.php");

            $decrypted = decryptAES($infoText['content'],$infoText['iv'],
                                     $_POST['password'],$infoText['bit']);

            switch ($_POST['job'])
            {
                case 2:
                    // IV-Tag Download
                       if(checkDecrypt($decrypted,$infoText['md5']))
                        sendIV($infoText['iv'],$infoText['md5'],$infoText['bit']);
                       break;
                case 3:
                    // Rijndael Download
                       if(checkDecrypt($decrypted,$infoText['md5']))
                           sendEncrypt($infoText['content'],$infoText['md5']);
                    break;
                case 4:
                    // Löschen
                       if(checkDecrypt($decrypted,$infoText['md5']))
                       {
                           $sqlDelete = @mysql_query("DELETE FROM " .
                                    $db['table'] . " WHERE id = $id");
                           unset($decrypted);
                       }
                       break;
                default:
                    // Entschlüsseln
                       $decodemessage = checkDecrypt($decrypted,
                                     $infoText['md5'],$id,true);
            }

        }
        else
        {
            $decodemessage = 'Keine Daten vorhanden!<br>';
        }
    }

}
Beispiel 12.22: rijndael.php

Zum Schluss werden aus der Datenbank noch alle Datensätze, also die Infotexte, geholt (149) und in einer Drop-Down-Box (155) angezeigt. Anhand dieser Infotexte können Sie jetzt gezielt den Datensatz auswählen, den Sie entschlüsseln, löschen oder sich per Download zuschicken lassen wollen.

148:
149:

150:
151:
152:
153:
154:
155:
156:
157:
         // Holt alle Daten
$sqlShow = @mysql_query("SELECT id, infotext FROM " . $db['table'] .
      " ORDER BY id");
while($row = @mysql_fetch_row($sqlShow))
{
    $selected = '';
    if($_POST['decode'] == $row[0])
    $selected = 'selected';
    $data .= '<option value="'.$row[0].'" '.$selected.'>'.$row[1].'</option>';
}
?>
Beispiel 12.23: rijndael.php

Wie Sie sehen, haben wir hier ein voll funktionstüchtiges Programm erstellt, das sogar unter realen Bedingungen genutzt werden kann. Wir hoffen, dieses Beispiel hat Ihnen einen Anreiz gegeben, das vorliegende Programm zu erweitern und zu modifizieren.

Ich würde mich sehr darüber freuen, wenn Sie sich derart engagieren und uns Ihr modifiziertes Skript zusenden, sodass wir es eventuell auf SELFPHP veröffentlichen können - selbstverständlich mit dem Hinweis darauf, dass Sie der Autor sind.

Wir wollen das Thema Kryptografie an dieser Stelle beenden. Es war zwar nur ein kleiner Ausblick, der Ihnen aber hoffentlich Freude gemacht hat und Sie anspornt, Ihre Kenntnisse in diesem interessanten Thema zu vertiefen.


PHP5 Praxisbuch

Letztes Update: 19.09.2005 15:51:46

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP5 Praxisbuch

Letztes Update: 19.09.2005 14:03:51 Einführung
Letztes Update: 17.08.2005 12:12:59 Die Ursprünge des Internet
Letztes Update: 00.00.0000 00:00:00 Internetprotokolle
Letztes Update: 22.08.2005 12:03:06 Common Gateway Interface
Letztes Update: 22.08.2005 12:03:58 Dynamische Websites
Letztes Update: 22.08.2005 12:05:54 Wie arbeitet PHP?
Letztes Update: 22.08.2005 12:07:48 PHP und HTML
Letztes Update: 22.08.2005 12:08:54 Wie funktioniert eine Web-Anwendung?
Letztes Update: 22.08.2005 12:09:27 Software für Web-Anwendungen

Letztes Update: 19.09.2005 15:45:52 Installation und Konfiguration
Letztes Update: 16.08.2005 17:53:45 Installation unter Windows
Letztes Update: 16.08.2005 17:53:45 Installation unter Linux
Letztes Update: 16.08.2005 17:53:45 Installationkits
Letztes Update: 16.08.2005 17:53:45 PHP Konfiguration
Letztes Update: 16.08.2005 17:53:45 Überprüfen der Konfiguration
Letztes Update: 16.08.2005 17:53:45 Apache - Installation
Letztes Update: 16.08.2005 17:53:45 MySQL - Installation
Letztes Update: 16.08.2005 17:53:45 Entwicklungsumgebungen

Letztes Update: 19.09.2005 15:46:27 Sprachelemente und Syntax
Letztes Update: 16.08.2005 17:53:45 Integration von PHP
Letztes Update: 16.08.2005 17:53:45 Einführung in PHP
Letztes Update: 16.08.2005 17:53:45 Datentypen
Letztes Update: 16.08.2005 17:53:45 Variablen
Letztes Update: 16.08.2005 17:53:45 Konstanten
Letztes Update: 16.08.2005 17:53:45 Operatoren
Letztes Update: 16.08.2005 17:53:45 Kontrollstrukturen
Letztes Update: 16.08.2005 17:53:45 Funktionen und Prozeduren
Letztes Update: 16.08.2005 17:53:45 Referenzen in PHP
Letztes Update: 16.08.2005 17:53:45 Arrays
Letztes Update: 16.08.2005 17:53:45 Mathematische Funktionen
Letztes Update: 16.08.2005 17:53:45 Datum- und Zeitfunktionen
Letztes Update: 16.08.2005 17:53:45 Stringfunktionen
Letztes Update: 16.08.2005 17:53:45 Reguläre Ausdrücke
Letztes Update: 16.08.2005 17:53:45 Code-Konventionen
Letztes Update: 16.08.2005 17:53:45 Debugging - Fehlersuche in PHP

Letztes Update: 19.09.2005 15:48:17 Lösungen für den Alltag
Letztes Update: 16.08.2005 17:53:45 Counter - der Besucherzähler
Letztes Update: 16.08.2005 17:53:45 Gästebuch
Letztes Update: 16.08.2005 17:53:45 Useronline
Letztes Update: 16.08.2005 17:53:45 Online-Umfrage
Letztes Update: 16.08.2005 17:53:45 Kontaktformular - Autoresponder
Letztes Update: 16.08.2005 17:53:45 Dynamische Navigation

Letztes Update: 19.09.2005 15:48:43 Programmierung mit PHP
Letztes Update: 16.08.2005 17:53:45 Formulare und PHP
Letztes Update: 16.08.2005 17:53:45 Daten via URL
Letztes Update: 16.08.2005 17:53:45 Cookies via PHP
Letztes Update: 16.08.2005 17:53:45 Session-Management via PHP
Letztes Update: 16.08.2005 17:53:45 Servervariablen
Letztes Update: 16.08.2005 17:53:45 Dateisystem via PHP

Letztes Update: 19.09.2005 15:49:05 Fortgeschrittene Programmierung
Letztes Update: 16.08.2005 17:53:45 PHP und OOP
Letztes Update: 16.08.2005 17:53:45 PDF - Portable Document Format
Letztes Update: 16.08.2005 17:53:45 XML
Letztes Update: 16.08.2005 17:53:45 Dynamische Grafiken mit der GD-Bibliothek

Letztes Update: 19.09.2005 15:49:25 Neuerungen in PHP 5
Letztes Update: 16.08.2005 17:53:45 Zend Engine 2 und PHP 5
Letztes Update: 16.08.2005 17:53:45 Übersicht der Anpassungen und Erweiterungen
Letztes Update: 16.08.2005 17:53:45 MySQL und PHP 5

Letztes Update: 19.09.2005 15:49:58 Datenbankprogrammierung
Letztes Update: 16.08.2005 17:53:45 Was ist MySQL?
Letztes Update: 16.08.2005 17:53:45 Kompatibilität zu SQL-Standards
Letztes Update: 16.08.2005 17:53:45 Aufbau des MySQL-Datenbanksystems
Letztes Update: 16.08.2005 17:53:45 Anwendungsgebiete für MySQL
Letztes Update: 16.08.2005 17:53:45 Phasen der Datenbankentwicklung
Letztes Update: 16.08.2005 17:53:45 Datenmodell
Letztes Update: 16.08.2005 17:53:45 Datenbankentwurf mit ERM
Letztes Update: 16.08.2005 17:53:45 Relationales Datenmodell
Letztes Update: 16.08.2005 17:53:45 Primärschlüssel
Letztes Update: 16.08.2005 17:53:45 Fremdschlüssel und referenzielle Integrität
Letztes Update: 16.08.2005 17:53:45 Optimierung des Datenmodells
Letztes Update: 16.08.2005 17:53:45 Implementierung und Nutzung von SQL
Letztes Update: 16.08.2005 17:53:45 MySQL-Funktionen von PHP
Letztes Update: 16.08.2005 17:53:45 Verwaltung von MySQL-Benutzer
Letztes Update: 16.08.2005 17:53:45 PHP & MySQL-Verbindung
Letztes Update: 16.08.2005 17:53:45 PHP & MySQL-Zugriffe
Letztes Update: 16.08.2005 17:53:45 Backups von Daten und Tabellen

Letztes Update: 19.09.2005 15:50:23 PHP & MySQL Anwendungen
Letztes Update: 16.08.2005 17:53:45 Useronline via MySQL
Letztes Update: 16.08.2005 17:53:45 Bannerabfrage via MySQL
Letztes Update: 16.08.2005 17:53:45 Umfrage via MySQL
Letztes Update: 16.08.2005 17:53:45 Newsportal via MySQL - MiniCMS

Letztes Update: 19.09.2005 15:51:46 Referenzen
Letztes Update: 16.08.2005 17:53:45 HTML-Kurzreferenz
Letztes Update: 16.08.2005 17:53:45 CSS-Kurzreferenz
Letztes Update: 16.08.2005 17:53:45 Mail via PHP
Letztes Update: 16.08.2005 17:53:45 PHP & HTTP
Letztes Update: 16.08.2005 17:53:45 Sicherheit

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Apache konfigurieren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Apache konfigurieren

Die Installation des Apache Webserver ist relativ einfach. Sie benötigen hierfür lediglich die Win32-Binaries. Anschliessend sollten Sie sicherstellen, dass eine Installation im Standardverzeichnis C:\APACHE erfolgt, um die Kommunikation mit den anderen Softwarekomponenten möglichst reibungslos gewährleisten zu können.

Öffnen Sie anschliessend die Datei HTTPD.CONF im Verzeichnis \APACHE\CONF. Suchen Sie folgende Zeile:

DirectoryIndex

Ergänzen Sie nun diese Zeile um die folgenden Einträge:

index.php3

index.php4

index.php

Hinweis: Die Dateiendung PHP3 u. PHP4 wird üblicherweise für PHP3 u./o. 4 verwendet. Prinzipiell sind Sie hier in der Wahl der Endung, frei. Die Verknüpfung beider Endungen mit PHP5 ist sinnvoll, vor allem wenn Sie sich viele Skripte aus dem Internet beschaffen und nicht alles umbenennen möchten.

Damit akzeptiert Apache nun auch PHP-Dokumente als Standarddokumente. Die Zuordnung der Dateiendung zum PHP-Interpreter bzw. Parser ist bereits vorhanden. Sie müssen lediglich die Kommentierung vor der Zeile entfernen.

AddType application/x-httpd-php3 .php3

Fügen Sie ausserdem auch die folgende Zeile hinzu, damit Apache auch Dateien mit der verkürzten Endung .PHP annimmt.

AddType application/x-httpd-php .php

Der letzte Schritt verknüpft nun die akzeptierten Dateiendungen mit dem PHP-Interpreter selbst. Fpgen Sie die folgende Zeile hinzu:

Action application/x-httpd-php /cgi-bin/php.exe

Voraussetzung ist natürlich, dass PHP auch im virtuellen Verzeichnis /CGI-BIN installiert wurde. Die Darstellung geht auch davon aus, dass es sich um die CGI-Version handelt.

Installieren Sie Apache unter Windows NT, 2000 oder XP Professional als Dienst. Dies ist beim Produktionsserver unbedingt erforderlich, damit bereits vor dem Einloggen der Webserver hochfährt. Auf einem Entwicklungssystem kann auch Windows98 oder XP Home Edition zum Einsatz kommen. Hier gibt es keine Dienste, installieren Sie den Aufruf des Apache deshalb im Autostart-Ordner.

Zum Testen geben Sie localhost oder 127.0.0.1 in Ihrem Browser ein - Apache sollte sich melden und Sie können mit der Installation fortfahren.

WAMP

Installation von PHP unter Windows

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fehler-Kontroll-Operatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fehler-Kontroll-Operatoren

PHP unterstützt einen Operator zur Fehlerkontrolle. Es handelt sich hierbei um das @-Symbol. Stellt man @ in PHP vor einen Ausdruck werden alle Fehlermeldun-gen, die von diesem Ausdruck erzeugt werden könnten, ignoriert.

Hinweis: Ist das track_errors-Feature aktiviert, werden alle Fehlermeldungen, die von diesem Ausdruck erzeugt werden, in der Variablen $php_errormsg gespeichert. Da diese Variable mit jedem neuen Auftreten eines Fehlers überschrieben wird, sollte man sie möglichst bald nach Verwendung des Ausdrucks überprüfen, wenn man mit ihr arbeiten will.

Beispiel

<?php
// Beabsichtigter Dateifehler
// Beabsichtigter Mailfehler
$email = @mail ('nicht_vorhandene_mail') or
    die ("Mail konnte nicht versandt werden:'$php_errormsg'");

// Das funktioniert bei jedem Ausdruck
// erzeugt keine Notice, falls der Index
// $key nicht vorhanden ist.
$value = @$cache[$key];
?>

Der @ Fehler-Kontroll-Operator verhindert jedoch keine Meldungen, welche aus Fehlern beim Parsen resultieren.

Achtung: Der @-Operator funktioniert nur bei Ausdrücken. Eine einfache Daumenregel: wenn Sie den Wert von etwas bestimmen können, dann können Sie den @-Operator davor schreiben. Zum Beispiel können Sie ihn vor Variablen, Funktionsaufrufe und vor include() setzen, vor Konstanten und so weiter. Nicht verwenden können Sie diesen Operator vor Funktions- oder Klassendefinitionen oder vor Kontrollstrukturen wie zum Beispiel if und foreach und so weiter.

Achtung: Zum gegenwärtigen Zeitpunkt deaktiviert der "@" Fehler-Kontrolloperator die Fehlermeldungen selbst bei kritischen Fehlern, die die Ausführung eines Skripts beenden. Unter anderem bedeutet das, wenn Sie "@" einer bestimmten Funktion voranstellen, diese aber nicht zur Verfügung steht oder falsch geschrieben wurde, Ihr PHP-Skript einfach beendet wird, ohne Hinweis auf die Ursache.

Operatoren zur Programmausführung

Kontrollstrukturen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


if-Anweisung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

if-Anweisung

Die if-Anweisung dient dazu, anhand einer Bedingung, z.B. des Wertes einer Va-riablen, des Rückgabewertes einer Funktion, oder des Wahrheitswertes eines booleschen Wertes, zu entscheiden, ob die nachfolgende Anweisung ausgeführt werden soll oder nicht.

Definition

IF (BEDINGUNG/AUSDRUCK)
ANWEISUNG;

Ablaufschema einer if-Anweisung

Beispiel

$punkteStand = 100;

// Schreibweise
if ($punkteStand == 100)
     echo "Vorhanden!";

// Schreibweise (Ebenfalls möglich)
if ($punkteStand == 100) echo "Vorhanden!";

Sie können die if-Anweisung wie folgt übersetzen.

"Wenn (if) die Bedingung erfüllt (true liefert, also die Variable $punkteStand existiert), dann führe die Anweisung aus (Variable kommt zustande mit dem Wert "Vorhanden!"). Ist die Bedingung nicht erfüllt, führe die Anweisung nicht aus.

Hinweis: Die if-Anweisung entscheidet über die Ausführung der direkt nachfolgenden Anweisung bzw. des nachfolgenden Anweisungsblocks. Üblicherweise rückt man die betreffenden Anweisungen im Quelltext um zwei bis drei Leerzeichen ein. Dies dient jedoch ausschließlich des besseren Lesbarkeit des Codes, auf die Ausführung der if-Anweisung hat die Einrückung keinen Einfluss.

Wenn Sie mit einer if-Anweisung nicht nur die Ausführung einer einzelnen, sondern mehrerer aufeinander folgender Anweisungen steuern wollen, müssen Sie die betreffenden Anweisungen in geschweifte Klammern setzen.

Definition

IF (BEDINGUNG/AUSDRUCK) {
ANWEISUNG/EN;
}

$punkteStand = 100;

// Anweisungsblock
if ($punkteStand == 100) {
     echo "Vorhanden!";
     $bonus = 50;
}

Hinweis: Eine Folge von Anweisungen, die in geschweifte Klammern eingefasst ist, bezeichnet man als Anweisungsblock. Einige Programmierer würden dies auch als zusammengesetzte Anweisungen bezeichnen. Es bleibt Ihnen überlassen, wie Sie das Gebilde nennen.

Alternative Syntax
In PHP steht Ihnen für die if-Anweisung eine alternative Schreibweise zur Verfügung.

Definition

IF (BEDINGUNG/AUSDRUCK): ANWEISUNG; ENDIF;

Beispiel - alternative Schreibweise

$vorname = "Caroline";
if ($vorname == "Caroline"):
    echo "Name: $vorname";
    echo "Mehrzeilig!";
endif;

Verwechselung von == und = vermeiden

Um Verwechselungen beim durchführen von Vergleichen innerhalb von if-Anweisungen zu vermeiden, sollten Sie sich folgenden Rat zu Herzen nehmen:

Schreiben Sie anstatt:

<?
$mitarbeiter = 10;
if ($mitarbeiter == 10) { echo "10 Mitarbeiter"; }
?>

Besser:

<?
$mitarbeiter = 10;
if (10 == $mitarbeiter) { echo "10 Mitarbeiter"; }
?>

Denn sollten Sie die Konstante auf der linken Seite mit einem Zuweisungsoperator versehen, wird der PHP-Interpreter eine Fehlermeldung ausgeben.

<?
$mitarbeiter = 10;
// Führt zu:
// parse error, unexpected '='
if (10 = $mitarbeiter) { echo "10 Mitarbeiter"; }
?>

Die Gefahr durch einen Eingabefehler falsche Wert zu erhalten verringert sich hierdurch und Sie können relativ sicher sein innerhalb von if-Anweisungen keine falsch platzierten Zuweisungen vorliegen zu haben.

Hinweis: Diese Schreibweise hat sich in vielen Fällen jedoch nicht durchgesetzt. Es scheint eine Frage des Geschmacks zu sein, da eine Vielzahl von PHP-Entwickler doch lieber ihrem eigenem können vertrauen.

Kontrollstrukturen

if-else-Anweisung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


if-else-Anweisung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

if-else-Anweisung

Die einfache if-Anweisung entspricht der Anweisung "Wenn die Bedingung erfüllt ist, dann führe die Anweisung aus. Danach fahre mit der Ausführung des Programms fort." Die zweite Form der if-Anweisung führt den else-Teil ein, der ausgeführt wird, wenn die Bedingung nicht erfüllt, also der Ausdruck false ist. Die Aussage der Anweisung lautet dann: "Wenn die Bedingung erfüllt ist, dann führe die Anweisung aus, ansonsten (else) führe die Anweisung im erweiterten Teil aus. Danach fahre normal mit der Ausführung des Programms fort.".

Definition

IF (BEDINGUNG/AUSDRUCK)
ANWEISUNG;
ELSE
ANWEISUNG;

Ablaufschema einer if-else-Anweisung

Beispiel

$punkteStand = 50;

// Schreibweise
if ($punkteStand >= 100)
     echo "Wahr";
else
    echo "Unwahr!";

Wie sieht es nun mit einem Anweisungsblock in einer if-else-Anweisung aus? Auch das stellt kein Problem dar:

Definition

IF (BEDINGUNG/AUSDRUCK) {
ANWEISUNG/EN;
} ELSE {
ANWEISUNG/EN;
}

$punkteStand = 50;

// Anweisungsblock
if ($punkteStand >= 100) {
     echo "Wahr";
} else {
    echo "Unwahr!";
}

Altenative Syntax

In PHP steht Ihnen für die if-else-Anweisung eine alternative Schreibweise zur Verfügung.

Definition

IF (BEDINGUNG/AUSDRUCK): ANWEISUNG/EN; ELSE: ANWEISUNG/EN; ENDIF;

Beispiel - Schreibweise wie gehabt

<?php
$chef = "Schmidt";
if ($chef == "Schmidt") {
    echo "Chef ist Schmidt";
} else {
    echo "Unbekannter Chef";
}
?>

Beispiel - mit alternative Schreibweise

<?
$chef = "Schmidt";
if ($chef == "Schmidt"):
?>
Chef ist Schmidt
<?
else:
?>
Unbekannter Chef
<?
endif
?>

Eine weitere Möglichkeit, wäre die alternative Schreibweise, wie folgt zu verwenden.

$signal = TRUE;
if ($signal):
    echo "Aktiv: $signal";
    echo "Mehrzeilig!";
else:
    echo "Inaktiv";
    echo "Mehrzeilig";
endif;

Mit der Einführung des Schlüsselwortes endif kann das Ende des Blocks explizit angegeben werden. Der else-Befehl ist mit einem Doppelpunkt zu versehen, um die Zugehörigkeit zum Block zu kennzeichnen. Die geschweiften Klammern entfallen!

if-Anweisung

if-elseif-Anweisung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


if-elseif-Anweisung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

if-elseif-Anweisung

Die if-elseif-Anweisung wird vor allem für Mehrfachverzweigungen eingesetzt. Damit lassen sich in Abhängigkeit vom Wert einer Variablen verschiedene Anweisungen ausführen.

Definition

IF (BEDINGUNG/AUSDRUCK) {
ANWEISUNG/EN;
} ELSEIF (BEDINGUNG/AUSDRUCK) {
ANWEISUNG/EN;
} ELSEIF (BEDINGUNG/AUSDRUCK) {
ANWEISUNG/EN;
} ELSE {
ANWEISUNG/EN;
}

Ablaufschema einer if-elseif-Anweisung

Fallbeispiel

WENN MEINLOHN DEN WERT
1000 HAT: FÜHRE ANWEISUNG A AUS,
2000 HAT: FÜHRE ANWEISUNG B AUS,
3000 HAT: FÜHRE ANWEISUNG C AUS,
4000 HAT: FÜHRE ANWEISUNG D AUS,
IN ALLEN ANDERN FÄLLEN: FÜHRE ANWEISUNG E AUS.

Beachten Sie den grundsätzlichen Unterschied zur if-else-Anweisung. Die Bedingung einer if-else-Anweisung ist immer ein boolescher Wert, der nur einen der beiden Werte true oder false annehmen kann. Folglich verzweigt die if-else-Anweisung auch nur in zwei alternative Anweisungsblöcke. Bei der Mehrfachverzweigung wird dagegen der Wert einer Variablen abgefragt: Der Programmierer kann grundsätzlich ebenso viele alternative Verzweigungen formulieren wie es Werte für die Variable gibt.

$meinLohn = 3000;

// Mehrfachverzweigung (if-elseif-Anweisung)
// Ergebnis: "C"
if ($meinLohn == 1000) {
    // Anweisung A
    $ausgabe = "A";
} elseif ($meinLohn == 2000) {
    // Anweisung B
    $ausgabe = "B";
} elseif ($meinLohn == 3000) {
    // Anweisung C
    $ausgabe = "C";
} elseif ($meinLohn == 4000) {
    // Anweisung D
    $ausgabe = "D";
} else {
    // Anweisung E
    $ausgabe = "E";
}

echo $ausgabe;

Lassen Sie sich aber nicht von der Einrückung täuschen. Es handelt sich hier immer noch um vier, immer tiefer verschachtelte if-else-Anweisungen. Der Interpreter prüft zuerst, ob der Wert von meinLohn gleich 1.000 ist. Ist dies nicht der Fall, prüft er im else-Teil, ob meinLohn gleich 2.000 ist. Stimmt auch dies nicht, verzweigt er zum else-Teil mit dem Vergleich meinLohn gleich 3.000. Stimmt auch dies nicht, verzweigt er zum else-Teil mit dem Vergleich meinLohn gleich 4.000. Liefert auch dieser Vergleich false, landet der Interpreter in dem letzten else-Teil, der alle anderen nicht überprüften Fälle abfängt.

Altenative Syntax

In PHP steht auch für die if-elseif-Anweisung eine alternative Schreibweise zur Verfügung.

Definition

IF (BEDINGUNG/AUSDRUCK):
ANWEISUNG/EN;
ELSEIF:
ANWEISUNG/EN;
ELSE:
ANWEISUNG/EN;
ENDIF;

Beispiel - Schreibweise wie gehabt

<?php
$chef = "Schmidt";
if ($chef == "Müller") {
    echo "Müller ist der Chef";
} elseif ($chef == "Schmidt") {
    echo "Scmidt ist der Chef";
} else {
    echo "Unbekannter Chef";
}
?>

Beispiel - alternative Schreibweise

<?
$chef = "Schmidt";
if ($chef == "Müller"):
?>
Müller ist der Chef
<?
elseif ($chef == "Schmidt"):
?>
Schmidt ist der Chef
<?
else:
?>
Unbekannter Chef
<?
endif
?>

if-else-Anweisung

switch-case-Anweisung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


switch-case-Anweisung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

switch-case-Anweisung

Eine Alternative zur if-elseif-Anweisung stellt die switch-Anweisung dar. Sie ermöglicht ebenfalls eine Mehrfachverzweigung, jedoch wirkt der Code wesentlich übersichtlicher und trägt zum besseren Verständnis bei.

Definition

SWITCH (BEDINGUNG/AUSDRUCK){
CASE WERT:
ANWEISUNG/EN;
CASE WERT:
ANWEISUNG/EN;
[DEFAULT WERT:]
[ANWEISUNG/EN;]
}

$meinLohn = 3000;

// Mehrfachverzweigung (switch-Anweisung)
// Ergebnis: "C"
switch ($meinLohn) {
    case 1000:
        // Anweisung A
        $ausgabe = "A";
        break;
    case 2000:
        // Anweisung B
        $ausgabe = "B";
        break;
    case 3000:
        // Anweisung C
        $ausgabe = "C";
        break;
    case 4000:
        // Anweisung D
        $ausgabe = "D";
        break;
    default:
        // Anweisung E
        $ausgabe = "E";
}

echo $ausgabe;

Es dreht sich auch hierbei wieder alles um den Ausdruck, der in der Regel eine Variable ist. Der default-Teil wird ausgeführt, wenn keiner der vorherigen Werte zutrifft. Dieser Teil der switch-Anweisung ist optional. Jeder Programmblock muss mit dem Kommando break abgeschlossen werden, damit die switch-Anweisung nicht unnötig weiter durchlaufen wird, wenn es zu einer Übereinstimmung mit einer der case-Werte kommt.

Hinweis: break bricht die Ausführung der aktuellen for, foreach while, do..while oder switch Anweisungs-Sequenz ab.

Erweiterte Syntax

Die Beschränkung des Bedingungstests auf Gleichheit mag als ernsthafte Behinderung erscheinen. Glücklicherweise kennt PHP eine erweiterte Notation der Syntax, die das Problem teilweise behebt. Dabei können mehrere Vergleiche hintereinander ausgeführt werden, die Operanden sind quasi Oder-verknüpft:

<?php
$meinLohn = 3000;

// Mehrfachverzweigung (switch-Anweisung)
switch ($meinLohn) {
    case 1000: case 2000: case 3000:
        // Anweisung A
        $ausgabe = "Zwischen 1000 u. 3000";
        break;
    case 4000: case 5000:
        // Anweisung D
        $ausgabe = "Zwischen 4000 u. 5000";
        break;
    default:
        // Anweisung E
        $ausgabe = "Kein Angabe";
}
// Ausgabe - Zwischen 1000 u. 3000
echo $ausgabe;
?>

Alternative Syntax

Definition

SWITCH (BEDINGUNG/AUSDRUCK):
CASE WERT:
ANWEISUNG/EN;
DEFAULT:
ANWEISUNG/EN;
ENDSWITCH;

Hier ein Beispiel für die alternative Schreibweise einer switch-Anweisung.

<?
$meinLohn = 3000;

// Mehrfachverzweigung (switch-Anweisung)
// Ergebnis: "C"
switch ($meinLohn):
    case 1000:
        // Anweisung A
        $ausgabe = "A";
        break;
    case 2000:
        // Anweisung B
        $ausgabe = "B";
        break;
    case 3000:
        // Anweisung C
        $ausgabe = "C";
        break;
    case 4000:
        // Anweisung D
        $ausgabe = "D";
        break;
    default:
        // Anweisung E
        $ausgabe = "E";
endswitch;

echo $ausgabe;
?>

if-elseif-Anweisung

while-Schleife

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


while-Schleife

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

while-Schleife

Während die if-Anweisung die grundlegende Steueranweisung ist, mit deren Hilfe in PHP Entscheidungen gefällt werden, können mit dem Sprachelement while Anweisungen wiederholt ausgeführt werden.

Definition

WHILE (BEDINGUNG/AUSDRUCK) {
ANWEISUNG/EN;
}

Ablaufschema einer while-Schleife

Beispiel

// Laufvariable (Zählvariable)
$i = 0;

// while-Anweisung
// Ausgabe: 0 1 2 3 4 5 6 7 8 9
while ($i < 10) {        // Bedingung
    echo "$i<br>";        // Anweisungsblock
    $i++;            // Inkrementierung der Laufvariablen
}

Und so funktioniert die while-Anweisung: Zunächst wird der angegebene Ausdruck berechnet. Ist er false, geht der Interpreter zur nächsten Anweisung im Programm über. Sollte dieser jedoch true sein, wird die angegebene Anweisung bzw. der entsprechende Anweisungsblock ausgeführt. Anschließend wird der Ausdruck neu berechnet. Wiederum geht der Interpreter zur im Programm folgenden Anweisung über, falls der Wert des Ausdrucks false sein sollte. Ansonsten wird erneut die Anweisung ausgeführt, die den Hauptteil der Schleife ausmacht. Dieser Kreislauf wird so lange durchlaufen, bis der Ausdruck schließlich false ergibt. Dann wird die Ausführung der while-Anweisung beendet, und der PHP-Interpreter fährt mit der sequentiellen Abarbeitung des Programms fort.

Hinweis: Schleifendurchläufe bezeichnet man auch als Iterationen.

Wie wäre es noch mit einem Beispiel, mit dessen Hilfe Sie die Zeichen der ASCII-Tabelle im Handumdrehen erzeugt haben.

$zaehler = 32;
while ($zaehler < 127) {
    $zeichen = chr($zaehler);
    echo $zeichen . " |";
    $zaehler++;;
}

Ausgabe
|! |" |# |$ |% |& |' |( |) |* |+ |, |- |. |/ |0 |1 |2 |3 |4
|5 |6 |7 |8 |9 |: |; |< |= |> |? |@ |A |B |C |D |E |F |G |H
|I |J |K |L |M |N |O |P |Q |R |S |T |U |V |W |X |Y |Z |[ |\
|] |^ |_ |` |a |b |c |d |e |f |g |h |i |j |k |l |m |n |o |p
|q |r |s |t |u |v |w |x |y |z |{ || |} |~ |

Alternative Syntax

Auch für die while-Schleife existiert in PHP eine alternative Schreibweise.

Definition

WHILE (BEDINGUNG/AUSDRUCK):
ANWEISUNG/EN;
ENDWHILE;

Beispiel - bisherige Schreibweise

<?php
$zaehler = 0;
$max = 10;
while ($zaehler < $max) {
    if ($zaehler % 2) {
        $zaehler++;
        continue;
    }
    echo "Zaehler: $zaehler <br>";
    $zaehler++;
}
?>

Beispiel - alternative Schreibweise

<?
$zaehler = 0;
$max = 10;
while ($zaehler < $max):
if ($zaehler % 2) {
 $zaehler++;
 continue;
}
?>
Zaehler: <? echo $zaehler;?><br>
<? $zaehler++; ?>
<? endwhile ?>

switch-case-Anweisung

do-while-Schleife

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


do-while-Schleife

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

do-while-Schleife

Die do-while-Anweisung (Schleife) ist der while-Anweisung sehr ähnlich. Der einzige Unterschied besteht darin, dass die Schleifenbedingung nicht am Anfang, sondern am Ende der Schleife überprüft wird. Deshalb führt die do-while-Anweisung mindestens einen Durchlauf aus.

Definition

DO {
ANWEISUNG/EN;
} WHILE (BEDINGUNG/AUSDRUCK);

Ablaufschema einer do-while-Schleife

Beispiel

// Laufvariable (Zählvariable)
$i = 0;

// do-while-Anweisung
// Ausgabe: 0 1 2 3 4 5 6 7 8 9
do {
    echo "$i<br>";   // Anweisungsblock
    $i++;            // Inkrementierung der Laufvariablen
} while ($i < 10);   // Bedingung

Hinweis: Für do...while können Sie keine alternative Schreibweise anwenden.

while-Schleife

for-schleife

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


for-schleife

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

for-schleife

Die for-Anweisung ist für Schleifen oft praktischer als die while-Anweisung. Hier wird ausgenutzt, dass die meisten Schleifen einem bestimmten Schema folgen. Normalerweise gibt es eine Schleifenvariable, die vor Beginn der Schleife initialisiert wird. Vor jedem Schleifendurchlauf wird der Wert dieser Variablen innerhalb des Ausdrucks überprüft. Schließlich wird sie am Ende der Schleife, unmittelbar vor der erneuten Auswertung des Ausdrucks, inkrementiert oder in anderer Weise geändert. Sie hat desweiteren den Vorzug, dass die Initialisierung, der Ausdruck (Bedingung) und die Veränderung der Schleifenvariablen übersichtlich im Kopf der Schleife zusammengefasst sind.

Definition

FOR (INIT SCHLEIFENVARIABLE; BEDINGUNG; VERÄNDERUNG) {
ANWEISUNG/EN;
}

Ablaufschema einer for-Schleife

Am einfachsten lässt sich erklären, was die for-Anweisung bewirkt, wenn man die äquivalente while-Anweisung angibt:

// Laufvariable (Zählvariable)
$i = 0;

// while-Anweisung
// Ausgabe: 0 1 2 3 4 5 6 7 8 9
while ($i < 10) {        // Bedingung
    echo "$i<br>";        // Anweisungsblock
    $i++;            // Inkrementierung der Laufvariablen
}

// for-Anweisung
// Im Ausgabefenster: 0 1 2 3 4 5 6 7 8 9
for ($i=0;$i<10;$i++) {
    echo "$i<br>";        // Anweisungsblock
}

// Schreibweise (Variante 2)
for ($i=0;$i<10;$i++)
    echo "$i<br>";        // Anweisung

Wie Sie hier lesen, stehen in dieser Schreibweise alle wichtigen Information über die Schleifenvariable in einer einzigen Codezeile. Dadurch ist die Arbeitsweise der Schleife klar ersichtlich. Außerdem wird dadurch, dass die Veränderung der Schleifenvariablen innerhalb der eigentlichen for-Anweisung steht, der Anweisungsblock vereinfacht.

Flexibilität der for-Schleife

Alle drei Parameter der for-Schleife sind äusserst flexibel einsetzbar. So sind die drei Parameter der for-Schleife optional. Ohne eine Iterationsvariable wird die Schleife endlos durchlaufen. Sie können in diesem Fall wieder auf break zurückgreifen, um die Schleife mit einer zusätzlichen Bedingung zu verlassen.

Beispiel

<?php
$zaehler = 1;
for (;;) {
    if ($zaehler > 10) {
        break;
    }
    print $zaehler;
    $zaehler++;
}
?>

Hinweis: continue kann ebenfalls zum Einsatz kommen.

Der flexible Umgang mit den Schleifenparametern kennt praktisch keine Grenzen. Auch das folgende Beispiel ist syntaktisch korrekt:

<?php
for ($i = 0, $j = 10;$i<$j;$i++) {
    $j--;
    echo "i ist jetzt: $i<br>";
    echo "j ist jetzt: $j<br>";
}
?>

Ausgabe
i ist jetzt: 0
j ist jetzt: 9
i ist jetzt: 1
j ist jetzt: 8
i ist jetzt: 2
j ist jetzt: 7
i ist jetzt: 3
j ist jetzt: 6
i ist jetzt: 4
j ist jetzt: 5

Es spielt offensichtlich keine Rolle, ob hier Variablen zum Einsatz kommen oder nicht. Wenn Sie beispielsweise lediglich eine Liste ausgeben wollen, können Sie den Befehl recht knapp halten:

<?php
for ($i = 1; $i <= 10; print $i, $i++) ;
?>

Innerhalb des for-Befehls Können also weitere Befehle, durch Kommata getrennt, eingesetzt werden. Im Beispiel wird übrigens nicht zufällig der Befehl print anstatt des flexibleren echo verwendet. Wie bei der Befehlsbeschreibung bereits erläutert, gibt echo nichts zurück, während print die Ausführung im Erfolgsfall mit TRUE quittiert. Normalerweise wird der Rückgabewert nicht benötigt und gelöscht. Die for-Schleife erwartet jedoch von jedem direkt eingegebenen Wert, dass er sich als Ausdruck verhält - Ausdrücke geben immer etwas zurück. An dieser Stelle kann echo also nicht funktionieren. Versuchen Sie es dennoch, erhalten Sie einen Laufzeitfehler.

Alternative Syntax

Natürlich, wie kann es anders sein gibt es auch für die for-Schleife eine alternative Schreibweise.

Definition

FOR (INIT SCHLEIFENVARIABLE; BEDINGUNG; VERÄNDERUNG):
ANWEISUNGEN/EN;
ENDFOR;

Beispiel - alternative Schreibweise

<? for ($i = 0; $i <= 10; $i++): ?>
i ist jetzt: <? echo $i ?><br>
<? endfor; ?>

Ausgabe

i ist jetzt: 0
i ist jetzt: 1
i ist jetzt: 2
i ist jetzt: 3
i ist jetzt: 4
i ist jetzt: 5
i ist jetzt: 6
i ist jetzt: 7
i ist jetzt: 8
i ist jetzt: 9
i ist jetzt: 10

do-while-Schleife

foreach-Schleife

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


foreach-Schleife

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

foreach-Schleife

Diese ermöglicht es, auf einfache Weise ein Array zu durchlaufen. foreach funktioniert nur in Verbindung mit Arrays. Wenn Sie versuchen, foreach mit einer Variable eines anderen Datentyps oder einer nicht initialisierten Variable zu benutzen, gibt PHP einen Fehler aus.

Definition

FOREACH (ARRAY_EXPRESSION AS $VALUE){
ANWEISUNG/EN;
}

Mit Hilfe von foreach wird das Durchlaufen eines Arrays, wesentlich vereinfacht. Gegenüber der while-Schleife mit list und each ist die foreach-Schleife syntaktisch deutlich im Vorteil.

Beispiel - while

<?php
$zahlen = array (10, 20, 30, 40);
while (list(, $value) = each ($zahlen)) {
    echo "Wert: $value<br>\n";
}
?>

Beispiel - foreach

<?php
foreach ($zahlen as $value) {
    echo "Wert: $value<br>\n";
}
?>

Das Array wird von Anfang bis Ende durchlaufen und bei jedem Schleifendurchlauf wird das aktuelle Element der Variablen array_expression zugewiesen. Jedes Arrayelement kann wiederum ein Array sein, dann könnte mit einer verschachtelten foreach-Schleife auch dieses Array ausgewertet werden.

Beispiel - mit assoziativem Array

$personen = array("Matthias","Caroline","Gülten");

foreach ($personen as $person) {
    echo "Name: $person<br>\n";
}
// Ausgabe:
// Name: Matthias
// Name: Caroline
// Name: Gülten

Typischerweise ist es erlaubt, einzelne Elemente eines solchen Arrays mit unterschiedlichen Datentypen zu belegen. Das können auch weiere Arrays sein.

Erweiterte Syntax

Sollten Sie Arrays mit Schlüssel/-Wertepaaren bauen, kann foreach mit einer erweiterten Syntax diese Paare direkt auslesen. Die grundlegende Syntax lautet:

Definition

FOREACH (ARRAY AS $KEY => $VALUE){
ANWEISUNG/EN;
}

Hier wird der Operator => eingesetzt, der schon bei der Konstruktion des Arrays verwendet wurde.

Beispiel

<?php
$person = array("Vorname" => "Caroline",
                "Nachname" => "Kannengiesser",
                "Alter" => 25,
                "Ort" => Berlin);
foreach ($person as $key => $val) {
    echo "Feld $key hat den Wert: $val<br>";
}
?>

Ausgabe

Feld Vorname hat den Wert: Caroline
Feld Nachname hat den Wert: Kannengiesser
Feld Alter hat den Wert: 25
Feld Ort hat den Wert: Berlin

Hinweis: Mehr zum Thema Arrays finden Sie im Abschnitt Arrays.

for-schleife

Verschachtelte Kontrollstrukturen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation von PHP unter Windows

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation von PHP unter Windows

Die Installation von PHP gestaltet sich unter Windows denkbar einfach. Entpacken Sie hierzu die Dateien einer aktuellen Binärdistribution von PHP in ein Verzeichnis Ihrer Wahl, z.B. C:\PHP4.

Kopieren Sie die Vorlage für die PHP-Initialisierungsdatei php.ini-dist in Ihr PHP-Installationsverzeichnis und benennen diese um, mit dem neuen Dateinamen php.ini. Editieren Sie anschliessend die Datei php.ini mit einem beliebigen ASCII-Editor. Die Vorlagendatei php.ini-dist sollten Sie unverändert lassen, um bei Bedarf jederzeit wieder Zugriff auf die Standard-Einstellungen zu haben.

Tragen Sie unter extension_dir Ihr PHP-Verzeichnis bzw. das Verzeichnis, in dem Sie die bei Bedarf zu ladenden PHP-Erweiterungen abgelegt haben ein, z.B.:

extension_dir = c\php4

Geben Sie bei der doc_root das Verzeichnis an, in dem Ihre PHP-Skripte liegen. Dieses Verzeichnis sollte Dokumentenverzeichnis Ihres Webservers sein, da für dieses Verzeichnis bereits entsprechende Sicherheitsvorkehrungen getroffen wurden, z.B.:

doc_root = c:\apache\htdocs

Hinweis: Details zur Initialisierungsdatei php.ini finden Sie im Abschnitt PHP Konfiguration.

Nun kommen wir zum letzten Schritt. Die Konfigurationsdatei des Webservers, im vorliegenden Fall Apache, benötigen noch einige Einstellungen, welche vorzunehmen sind. Öffnen Sie hierzu die Datei httpd.conf und fügen Sie die folgenden Zeilen hinzu:

# Für PHP4
ScriptAlias /php4/ "c:/php4/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php4/php.exe"
AddType application/x-httpd-php4 .php4
Action application/x-httpd-php4 "/php4/php.exe"

# Für PHP5
ScriptAlias /php5/ "c:/php5/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php5/php.exe"
AddType application/x-httpd-php5 .php5
Action application/x-httpd-php5 "/php5/php.exe"

Oder

# Für PHP5
ScriptAlias /php5/ "c:/php5/"
Action application/x-httpd-php "/php5/php.exe"
AddType application/x-httpd-php .php .php4 .php3 .phtml .php5

Sollten die entsprechende Einträge bereits kommentiert enthalten sein, kommentieren Sie diese aus, um sie zu aktivieren.

Apache konfigurieren

LAMP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Verschachtelte Kontrollstrukturen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verschachtelte Kontrollstrukturen

Sie haben nun alle Kontrollstrukturen aus PHP vorgestellt bekommen. Diese lassen sich nicht nur jeweils einzeln ausführen, sondern können auch miteinander kombiniert werden. Das Kombinieren von Kontrollstrukturen untereinander wird in der Programmierung als Verschachtelung bezeichnet.

Sie kennen sicher die aus Russland stammenden "Matuschkas", das sind die ineinander geschachtelten Puppen. Jedes Mal, wenn Sie eine Puppe öffnen, kommt in ihrem Inneren eine weitere, kleinere Puppe zum Vorschein. Dies wird fortgeführt bis Sie zur letzten Puppe kommen, die sich nicht mehr öffnen lässt. Sie können sich verschachtelte Kontrollstrukturen so ähnlich aufgebaut vorstellen. Man schaut immer in die nächste hinein, dem Prinzip der Kiste in der Kiste entsprechend. Dabei kommt die Verschachtelung sowohl bei if-Anweisungen, switch-Anweisungen, als auch bei Schleifen vor.

Beispiel

<?php
/*
    Beispiel Haus (Verschachtelung: 3 Stufen)
    Aufbau der Stufen:
    // if-Stufe 1
        // if-Stufe 2
            // if-Stufe 3
            // else-Stufe 3
        // else-Stufe 2
    // else-Stufe 1
*/

$haus = true;
$hausTuer = true;
$hausSchluessel = true;

if ($haus == true) {
    echo "Haus in Sicht - Tür vorhanden?";
    if ($hausTuer == true) {
        echo "Tür vorhanden - passender Schlüssel?";
        if ($hausSchluessel == true) {
            echo "Passender Schlüssel - Haus betreten!";
        } else {
            echo "Leider keinen passenden Schlüssel!";
        }
    } else {
        echo "Leider hat das Haus keine Tür";
    }
} else {
    echo "Kein Haus in Sicht!";
}
?>

Ausgabe

Haus in Sicht - Tür vorhanden?
Tür vorhanden - passender Schlüssel?
Passender Schlüssel - Haus betreten!

Tipp: Ein Limit für die Anzahl von Verschachtelung gibt es nicht. Aber je weniger Stufen die Verschachtelung verwendet, desto leichter ist der Code zu verstehen. Sie sollten bei der Verschachtelung die Faustregel beachten, dass Sie nicht mehr als drei Stufen verwenden sollten, da Sie sonst den Überblick verlieren könnten.

Bei der Verschachtelung von Kontrollstrukturen sollten Sie unbedingt darauf achten, dass Sie Ihre Codezeilen einrücken. Dies wirkt sich vor allem besonders positiv auf die Lesbarkeit des Codes aus.

Beispiel

<?php
// switch-Anweisung in der sich if-Anweisungen befinden.
$lohn = 1000;
$mitarbeiter = "Mike";

// Ausgabe - Mike du erhälst 1000 Euro pro Monat
switch ($lohn) {
    case 1000:
        if ($mitarbeiter == "Mike") {
            echo "Mike du erhälst 1000 Euro pro Monat";
        }
        break;
    case 2000:
        if ($mitarbeiter == "Gülten") {
            echo "Gülten du erhälst 2000 Euro pro Monat";
        }
        break;
    default:
        echo "Sie sind kein Mitarbeiter unserer Firma!";
}
?>

Sie sehen, eine Verschachtelung kann durch das Einrücken der Codezeilen um einiges besser überblickt werden.

Hinweis: Die Verschachtelung lässt sich natürlich mit sämtlichen Kontrollstrukturen durchführen.

foreach-Schleife

break

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


break

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

break

Diese Anweisung darf nur innerhalb von for, foreach while, do..while or switch-Anweisungen oder in einem Anweisungsblock, der mit einer bestimmten case-Bedingung in einer switch-Anweisung verknüpft ist, verwendet werden. Wird die break-Anweisung ausgeführt, wird die aktuell ausgeführte Schleife verlassen. Diese Anweisung wird normalerweise dazu verwendet, eine Schleife vorzeitig zu beenden.

Beispiel

<?php
// while-Anweisung (mit Break)
$zufall = 1;
// Ausgabe - 1 2 3 4 5
while ($zufall <= 10) {
    echo $zufall;
    if ($zufall == 5) {
        break;
    }
    $zufall++;
}
?>

Diese while-Schleife wird so lange durchlaufen, bis die Variable $zufall den Wert 5 aufweist. Sollte dies der Fall sein, wird der Schleifendurchlauf durch break beendet.

Verschachtelte Kontrollstrukturen

continue

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


continue

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

continue

Die continue-Anweisung steht mit der break-Anweisung in einem sehr engen Zusammenhang. Wie schon die break-Anweisung, kann auch continue nur inner-halb von while-, do-while, for- und foreach-Anweisungen verwendet werden. Wenn die continue-Anweisung ausgeführt wird, wird der aktuelle Durchlauf der ausgeführten Schleife beendet und die nächste Iteration begonnen. Die continue-Anweisung verhält sich dabei in jeder Schleifenart unterschiedlich.

. In einer while-Schleife weist continue den Interpreter an, den restlichen Teil der Schleife zu übergehen und an den Anfang der Schleife zu springen, wo die Bedingung geprüft wird.
. In einer do-while-Schleife weist continue den Interpreter an, den restlichen Teil der Schleife zu übergehen und an das Ende der Schleife zu springen, wo die Bedingung geprüft wird.
. In einer for-Schleife weist continue den Interpreter an, den restlichen Teil der Schleife zu übergehen und zur Auswertung des auf die for-Schleife folgenden Ausdrucks zu springen.
. In einer foreach-Schleife weist continue den Interpreter an, den restlichen Teil der Schleife zu übergehen und zurück an den Anfang der Schleife zu springen, wo der nächste Wert in der Aufzählung verarbeitet wird.

Beispiel

<?php
// while-Anweisung (mit continue)
$zufall = 1;
// Ausgabe - 1 2 3 4 5 6 7 8 9 10
while ($zufall <= 10) {
    echo $zufall;
    $zufall++;
    continue;
    echo "Ich werde nie aufgerufen";
}
?>

Beispiel

<?php
$zaehler = 0;
$max = 10;
while($zaehler < $max) {
    if ($zaehler % 2) {
        $zaehler++;
        continue;
    }
    echo "Zähler: $zaehler <br>";
    $zaehler++;
}
?>

Ausgabe

Zähler: 0
Zähler: 2
Zähler: 4
Zähler: 6
Zähler: 8

Hinweis: continue kann optional ein numerisches Argument erhalten, das angibt, wie viele Ebenen von enthaltenen Schleifen übersprungen werden sollen.

break

Funktionen und Prozeduren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Funktionsargumente

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Funktionsargumente

Die Übergabe von Argumenten an die Funktion, die dann dort Parameter entsprechen, kann auf unterschiedliche Art und Weise erfolgen. Im einfachsten Fall geben Sie Variablennamen an:

function schreiben($spruch, $vorname) {
echo "$spruch, $vorname";
}

Der Aufruf der Funktion kann nun erfolgen, indem Werte eingesetzt werden:

schreiben("Herzlich Willkommen", "Caroline");

Der Rückgabewert interessiert hier nicht, also wird auch kein return benötigt. Beim Aufruf können natürlich auch Variablen eingesetzt werden. Das folgende Beispiel entspricht der ersten Variante:

$vorname = "Caroline";
$spruch = "Herzlich Willkommen";

function schreiben($spruch, $vorname) {
echo "$spruch, $vorname";
}
schreiben($spruch, $vorname);

Lokale und globale Variablen

Die Variablennamen können gleich sein, da Variablen innerhalb einer Funktion lokal sind und nicht im Konflikt mit den globalen Variablen stehen.

Beispiel

<?php
function schreiben($spruch, $vorname) {
 echo "$spruch, $vorname <br>";
 $spruch = "Neuer Spruch";
 $vorname = "Neuer Name";
}
$vorname = "Caroline";
$spruch = "Herzlich Willkommen";
schreiben($spruch, $vorname);
schreiben($spruch, $vorname);
?>

Ausgabe

Herzlich Willkommen, Caroline
Herzlich Willkommen, Caroline

Übergabe per Referenz

Die Veränderung der übergebenen Variablen kann aber manchmal erwünscht sein. So könnte eine Funktion sämtliche übergebenen Werte in $inhalt kursiv schreiben, beispielsweise für Zitate.

<?php
function schreibeZitat(&$inhalt) {
 $inhalt = "<i>$inhalt</i>";
}
$spruch = "Hallo Welt!";
echo "$spruch<br>";
schreibeZitat($spruch);
echo $spruch;
?>

Ausgabe

Hallo Welt!
Hallo Welt!

Der Name der Variablen spielt keine Rolle. Entscheidend ist die Kennzeichung der Argumente mit &. In diesem Fall wird der globalen Variablen der neue Wert zugewiesen. Diese Vorgehensweise wird als Parameterübergabe durch Referenz bezeichnet (by reference). Der normale Weg ist die Übergabe von Werten (by value), Änderungen wirken sich dann nicht auf die Quelle aus.

Funktionen und Prozeduren

Vorgabewerte für Parameter

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vorgabewerte für Parameter

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vorgabewerte für Parameter

Eine Funktion kann C++-artige Vorgabewerte für skalare Parameter wie folgt definieren:

<?php
function mixen ($typ = "Kaffee") {
    return "Tasse $typ<br>";
}
echo mixen ();
echo mixen ("Tee");
?>

Ausgabe

Tasse Kaffee
Tasse Tee

Der Vorgabewert muss ein konstanter Ausdruck sein, darf also keine Variable oder Element einer Klasse sein. Bitte beachten Sie, dass alle Vorgabewerte rechts von den Nicht-Vorgabeparametern stehen sollten - sonst wird es nicht funktionieren.

Beispiel

<?php
function mixen ($typ = "Maxi", $geschmack) {
    return " $typ Becher $geschmack-Mix.";
}
echo mixen ("Kirsch");
?>

Ausgabe

Warning: Missing argument 2 for mixen() in C:\php5xampp-dev\htdocs\php5\test2.php on line 2
Kirsch Becher -Mix.

Lösung

<?php
function mixen ($geschmack, $typ = "Maxi") {
    return "$typ Becher $geschmack-Mix.";
}
echo mixen ("Kirsch");
?>

Ausgabe

Maxi Becher Kirsch-Mix.

Funktionsargumente

Variable Argumentlisten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Variable Argumentlisten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Variable Argumentlisten

In PHP3 konnte noch keine variablen Argumentlisten verwendet werden. Um diesen Nachteil zu umgehen, wurden Arrays eingesetzt. Sie können die Anzahl der Argumente dann mit Hilfe von Array-Funktionen bestimmen.

Beispiel

<?php
function formatieren($tag,$argumente) {
    $anzahlargs = count($argumente);
    for ($i = 0; $i < $anzahlargs; $i++) {
      $resultat .= "<".$tag.">".$argumente[$i]."</".$tag.">";
    }
    return $resultat;
}
$personen = array("Matthias","Caroline","Gülten");
// Ausgabe - Kursiv
echo formatieren ("i",$personen) . "<br>";
// Ausgabe - Unterstrichen
echo formatieren ("u",$personen);
?>

Ausgabe

MatthiasCarolineGülten
MatthiasCarolineGülten

Wie man sieht besteht der Trick darin array zu verwenden. Die Anzahl der Argumente kann leicht mit der Funktion count ermittelt werden. Für die Übergabe wird das Array mit der Funktion array aus Einzelwerten erzeugt. Wie viele dies sind, spielt nun keine Rolle mehr.

Seit PHP4 sind variable Argumentlisten zulässig. Dies wird bei internen Funktionen, wie beispielsweise max verwendet. Die Funktion ermittelt den maximalen Wert einer beliebig langen Liste von Argumenten.

Es gibt spezielle Funktionen, mit denen der Parameterblock untersucht werden kann:
. func_num_args - Diese Funktion gibt die Anzahl der Parameter zurück.
. func_get_arg - Hiermit ermitteln Sie einen konkreten Parameter, die Auswahl erfolgt durch eine Nummer.
. func_get_args - Diese Funktion gibt ein Array mit den Parametern zurück.

Beispiele

<?php
function meinefunk() {
    $anzahlargs = func_num_args();
    echo "Anzahl der Argumente: $anzahlargs";
}
// Ausgabe - Anzahl der Parameter (3)
meinefunk (10, 20, 30);
?>

<?php
function meinefunk() {
    $anzahlargs = func_num_args();
    echo "Anzahl der Argumente: $anzahlargs<br>";
    if ($anzahlargs >= 2) {
        echo "Das 2. Argument ist: " . func_get_arg (1);
    }
}
// Ausgabe
// Anzahl der Argumente: 3
// Das 2. Argument ist: 20
meinefunk (10, 20, 30);
?>

<?php
function meinefunk() {
    $anzahlargs = func_num_args();
    $arg_liste = func_get_args();
    for ($i = 0; $i < $anzahlargs; $i++) {
        echo "Argument $i ist: " . $arg_liste[$i] . "<br>";
    }
}
// Ausgabe
// Argument 0 ist: 10
// Argument 1 ist: 20
// Argument 2 ist: 30
meinefunk (10, 20, 30);
?>

Vorgabewerte für Parameter

Rückgabewerte

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Rückgabewerte

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Rückgabewerte

Wie Sie bereits erfahren haben können Sie mit dem optionalen Befehl return Werte zurückgeben. Es können Variablen jedes Typs zurückgegeben werden, auch Listen oder Objekte. Die beendet sofort die Funktion, und die Kontrolle wird wieder an die aufrufende Zeile zurückgegeben.

Rückgabe mehrere Werte

Die Frage die Sie sich recht schnell stellen werden, ist es möglich mehr als einen Wert zurückzugeben? - Die Antwort lautet, es ist nicht möglich, mehrere Werte von einer Funktion zurückzugeben. Ein ähnliches Resultat kann man jedoch durch die Rückgabe von Listen erreichen. Hilfestellung gibt hierbei der Befehl list.

Beispiel

<?php
function ausgaben() {
   return array (10, 20, 30);
}
list ($erste, $zweite, $dritte) = ausgaben();
// Ausgabe (20)
echo $zweite;
?>

Variable Argumentlisten

Fehlercode als Rückgabewert

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fehlercode als Rückgabewert

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fehlercode als Rückgabewert

Eine komplexe Funktion sollte nicht nur den üblichen Rückgabewert erzeugen, sondern bei Bedarf auch noch einen Fehlercode. Dieser Fehlercode wird ebenfalls in einer return-Anweisung definiert. Kann die Funktion die erwartetet Operation nicht ausführen, soll sie stattdessen den Fehlercode liefern. Der Entwickler ist dann in der Lage, den Rückgabewert in einer if-Abfrage auszuwerten und für die Programmsteuerung zu nutzen. Das folgende Beispiel erfüllt diese Anforderung:

Beispiel

function bruttoberechnen($betrag, $mwst) {
    if ($betrag > 0 && $mwst > 0) {
        return $betrag + ($betrag * $mwst / 100);
    } else {
        return -1;
    }
}

Die Funktion erwartet die Angabe eines Nettobetrags und der Mehrwertsteuer, daraus wird dann der Bruttobetrag errechnet. Es wird überprüft, ob die Variablen einen Wert grösser 0 liefern. Nur wenn das der Fall ist, erfolgen Berechnung und Rückgabe des berechneten Wertes. Wenn eine der Variablen nur einen Wert kleiner oder gleich 0 enthält, wird der alternative else-Zweig ausgeführt. Die dort untergebrachte return-Anweisung erzeugt dann den Rückgabewert -1. Diesen Wert verwenden Sie als Fehlercode. Beim Aufruf der Funktion können Sie den Fehlercode berücksichtigen und auswerten.

$resultat = bruttoberechnen (100, 0);     // -1

if ($resultat > -1) {
    echo $resultat;
} else {
    echo "Falsche Argumente!";
}

Hinweis: In den vorangegangenen Beispielen wurde als Rückgabewert für die Anzeige einer Fehlerfunktion immer der Wert -1 verwendet. Sie können natürlich jeden beliebigen Wert dafür vorgeben. Der Wert sollte sich nur deutlich von den normalen Funktionswerten unterscheiden. Viele Funktionen geben bei einem Fehler beispielsweise den Wahrheitswerts false (0) zurück. Bei String-Funktionen können Sie auch einen Leerstring verwenden.

Rückgabewerte

Dynamisch Funktionen erzeugen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dynamisch Funktionen erzeugen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dynamisch Funktionen erzeugen

Sie möchten eine Funktion anlegen und definiere, während das Skript vom PHP-Interpreter abgearbeitet wird. Hierfür stellt Ihnen PHP die Funktion create_function() zur Verfügung.

Beispiel

<?php
$addieren = create_function('$a,$b', 'return $a+$b;');
// Ausgabe (15)
echo $addieren(10,5)
?>

Der erste Parameter für create_function() ist ein String, welcher die Argumente der Funktion enthält, und der zweite ist der Anweisungsblock. Die Verwendung von create_function() ist ausserordentlich langsam. Sie sollten daher eine Funktion vorab definieren und nur in Aussnahmefällen auf create_function() zurückgreifen.

Fehlercode als Rückgabewert

Bedingte Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


LAMP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

LAMP

LAMP steht für Linux Apache MySQL PHP. Der Wunsch nach einer leistungsfähigen Skriptsprache kommt oft erst nach der erfolgreichen Installation eines Webservers. Sollten Sie bereits Erfahrung im Umgang mit Linux haben und der Apache-Webserver stabil läuft, nimmt die Installation von PHP nur wenig Zeit in Anspruch.

Prinzipiell kann PHP als CGI-Programm oder als Apache Modul betrieben werden. Die Integration in den Webserver bietet einen deutlichen Performancevorteil. Darüber hinaus sind einige servernahe Funktionen nutzbar. Nachteilig ist die Abhängigkeit so entstandener Skripte, wenn Sie diese Funktionen auch nutzen, von der Konfiguration. Die Portierbarkeit nach Windows oder auf andere Unix basierte Systeme mit anderen Webservers wird dadurch eingeschränkt.

Installation von PHP unter Windows

Installation von PHP als CGI-Programm

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Bedingte Funktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Bedingte Funktionen

Wenn eine Funktion nur unter bestimmten Bedingungen definiert wird, muß die Definition dieser Funktion noch vor deren Aufruf abgearbeitet werden.

<?php
$signal = TRUE;

function meinefunk() {
  echo "Wurde aufgerufen!";
}
// Ausgabe - Wurde aufgerufen
if ($signal) meinefunk();
?>

Dynamisch Funktionen erzeugen

Verschachtelte Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Verschachtelte Funktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verschachtelte Funktionen

Sie haben bereist erfahren, dass Sie in PHP Kontrollstrukturen verschachteln könne, dies gilt auch für Funktionen. Im Folgenden Beispiel wir eine Funktion zeigeAutoren() definiert. Diese enthält zwei weitere Funktionen zeigeAutor() und zeigeAutorin().

Beispiel

<?php
// Verschachtelte Funktionen
function zeigeAutoren() {
    function zeigeAutor() {
        echo "Matthias Kannengiesser";
    }
    function zeigeAutorin() {
        echo "Caroline Kannengiesser";
    }
    zeigeAutor();
    zeigeAutorin();
}
// Aufruf
zeigeAutoren();
?>

Ausgabe

Matthias Kannengiesser
Caroline Kannengiesser

Sie greifen, wie Sie sehen, auf die verschachtelten Funktion zu, indem Sie die übergeordnete Funktion zeigeAutoren() aufrufen. Hierbei verhalten sich die verschachtelten Funktionen wie lokale Variablen. Sie sind somit nur für die übergeordnete Funktion zugänglich (Parent-Funktion). Folgender Aufruf wäre daher ausserhalb der Parent-Funktion nicht möglich:

// Aufruf (nicht möglich)
zeigeAutor();

Tipp: Mit Hilfe der verschachtelten Funktionen haben Sie die Möglichkeit, den Zugriff von aussen auszuschliessen.

Bedingte Funktionen

Variablenfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Variablenfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Variablenfunktionen

PHP unterstützt das Konzept der Variablenfunktionen. Wenn Sie an das Ende einer Variablen Klammern hängen, versucht PHP eine Funktion aufzurufen, deren Name der aktuelle Wert der Variable ist. Dies kann unter anderem für Callbacks, Funktionstabellen, usw. genutzt werden.

Beispiel

<?php
function meinefunk()
{
    echo "In meinefunk()<br>";
}

function meinefunk2($arg = '')
{
    echo "In meinefunk2(); der Parameter ist '$arg'.<br>";
}

$func = 'meinefunk';
$func();        // ruft meinefunk() auf

$func = 'meinefunk2';
$func('Funk: Hallo Welt');  // ruft meinefunk2() auf
?>

Ausgabe

In meinefunk()
In meinefunk2(); der Parameter ist 'Funk: Hallo Welt'.

Variablenfunktionen funktionieren nicht mit Sprachkonstrukten wie echo(), print(), unset(), isset(), empty(), include() und require(). Sie müssen Ihre eigenen Wrapperfunktionen verwenden, um diese Konstrukte als variable Funktionen benutzen zu können.

Beispiel

<?php
// Wrapperfunkiton für echo
function sendeecho($string)
{
    echo $string;
}

$func = 'sendeecho';
$func('Echo: Hallo Welt');  // ruft sendeecho() auf
?>

Ausgabe

Echo: Hallo Welt

Verschachtelte Funktionen

Rekursive Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Rekursive Funktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Rekursive Funktionen

Sie werden nun noch eine Methode kennen lernen Funktionen zu verwenden. Es handelt sich dabei um rekursive Funktionen. Dies ist eine Funktion, die sich selbst aufruft. Rekursive Funktionen werden vor allem dort eingesetzt, wo man nicht genau vorherbestimmen kann, wie verschachtelt eine Datenstruktur ist.

Rekursion allgemein

Unter einer Rekursion versteht man die Definition eines Programms, einer Funktion oder eines Verfahrens durch sich selbst. Rekursive Darstellungen sind im allgemeinen kürzer und leichter verständlich als andere Darstellungen, da sie die charakteristischen Eingenschaften einer Funktion betonen.

Ein Algorithmus heißt rekursiv, wenn er Abschnitte enthält, die sich selbst aufrufen. Er heißt iterativ, wenn bestimmte Abschnitte des Algorithmus innerhalb einer einzigen Ausführung des Algorithmus mehfrfach durchlaufen werden. Iteration und Rekursion können oft alternativ in Programmen eingesetzt werden, da man jede Iteration in eine Rekursion umformen kann und umgekehrt. In der Praxis liegt jedoch oftmals die iterative oder die rekursive Lösung auf der Hand und die dazu alternative Form ist gar nicht so leicht zu bestimmen.

Hinweis: Programmtechnisch läuft eine Iteration auf eine Schleife, eine Rekursion auf den Aurfuf einer Methode durch sich selbst hinaus.

Fallbeispiel

Nehmen Sie einen Papierstreifen und versuchen Sie ihn so zu falten, dass sieben genau gleich grosse Teile entstehen. Dabei dürfen Sie kein Lineal oder sonst ein Hilfsmittel verwenden. Sie werden feststellen, das die Aufgabe gar nicht so einfach ist!

Wenn Sie statt sieben jedoch acht Teile machen, wird es plötzlich einfach: Einmal in der Mitte falten, dann nochmals falten .....

Genau das ist das Prinzip der Rekursion: Ein Problem wird auf ein "kleineres" Problem zurückgeführt, das wiederum nach demselben Verfahren bearbeitet wird. Rekursion ist eine wichtige algorithmische Technik.

Am obigen Beispiel haben Sie auch gesehen, dass die Lösung einer Aufgabe, wenn sie mit Rekursion möglich ist, sehr einfach gelöst werden kann. Hier nun zwei rekursive Fallbeispiel.

Fakultät einer Zahl n (n!) rekursiv

Bei der Berechnung der Fakultätsfunktion geht man aus von der Definition der Fakultät:
0! = 1
n! = 1 * 2 * 3 * ... * n für n>0

Man beginnt bei den kleinen Zahlen. Der Wert von O! ist 1, der Wert von 1! ist 0!*1, der Wert von 2! ist 1!*2, der Wert von 3! ist 2!*3, usw.

Nimmt man eine Schleifenvariable $i, die von 1 bis n durchgezählt wird, so muss innerhalb der Schleife lediglich der Wert der Fakultät vom vohergehenden Schleifendurchlauf mit dem Wert der Schleifenvariablen multipliziert werden.

Lösung 1 (iterativ)

<?php
function fak($n) {
    $resultat = 1;
    for ($i=1; $i<=$n; $i++) {
        $resultat = $i*$resultat;
       }
    return $resultat;
}
echo fak(1) . "<br>";
echo fak(2) . "<br>";
echo fak(3) . "<br>";
echo fak(4) . "<br>";
?>

Ausgabe
1
2
6
24

Bei der rekursiven Berechnung der Fakultätsfunktion geht man ebenfalls von der Definition der Fakultät aus, beginnt jedoch nicht bei den kleinen Zahlen, sondern bei den großen Zahlen und läuft dann zu den kleinen Zahlen zurück (recurrere = lat. zurücklaufen).

n! = 1 * 2 * 3 * ... * n für n>0
0! = 1

Im Gegensatz zur Iteration schaut man jetzt auf die Funktion f(n) und versucht, diese Funktion durch sich selbst, aber mit anderen Aurfufparametern, darzustellen. Die mathematische Analyse ist hier ziemlich leicht, denn man sieht sofort, dass

f(n) = n * f(n-1)

ist. Damit hat man das Rekursionsprinzip bereits gefunden. Die Rekursion darf jedoch nicht ewig andauern, sie muss durch ein Abbruchkriterium angehalten werden. Dies ist die Bedingung 0!=1.

Lösung 2 (rekursiv)

<?php
function fak($n){
     if ($n==0) {
      return 1;
     } else {
      return $n*fak($n-1);
     }
}

echo fak(1) . "<br>";
echo fak(2) . "<br>";
echo fak(3) . "<br>";
echo fak(4) . "<br>";
?>

Ausgabe

1
2
6
24

Der else-Zweig wird angesprungen, wenn die Abbruchbedingung nicht erreicht wird. Hier ruft die Methode sich selbst wieder auf. Hierbei ist zu beachten, dass die Anweisung, die die Methode aufruft, noch gar nicht abgearbeitet werden kann, solange die aufgerufene Methode kein Ergebnis zurückliefert.

Der if-Zweig wird angesprungen, wenn die Abbruchbedingung erreicht ist.

Um Ihnen die Analyse zu vereinfachen haben wir die rekursive Lösung etwas angepasst.

<?php
function fak($n){
    //Aufruf
    echo "Eintritt mit $n<br>";
        if ($n==0) {
            return 1;
        } else {
            $ergebnis = $n*fak($n-1);
            // Rücksprung
            echo "Austritt mit $n: $ergebnis<br>";
            return $ergebnis;
        }
}

fak(4);
?>

Ausgabe

Eintritt mit 4
Eintritt mit 3
Eintritt mit 2
Eintritt mit 1
Eintritt mit 0
Austritt mit 1: 1
Austritt mit 2: 2
Austritt mit 3: 6
Austritt mit 4: 24

Zu jedem Aufruf gehört auch genau ein Rücksprung! Sie können dies beim Programmablauf mit Hilfe der eingefügten Ausgabezeilen nachvollziehen.

Man beachte die Anzahl der Aufrufe. Im iterativen Fall wird die Methode ein einziges Mal aufgerufen und im Schleifenkörper n mal durchlaufen. Bei der rekursiven Berechnung wird die Methode n+1 mal aufgerufen. Dabei muss jedesmal Speicherplatz auf dem Stack reserviert werden. Da Parameter als lokale Variablen kopiert werden, wird auch dabei Speicherplatz verbraucht. Bei Rekursionen ist daher unbedingt darauf zu achten, dass die Abbruchbedingung bzw. das Rekursionsende korrekt implementiert wurde.

Türme von Hanoi

Ein Turm aus n verschieden großen Scheiben soll mit möglichst wenig Zügen (Umsetzungen) vom Startplatz S auf den Zielplatz Z transportiert werden. Ein dritter Platz steht als Hilfsplatz H zur Verfügung. Dabei gelten die folgenden Spielregeln:
. Jeder Zug besteht darin, eine Scheibe zu bewegen.
. Niemals darf eine größere Schiebe über einer kleineren Scheibe zu liegen kommen.

Türme von Hanoi

Schlüsselprinzip: Rekursion

Wenn wir das Problem in einem etwas einfacher gelagerten Fall lösen können, dann kann man diese Lösung auch für den schwierigeren Fall verwenden.

2 Scheiben:

- uebertrage den Turm mit 1 Scheibe vom Start- auf den Hilfsplatz
- bewege die Scheibe 2 vom Start- auf den Zielplatz
- uebertrage den Turm mit 1 Scheibe vom Hilfs- auf den Zielplatz

3 Scheiben:

- uebertrage den Turm mit 2 Scheiben vom Start- auf den Hilfsplatz
- bewege die Scheibe 3 vom Start- auf den Zielplatz
- uebertrage den Turm mit 2 Scheiben vom Hilfs- auf den Zielplatz

...

n Scheiben:

- uebertrage den Turm mit n-1 Scheiben vom Start- auf den Hilfsplatz
- bewege die Scheibe n vom Start- auf den Zielplatz
- uebertrage den Turm mit n-1 Scheiben vom Hilfs- auf den Zielplatz

Syntax der Aufrufe: (Beachten sie die Baumstruktur)

Ablauf der Rekursion

Lösung

<?php
function setzeTurm($n, $start, $ziel, $hilf) {
    if ($n>0)  {
        setzeTurm ($n-1, $start, $hilf, $ziel);
        echo("Bewege Scheibe $n vom $start-Platz zum $ziel-Platz.<br>");
        setzeTurm ($n-1, $hilf, $ziel, $start);
    }
}

setzeTurm (3,'Start','Ziel','Hilfsplatz');
?>

Ausgabe

Bewege Scheibe 1 vom Start-Platz zum Ziel-Platz.
Bewege Scheibe 2 vom Start-Platz zum Hilfsplatz-Platz.
Bewege Scheibe 1 vom Ziel-Platz zum Hilfsplatz-Platz.
Bewege Scheibe 3 vom Start-Platz zum Ziel-Platz.
Bewege Scheibe 1 vom Hilfsplatz-Platz zum Start-Platz.
Bewege Scheibe 2 vom Hilfsplatz-Platz zum Ziel-Platz.
Bewege Scheibe 1 vom Start-Platz zum Ziel-Platz.

Weitere Beispiele für rekursive Probleme sind:
. Wege aus einem Labyrinth
. Sortierverfahren
. Szierpinski-Dreiecke
. Baum des Pythagoras
. Kockkurven
. Julia- und Mandelbrotmengen
. logistisches Wachstum
. Fibonacchi-Folge
. Springer-Problem
. 8-Damen-Problem

Variablenfunktionen

Referenzen in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Was sind Referenzen?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Was sind Referenzen?

Referenzen sind in PHP ein Mechanismus um verschiedene Namen für den gleichen Inhalt von Variablen zu ermöglichen. Sie sind nicht mit Zeigern in C zu vergleichen, sondern Aliasdefinitionen für die Symboltabelle. PHP unterscheidet zwischen:
. Variablenname
. Variableninhalt

Wobei der gleiche Variableninhalt unterschiedliche Namen besitzen kann. Der bestmögliche Vergleich ist der mit Dateinamen und Dateien im Dateisystem von Unix:
. Variablennamen sind Verzeichniseinträge
. Variableninhalt die eigentliche Datei

Referenzen können nun als Hardlinks im Dateisystem verstanden werden.

Referenzen in PHP

Was leisten Referenzen?

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Was leisten Referenzen?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Was leisten Referenzen?

PHP Referenzen erlauben es, zwei Variablennamen sich auf den gleichen Variableninhalt beziehen zu lassen. Das heisst im folgenden Beispiel, dass sich $punkte und $punktestand auf dieselbe Variable beziehen:

<?php
$punkte = 1000;
$punktestand = &$punkte;

// Ausgabe (1000)
echo $punktestand;
?>

Achtung: $punkte und $punktestand sind hier gleichwertig, und $punkte ist nicht nur ein Zeiger auf $punktestand oder umgekehrt, sondern $punkte und $punktestand zeigen auf den selben Inhalt.

Seit PHP 4.0.4 kann & auch in Verbindung mit new verwendet werden.

<?php
class Haus
{
    var $etagen;
    function Haus($etagen)
    {
        $this->etagen = $etagen;
    }
}

$meinhaus = &new Haus(2);
$hausetagen = &$meinhaus->etagen;
// Ausgabe (2)
echo $hausetagen;
$hausetagen = 10;
// Ausgabe (10)
echo $meinhaus->etagen;
?>

Wenn der & Operator nicht verwendet wird, erzeugt PHP eine Kopie des Objekts. Wenn nun $this innerhalb der Klasse verwendet wird, bezieht es sich auf die aktuelle Instanz der Klasse. Die Zuordnung ohne & erzeugt eine Kopie der Instanz (d.h. des Objekts) und $this wird sich auf die Kopie beziehen. In der Regel will man aus Performance- und Speicherverbrausgründen nur eine einzige Instanz einer Klasse erzeugen.

pass-by-reference

Eine weitere Einsatzmöglichkeit von Referenzen ist die Übergabe von Parametern an eine Funktion mit pass-by-reference. Hierbei beziehen sich der lokale Variablenname als auch der Variablenname der aufrufenden Instanz auf denselben Variableninhalt:

<?php
function ausgabe(&$var) {
    return $var++;
}

$zahl=5;
// Ausgabe (5)
echo ausgabe ($zahl);
// Ausgabe (6)
echo $zahl;
?>

return-by-reference

Daneben besteht die Möglichkeit aus Funktionen heraus Werte mit return-by-reference zurückzugeben. Das Zurückgeben von Ergebnissen per Referenz aus Funktionen heraus kann in manchen Fällen recht nüzlich sein. Hierbei ist folgende Syntax zu beachten:

<?php
function &ausgabe($param) {
    return $param;
}

$wert =&ausgabe(5);
// Ausgabe (5)
echo $wert;
?>

In diesem Beispiel wird also die Eigenschaft des von ausgabe() gelieferten Wertes gesetzt, nicht die der Kopie, wie es der Fall wäre, wenn die Funktion ausgabe() ihr Ergebnis nicht per Referenz liefern würde.

Achtung: Im Gegensatz zur Parameterübergabe per Referenz ist bei der Rückgabe mittels Referenz an beiden Stellen die Angabe des & notwendig.

Was sind Referenzen?

Referenzen aufheben

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Referenzen aufheben

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Referenzen aufheben

Wird eine Referenz aufgehoben, so wird nur die Bindung zwischen einem Variablennamen und dem Variableninhalt entfernt. Der Inhalt der Variablen wird hierbei nicht gelöscht.

<?php
$wert = 10;
$zahl =&$wert;
unset ($wert);
// Ausgabe (10)
echo $zahl;
?>

Die Variable $zahl wird nicht gelöscht, sondern es wird nur die Bindung des Variablennamen $wert an den Variableninhalt aufgehoben. Dieser Variableninhalt ist immer noch über $zahl verfügbar.

Hinweis: Auch in diesem Fall sieht man die Analogie zwischen Unix und den Referenzen: Das Aufheben einer Referenz entspricht einem Aufruf von unlink unter Unix.

Was leisten Referenzen?

Referenzen entdecken

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Referenzen entdecken

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Referenzen entdecken

Viele Sprachelemente von PHP sind intern mit der Benutzung von Referenzen implementiert, daher gilt alles bisher gesagte auch für folgende Konstrukte:

global References

Die Verwendung von global $var erzeugt im aktuellen Gültigkeitsbereich eine Referenz auf die globale Variable $var, sie ist also äquivalent zu folgendem:

$var = &$GLOBALS["var"];

Dies hat zur Folge, dass das Anwenden von unset() auf $var keinen Einfluss auf die globale Variable hat.

$this

In einer Objektmethode ist $this immer eine Referenz auf die aufrufende Objektinstanz.

Referenzen aufheben

Arrays

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation von PHP als CGI-Programm

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation von PHP als CGI-Programm

Um die Installation als Skriptmodul vornehmen zu können, modifizieren Sie das do-conf-Skript, indem Sie die Anweisung with-apache herauskommentieren.

Dann wird PHP mit MAKE und MAKE INSTALL übersetzt. Die Installation wird standardmässig in /USR/LOCAL/BIN vorgenommen. Dieses Verzeichnis muss im Pfad stehen, sprich in der Pfadumgebungsvariable $PATH.

LAMP

Installation von PHP als Apache-Modul

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Was sind Arrays?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Was sind Arrays?

Ein Array ist ein Datentyp, in dem beliebig viele Werte abgespeichert werden können. Während eine Variable eines elementaren Datentyps immer nur einen einzelnen Wert enthält, kann eine Array-Variable eine grössere Anzahl verschiedenster Werte enthalten. Das Verhältnis zwischen einer Variablen und einem Array entspricht in etwa dem Verhältnis zwischen einem Segelboot und einem Ozeandampfer oder einem Fahrrad und einem Bus.

Eine Variable ist wie ein Segelboot, das lediglich einer Person Platz bieten kann. Die Person stellt dabei den Variablenwert dar. Ebenso wie der Wert einer Variablen wechseln kann, kann auch ein Segelboot im Laufe der Zeit von unterschiedlichen Personen verwendet werden. Wenn Sie nun wissen wollen, wem das Segelboot gehört, müssen Sie wissen, wie Sie zu diesem Segelboot gelangen können. Zu diesem Zweck hat jedes Segelboot einen Heimathafen, ebenso wie jede Variable einen Variablennamen hat, über den Sie auf die Variable zugreifen können.

Wenn Sie ein Array verwenden, führt Sie der Array-Name lediglich zu dem Array, also zu einem Datenbehälter, in dem mehrere Werte abgelegt sein können. Der Name des Arrays führt Sie aber noch nicht zu einem einzelnen, in der Array-Struktur abgelegten Wert. Ebenso führt Sie der Heimathafen eines Ozeandampfer lediglich zum Ozeandampfer, aber noch nicht zu einer bestimmten, in dem Ozeandampfer befindlichen Wohneinheit. Dazu fehlt Ihnen noch die Angabe, wo im Ozeandampfer Sie die gesuchte Wohneinheit finden. Im Falle des Arrays nutzt man zur Adressierung der einzelnen Werte im Array die Tatsache, dass alle Werte im Array durchnummeriert sind, man bezeichnet dies auch als indiziert. Um auf einen bestimmten Wert im Array zuzugreifen, hängt man daher die Nummer des Wertes in eckigen Klammern an den Array-Namen an.

Arrays

Terminologie

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Terminologie

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Terminologie

Eine Array-Variable ist eine ganz normale Variable, die sich allerdings dadurch auszeichnet, dass sie keinen einfachen Wert wie Zahlen, Strings, etc, sondern ein Array enthält. Ein Array ist in diesem Sinne eine Datenstruktur, die in sich beliebig viele Elemente aufnehmen kann.

Die Elemente eines Arrays können Werte wie Zahlen, Strings, Boolesche Werte, aber auch andere Arrays, Objekte oder Funktionen sein.

Im Allgemeinen wird nur selten zwischen Array und Array-Variablen unterschieden, d.h., man spricht nicht von der Array-Variablen $meinFeld, die ein Array enthält, sondern man sagt einfach: "das Array meinFeld". Dieser Sprachregel werden wir uns anschließen und lediglich in Fällen, wo es für das Verständnis wichtig ist, zwischen Array und Array-Variable unterscheiden.

Was sind Arrays?

Arrays erzeugen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Arrays erzeugen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Arrays erzeugen

Arrays kann man auf unterschiedlichster Weise erzeugen. Wir stellen Ihn die Möglichkeiten zur Erzeugung eines Arrays im folgenden Abschnitt vor.

Indizierte Arrays

Um beispielsweise die Namen von bestimmten Personen zu speichern, können Sie indizierte Arrays verwenden. Hierzu benötigen Sie folgende Schreibweise:

$personen[] = "Matthias";
$personen[] = "Caroline";
$personen[] = "Gülten";
$personen[] = "Toni";

Daraus entsteht ein indiziertes Array. Der Index entsteht, indem jeder neue Wert an das Ende angehängt wird. Indizierte Arrays beginnen von 0 mit der Indizierung. Sie können natürlich auch gleich die Indexwerte einsetzen. Das folgende Beispiele entspricht dem vorhergehenden:
$personen[0] = "Matthias";
$personen[1] = "Caroline";
$personen[2] = "Gülten";
$personen[3] = "Toni";

Was die Indizierung bet kann man sich folgendes merken:
. Die Indizierung beginnt bei 0.
. Die letzte Indexnummer eines Arrays entspricht der Anzahl der Einträge bzw Elemente (n), weniger 1 (n-1).

Sie müssen bei Zuweisungen nicht gezwungenermassen Indizes angeben. Sie können beispielsweise ein leeres Array erzeugen um sicher zu gehen das der PHP-Interpreter dies erkennt und anschliessend das Array mit Werten füllen.
$daten = array();
$daten[] = "Erster Eintrag";
$daten[] = "Zweiter Eintrag";

array()

Als Alternative können Sie mit array() arbeiten.
$personen = array("Matthias","Caroline","Gülten","Toni");

Tipp: array() kann zusätzlich verschachtelt werden, um Arrays von Arrays von Arrays, usw. zu erzeugen. Hiermit lassen sich komplexe Datenstrukturen abbilden.

Zur Ausgabe der im Array enthaltenen Einträge gehen Sie, wie folgt vor:
echo "$personen[0]
";
echo "$personen[1]
";
echo "$personen[2]
";
echo "$personen[3]
";

Assoziative Arrays

Von assoziativen Arrays oder Hashes spricht man, wenn die Elemente im Array nicht über Indizes, sondern über Strings bzw. sog. Schlüssel angesprochen werden. Das bereits gezeigt Beispiel könnte als assoziatives Array, wie folgt aussehen:
$personen["P1"] = "Matthias";
$personen["P2"] = "Caroline";
$personen["P3"] = "Gülten";
$personen["P4"] = "Toni";

Zur Ausgabe der im Array enthaltenen Einträge gehen Sie, wie folgt vor:
echo $personen["P1"] ."
";
echo $personen["P2"] ."
";
echo $personen["P3"] ."
";
echo $personen["P4"] ."
";

Ein assoziatives Array lässt sich natürlich auch mit Hilfe von array() erzeugen. Hierfür benötigen Sie zur Angabe des Schlüssel den Operator =>.
$personen = array(
"P1" => "Matthias",
"P2" => "Caroline",
"P3" => "Gülten",
"P4" => "Toni"
);

Ausgabe

echo $personen["P1"] ."
";
echo $personen["P2"] ."
";
echo $personen["P3"] ."
";
echo $personen["P4"] ."
";

Dies bringt zwar keinen Performancegewinn, der Quelltext wird jedoch bei konsequenter Anwendung leichter lesbar. Echte Vorteile ergeben sich bei der Nutzung von Daten, deren Umfang und Struktur Sie nicht genau abschätzen können oder nicht kennen. Wenn Sie indizierte Arrays mit Zählschleifen abfragen, kommen nur numerische Indizes in Betracht. Der direkte Zugriff auf ein bestimmtes Element, dessen Index Sie nicht kennen, bleibt Ihnen verwehrt.

Zusatz - ein Array erzeugen, welches nicht mit dem Index 0 beginnt

Sie wollen einem Array mehrere Elemente auf einmal zuweisen, hierbei soll jedoch der erste Index nicht 0 sein, dann haben wir einen einfachen Tipp für Sie.

Veranlassen Sie array() dazu, einen anderen Index zu verwenden, indem Sie die Syntax mit dem Operator => verwenden.

Beispiel

$personen = array( 1 => "Matthias", "Caroline", "Gülten");

Ausgabe

echo $personen[1];

Übrigens ist diese Anpassung des Index nicht nur auf die Zahl 1 beschränkt. Sie funktioniert mit jedem Integer Wert.

Beispiel

$personen = array( 10 => "Matthias", "Caroline", "Gülten");

Ausgabe

echo $personen[10];
echo $personen[11];
echo $personen[12];

Sie können den Operator auch mehrmals innerhalb eines Aufrufs einsetzen.

Beispiel

$personen = array( 10 => "Matthias", "Caroline", 17 => "Gülten");

Ausgabe

echo $personen[10];
echo $personen[11];
echo $personen[17];

In PHP ist es sogar möglich, negative Zahlen im array()-Aufruf zu verwenden.

Beispiel

$personen = array( -10 => "Matthias", "Caroline", 17 => "Gülten");

Ausgabe

echo $personen[-10];
echo $personen[0];
echo $personen[17];

Dies funktioniert sogar bei Zahlen, die keine Integer Werte sind. Technisch gesehen ist das, was Sie dann erhalten, ein assoziatives Array.

Hinweis: Sie haben jederzeit die Möglichkeit numerische und String-Schlüssel in einer array()-Definition zu vermischen, vor dem Gebrauch dieser Möglichkeit ist jedoch abstand zu halten, da dies zu Verwirrung und Fehlern führen kann.

Terminologie

Arrays löschen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Arrays löschen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Arrays löschen

Wenn Sie einem Array eine leere Zeichenkette zuweisen, wird es nicht gelöscht. Dabei gehen zwar sämtliche Einträge verloren, das Array selbst existiert jedoch immer noch. Um ein Array völlig zu löschen, verwenden Sie unset().

unset($personen);

Array leeren

Sie haben auch die Möglichkeit ein Array zu leeren, anstatt es zu löschen. Ein Array wird mit Hilfe von array() geleert.

$personen = array();

Arrays erzeugen

Mehrdimensionale Arrays

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Mehrdimensionale Arrays

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mehrdimensionale Arrays

Die Elemente eines Arrays können nicht nur Werte einfacher Datentypen (Zahlen, Strings, Boolesche Werte), sondern auch Objekte oder andere Arrays sein. Letzteres eröffnet einige interessante Möglichkeiten. Um Ihnen den Einstieg in mehrdimensionale Arrays zu erleichtern, sollten Sie sich folgendes Beispiel anschauen.

// Array Erzeugen
// Hinweis: das Array kunden enthält Elemente vom Typ Array
$kunden = array(
    array("Maier","Toni"),
    array("Müller","Fred"),
    array("Schmidt","Bernd")
);
// Wie kommen Sie nun an die Vornamen der Kunden heran?
echo $kunden[0][1];        // Ergebnis: Toni
echo $kunden[1][1];        // Ergebnis: Fred
echo $kunden[2][1];        // Ergebnis: Bernd

Was hierbei sicher auffällt, ist die besondere Struktur des Arrays $kunden. Es enthält wiederum Arrays. Jeder Kunde stellt ein eigenes Array dar, welches Elemente besitzt. Die Elemente der ungeordneten bzw. verschachtelten Arrays sind der Nachname und der Vorname des jeweiligen Kunden. Das Auslesen der Vornamen aus dem Array $kunden sollten Sie sich wie das Durchschauen von Akten vorstellen. In der ersten eckigen Klammer steht der Index des Arrays $kunden. Mit Hilfe des Index können Sie die einzelnen Akten einsehen. Im Beispiel haben Sie davon drei zur Auswahl. Die Akte des ersten Kunden trägt dabei den Index 0, da diese Akte im Array $kunden das erste Element symbolisiert. Sie haben nun die Akte!

In der zweiten eckigen Klammer steht der Index des untergeordneten Array (Akte). Mit Hilfe dieses Index können Sie die Elemente des untergeordneten Arrays abrufen. Es stehen sowohl der Nachname, das erste Element (Index 0), als auch der Vorname, das zweite Element (Index 1), zur Verfügung. Der Vorname des ersten Kunden trägt dabei den Index 1, da dieses Element im untergeordneten Array das zweite Element darstellt. Sie sind am Ziel! Um diese Arbeitsweise zu vertiefen, folgt ein weiteres Beispiel.

Fallbeispiel

Sie sollten sich die Sitzplätze eines Flugzeugs vorstellen. Stellen Sie sich 40 Sitzplätze verteilt auf 10 Reihen zu je 4 Sitzplätze vor. Ihre Aufgabe soll es nun sein, die Belegung dieser Sitzplätze in einem Programm zu verwalten und mit Hilfe von PHP umzusetzen. Hierbei bietet es sich an, die Plätze in Form eines Arrays zu verwalten.

Beispiel

// Array Erzeugen (leeres Array)
$sitze = array();

Dieser Ansatz erscheint auf den ersten Blick recht gut, nur gibt es ein Problem: Die Anordnung der Plätze ist jeweils in 10 Reihen zu je 4 Sitzplätze aufgeteilt. In dem Array $sitze haben Sie jedoch nur die Möglichkeit, die Elemente eindimensional anzuordnen, ohne zwischen Reihen und Sitzplätze pro Reihe zu unterscheiden. Sie merken dies vor allem dann, wenn jemand Platz 25 in Reihe 7 bucht und Sie dieses Element im Array auf true setzen wollen, true repräsentiert in diesem Fall belegt.

Geschickter ist es, jede einzelne Reihe als ein eigenes Array zu betrachten und das gesamte Flugzeug demnach als ein Array von zehn untergeordneten Array-Elementen anzusehen.

Beispiel

// For-Schleife (legt die untergeordneten Arrays fest)
for ($i = 0; $i < 10; $i++) {
    $sitze[$i] = array(0,0,0,0);
}

Wie Sie sehen, ist noch eine for-Schleife eingesetzt worden, um Ihnen das Eingeben der untergeordneten Arrays zu ersparen. Der nächste Schritt besteht darin, die Elemente für die einzelnen Sitzplätze auf false zu setzen, um anzuzeigen, dass sie nicht belegt sind. Dazu werden wir zwei verschachtelte for-Schleifen verwenden. Die äußere for-Schleife geht die Elemente im Array sitze durch, sprich die einzelnen Reihen. Die innere for-Schleife geht die einzelnen Plätze des aktuellen Reihen-Arrays durch. Auf die einzelnen Elemente greift man dann über zwei Indexangaben zu. Die erste bezeichnet die Reihe, die zweite den Platz in der Reihe.

Beispiel

// Zuweisung der Belegung (Ausgangsituation: false)
for ($reihe = 1; $reihe <= count($sitze); $reihe++) {
    for ($platz = 1; $platz <= count($sitze[$reihe-1]); $platz++) {
        $sitze[$reihe-1][$platz-1] = 0;
    }
}

Nun sollten Sie zur Probe einen Sitzplatz buchen, wie wäre es mit Sitzplatz 25 in Reihe 7 und anschließend wird die gesamte Belegung ausgegeben.

Beispiel

// Sitzplatz 25 (Reihe 7) belegen
$sitze[6][0] = "belegt";
// Ausgabe der Belegung im Ausgabefenster
for ($reihe = 1; $reihe <= count($sitze); $reihe++) {
    print_r($sitze[$reihe-1]);
}

Beispiel vollständig

<pre>
<?php
$sitze = array();
// For-Schleife (legt die untergeordneten Arrays fest)
for ($i = 0; $i < 10; $i++) {
    $sitze[$i] = array(0,0,0,0);
}

// Zuweisung der Belegung (Ausgangsituation: false)
for ($reihe = 1; $reihe <= count($sitze); $reihe++) {
    for ($platz = 1; $platz <= count($sitze[$reihe-1]); $platz++) {
        $sitze[$reihe-1][$platz-1] = 0;
    }
}

// Sitzplatz 25 (Reihe 7) belegen
$sitze[6][0] = "belegt";
// Ausgabe der Belegung im Ausgabefenster
for ($reihe = 1; $reihe <= count($sitze); $reihe++) {
    print_r($sitze[$reihe-1]);
}
?>
</pre>

Ausgabe

Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => belegt    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)
Array
([0] => 0    [1] => 0    [2] => 0    [3] => 0)

Hinweis: Das in diesem Fallbeispiel eingesetzt count() wird Ihnen im Abschnitt Arrayfunktionen noch näher erläutert.

Was Sie bisher gesehen haben waren mehrdimensionale lineare Arrays, sprich Array lediglich indizierte Arrays. Wie sieht es jedoch mit assoziativen Arrays aus? Hierzu sollten Sie sich folgendes Beispiel betrachten:

<?php
$personen = array(
            "P1" => array("Matthias","Kannengiesser"),
            "P2" => array("Caroline","Kannengiesser"),
            "P3" => array("Gülten","Kannengiesser"),
            "P4" => array("Toni","Schmidt")
            );
echo "Person 1: " . $personen["P1"][0] . " " . $personen["P1"][1];
?>

Ausgabe

Person 1: Matthias Kannengiesser

Wie sie sehen lässt sich das Prinzip der mehrdimensionalen Arrays auch auf assoziative Arrays anwenden, ja sogar eine Kombination aus indizierten und assoziativen Arrays lässt sich ohne weiteres darstellen.

Was die Ausgabe bzw. Verarbeitung der Array Element betrifft stehen Ihnen noch Alternativen in der Schreibweise zur Verfügung, hier einige Beispiele:

// Ohne Anführungszeichen
echo "Person 1: " . $personen[P1][0] . " " . $personen[P1][1];

// Mit einfachen Anführungszeichen
echo "Person 1: " . $personen['P1'][0] . " " . $personen['P1'][1];

// Mit doppelten Anführungszeichen
echo "Person 1: " . $personen["P1"][0] . " " . $personen["P1"][1];

Natürlich können Sie auch in diesen Fällen eine Schleife verwenden um die einzelnen Elemente des Arrays zu durchlaufen.

Beispiel

<?php
$personen = array(
            "P1" => array("Matthias","Kannengiesser"),
            "P2" => array("Caroline","Kannengiesser"),
            "P3" => array("Gülten","Kannengiesser"),
            "P4" => array("Toni","Schmidt")
            );
// Ohne Anführungszeichen
for ($i = 1; $i <= count($personen); $i++) {
    echo "Person $i: " . $personen[P.$i][0] . " " . $personen[P.$i][1] . "<br>";
}
// Mit einfachen Anführungszeichen
for ($i = 1; $i <= count($personen); $i++) {
    echo "Person $i: " . $personen['P'.$i][0] . " " . $personen['P'.$i][1] . "<br>";
}
// Mit doppelten Anführungszeichen
for ($i = 1; $i <= count($personen); $i++) {
    echo "Person $i: " . $personen["P".$i][0] . " " . $personen["P".$i][1] . "<br>";
}
?>

In sämtlichen Fällen erfolgt folgende Ausgabe:
Person 1: Matthias Kannengiesser
Person 2: Caroline Kannengiesser
Person 3: Gülten Kannengiesser
Person 4: Toni Schmidt

Sie könnten natürlich auch eine foreach-Schleife einsetzen um das Array zu durchlaufen.

<?php
$personen = array(
            "P1" => array("Matthias","Kannengiesser"),
            "P2" => array("Caroline","Kannengiesser"),
            "P3" => array("Gülten","Kannengiesser"),
            "P4" => array("Toni","Schmidt")
            );
// Mit foreach
foreach ($personen as $wert) {
    echo "Person: " . $wert[0]. " " . $wert[1] . "<br>";
}
?>

Ausgabe

Person: Matthias Kannengiesser
Person: Caroline Kannengiesser
Person: Gülten Kannengiesser
Person: Toni Schmidt

Wie Sie sehen stehen Ihnen zahlreiche Möglichkeiten zur Verfügung, aber wie heisst es so schön wer die Wahl hat, hat die Qual!

Arrays löschen

Arrayfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Arrayfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Arrayfunktionen

In PHP stehen Ihnen zahlreiche vordefinierte Arrayfunktionen zur Verfügung mit denen die Verarbeitung von Verwaltung von Arrays wesentlich erleichtert wird.

Funktionen für mehrer Elemente

Funktionen zur Navigation innerhalb eines Array und zum Zugriff auf einzelne Array-Elemente.

Sortierfunktionen

Bei der Arbeit mit Arrays und Ihren Elementen wird Ihnen sicher schnell die Frage in den Sinn kommen, ob es nicht auch Arrayfunktionen gibt die Ihnen beim Sortieren der Einträge behilflich sind und die Antwort auf diese Frage lautet: JA!
Sortiert werden kann in unterschiedlichen Sortierrichtungen, entweder nach den Werten der Elemente oder nach deren Schlüsseln.

Eine Auflistung der Array-Funktionen finden Sie in der SELFPHP-Funkrionsreferenz im Abschnitt Array-Funktionen unter www.selfphp.de/funktionsuebersicht/array_funktionen.php

Mehrdimensionale Arrays

Funktionen für mehrer Elemente

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Funktionen für mehrer Elemente

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Funktionen für mehrer Elemente

Einsatz von array_walk()

Oft werden Funktionen genutzt, um Elemente zu bearbeiten. Um nun eine Funktion, gleich ob intern oder selbst definiert, auf alle Elemente eines Arrays anzuwenden, verwenden Sie die Funktion array_walk().

Beispiel

<?php
$produkte = array (
            "a"=>"Gurke",
            "b"=>"Lauch",
            "c"=>"Brokoli",
            "d"=>"Kohl"
            );

function formatieren (&$item1, $key, $prefix) {
    $item1 = "$prefix: $item1";
}

function ausgeben ($item2, $key) {
    echo "$key. $item2<br>";
}

echo "Funktion ausgeben:<br>";
array_walk ($produkte, 'ausgeben');

array_walk ($produkte, 'formatieren', 'Gemüse');
echo "Nach der Formatierung:<br>";

array_walk ($produkte, 'ausgeben');
?>

Ausgabe

Funktion ausgeben:
a. Gurke
b. Lauch
c. Brokoli
d. Kohl
Nach der Formatierung:
a. Gemüse: Gurke
b. Gemüse: Lauch
c. Gemüse: Brokoli
d. Gemüse: Kohl

Die genaue Anzahl der Elemente des Array müssen Sie dazu nicht kennen. array_walk() arbeitet mit der ersten Dimension und übergibt jedes Element, egal ob Array oder nicht, an die aufgerufene Funktion. Theoretisch kann man hier erneut mit array_walk() arbeiten, um die nächste Dimension zu erreichen.

Hinweis: Sollte die Funktion, die array_wakl() aufruft, nicht vorhanden sein bzw. den Funktionsbezeichner falsch geschrieben haben, erfolgt keine Fehlermeldung. Achten Sie daher auf die korrekte Schreibweise.

Einsatz von count() / sizeof()

Um die Anzahl der Einträge eines Array heraus zu bekommen können Sie entweder count() oder sizeof() verwenden.

Beispiel

<?php
$produkte = array (
            "a"=>"Gurke",
            "b"=>"Lauch",
            "c"=>"Brokoli",
            "d"=>"Kohl"
            );

// Ausgabe (4)
echo count($produkte);
// Ausgabe (4)
echo sizeof($produkte);
?>

Einsatz von current() / pos()

Jedes Array hat einen internen Array-Zeiger, welcher auf sein "aktuelles" Element verweist. Um das aktuelle Element eines Array auszulesen stehen Ihnen die Funktionen current() und pos() zur Verfügung.

Beispiel

<?php
$produkte = array (
            "a"=>"Gurke",
            "b"=>"Lauch",
            "c"=>"Brokoli",
            "d"=>"Kohl"
            );

// Ausgabe (Gurke)
echo current($produkte);
// Ausgabe (Gurke)
echo pos($produkte);
?>

Einsatz von key()

Wie wäre es mit dem Schlüssel des aktuellen Elements. Hierfür steht Ihnen die Funktion key() zur Verfügung.

Beispiel

<?php
$produkte = array (
            "a"=>"Gurke",
            "b"=>"Lauch",
            "c"=>"Brokoli",
            "d"=>"Kohl"
            );

// Ausgabe (a)
echo key($produkte);
?>

Einsatz von list()

Mit Hilfe von list() übertragen Sie die Elemente eines Arrays auf einzelne Variablen. Dies erleichtert unter Umständen die Weiterverarbeitung.

Beispiel

<?php
$produkte = array (
            "Gurke",
            "Lauch",
            "Brokoli",
            "Kohl"
            );
list($produkta, $produktb, $produktc, $produktd) = $produkte;
// Ausgabe - Gurke
echo $produkta;
// Ausgabe - Kohl
echo $produktd;
?>

Einsatz von each()

Mit Hilfe der Funktion each() haben Sie eine ideale Ergänzung zu list(). Hiermit wird ein komplettes Schlüssel-/Wertepaar an ein eindimensionales Array übergeben. Um genau zu sein, werden vier Werte übergeben, die den Schlüsseln 0,1,key und value entsprechen.

Beispiel

<?php
$personen = array (
            "P1"=> "Matthias",
            "P2"=> "Caroline",
            "P3"=> "Gülten",
            "P4"=> "Toni"
            );
$person = each($personen);

echo $person . "<br>";
echo "0: " . $person["0"] . "<br>";
echo "1: " . $person["1"] . "<br>";
echo "key: " . $person["key"] . "<br>";
echo "value: " . $person["value"] . "<br>";
?>

Ausgabe

Array
0: P1
1: Matthias
key: P1
value: Matthias

Hinweis: Sämtliche assoziativen Arrays verfügen über diese Eigenschaften. Die numerischen Schlüssel als auch key und value sind von Anfang an vorhanden und werden nicht erst durch each() erzeugt.

Kombination von each() und list()

In Kombination mit list() lassen sich so auch komplexe Arrays sehr leicht in ihre Bestandteile zerlegen, die Ausgabe von each() wird hierbei direkt in list() übergeben. Sehr häufig wird hierbei eine while-Schleife mit einbezogen. Sobald each() keine weiteren Elemente vorfindet, wird FALSE zurückgegeben und die Schleife beendet. Der interne Array-Zeiger wird übrigens automatisch durch each() weitergesetzt.

Beispiel

<?php
$personen = array (
            "P1"=> array("Matthias","Kannengiesser"),
            "P2"=> array("Caroline","Kannengiesser"),
            "P3"=> array("Gülten","Kannengiesser"),
            "P4"=> array("Toni","Schmidt")
            );
while (list ($key, $val) = each ($personen)) {
    echo "$key => $val[0] $val[1]<br>";
}
?>

Ausgabe

P1 => Matthias Kannengiesser
P2 => Caroline Kannengiesser
P3 => Gülten Kannengiesser
P4 => Toni Schmidt

Einsatz von prev() und next()

Sollten Sie each() mehrfach anwenden, werden nacheinander sämtliche Elemente das Array ausgegeben. Der interne Array-Zeiger, der auf das aktuelle Element des Arrays zeigt, wandert im Array weiter. Dies ist unter Umständen nicht erwünscht. Sie können daher mit den Funktionen prev() und next() den Zeiger vor und zurück setzen.

Beispiel

<?php
$personen = array (
            "Matthias",
            "Caroline",
            "Gülten",
            "Toni"
            );
// Ausgabe - Caroline
echo next($personen);
// Ausgabe - Gülten
echo next($personen);
// Ausgabe - Caroline
echo prev($personen);
?>

Einsatz von reset() und end()

Um einen definierten Ausgangspunkt für den internen Array-Zeiger zu erhalten, stehen Ihnen die Funktion reset() und end() zur Verfügung. Mit reset() wird der Zeiger auf den ersten Eintrag des Arrays gesetzt und mit end() auf den letzten.

Beispiel

<?php
$personen = array (
            "Matthias",
            "Caroline",
            "Gülten",
            "Toni"
            );
// Ausgabe - Toni
echo end($personen);
// Ausgabe - Matthias
echo reset($personen);
?>

Arrayfunktionen

Sortierfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Sortierfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Sortierfunktionen

Zu einer effizienten Datenverarbeitung gehören natürlich auch spezielle Funktionen die es Ihnen ermöglichen Ihre Daten zu sortieren. Hierfür stellt Ihnen PHP eine mehr als ausreichende Anzahl von Funktionen zur Verfügung.

Einsatz von sort() und rsort()

Diese beiden Funktionen ermöglichen es Ihnen, Ihre indizierten bzw. linearen Arrays auf einfach Art und Weise zu sortieren.
. Die Funktion sort() sortiert ein Array aufsteigend unter Beibehaltung der Zuordnung der Indizes, sort.
. Die Funktion rsort() sortiert ein Array absteigend unter Beibehaltung der Zuordnung der Indizes, reverse sort.

Beispiel - sort()

<?php
$personen = array (
            "Matthias",
            "Caroline",
            "Gülten",
            "Toni"
            );
sort ($personen);
reset ($personen);
// Ausgabe - Schlüssel und Werte
while (list ($key, $val) = each ($personen)) {
    echo "$key $val<br>";
}
?>

Ausgabe

0 Caroline
1 Gülten
2 Matthias
3 Toni

Beispiel - rsort()

<?php
$personen = array (
            "Matthias",
            "Caroline",
            "Gülten",
            "Toni"
            );
rsort ($personen);
reset ($personen);
// Ausgabe - Schlüssel und Werte
while (list ($key, $val) = each ($personen)) {
    echo "$key $val<br>";
}
?>

Ausgabe

0 Toni
1 Matthias
2 Gülten
3 Caroline

Der optionale zweite Parameter sort_flags kann benutzt werden, um das Sortierverhalten mit den folgenden Flags zu beeinflussen.

Flags für Sortiertypen:
. SORT_REGULAR - Vergleiche Einträge normal
. SORT_NUMERIC - Vergleiche Einträge numerisch
. SORT_STRING - Vergleiche Einträge als Strings

Einsatz von asort() und arsort()

Diese beiden Funktionen ermöglichen es Ihnen, Ihre assoziativen Arrays auf einfach Art und Weise zu sortieren.
. Die Funktion asort() sortiert ein Array vorwärts unter Beibehaltung der Zuordnung der Indizes, associative sort.
. Die Funktion arsort() sortiert ein Array rückwärts unter Beibehaltung der Zuordnung der Indizes, associative reverse sort.

Beispiel - asort()

<?php
$personen = array (
            "P1"=>"Matthias",
            "P2"=>"Caroline",
            "P3"=>"Gülten",
            "P4"=>"Toni"
            );
asort ($personen);
reset ($personen);
// Ausgabe - Schlüssel und Werte
while (list ($key, $val) = each ($personen)) {
    echo "$key $val<br>";
}
?>

Ausgabe

P2 Caroline
P3 Gülten
P1 Matthias
P4 Toni

Beispiel - arsort()

<?php
$personen = array (
            "P1"=>"Matthias",
            "P2"=>"Caroline",
            "P3"=>"Gülten",
            "P4"=>"Toni"
            );
arsort ($personen);
reset ($personen);
// Ausgabe - Schlüssel und Werte
while (list ($key, $val) = each ($personen)) {
    echo "$key $val<br>";
}
?>

Ausgabe

P4 Toni
P1 Matthias
P3 Gülten
P2 Caroline

Der optionale zweite Parameter sort_flags kann benutzt werden, um das Sortierverhalten mit den folgenden Flags zu beeinflussen.

Flags für Sortiertypen:
. SORT_REGULAR - Vergleiche Einträge normal
. SORT_NUMERIC - Vergleiche Einträge numerisch
. SORT_STRING - Vergleiche Einträge als Strings

Einsatz von ksort()

Sollten Sie das Array wieder in die ursprüngliche Reihenfolge bringen wollen, wenden Sie ksort() an. Die Funktionen sortiert aufsteigend nach den Schlüsseln.

Beispiel

<?php
$personen = array (
            "P1"=>"Matthias",
            "P2"=>"Caroline",
            "P3"=>"Gülten",
            "P4"=>"Toni"
            );
arsort ($personen);
reset ($personen);
// Ausgabe - Schlüssel und Werte
while (list ($key, $val) = each ($personen)) {
    echo "$key $val<br>";
}
ksort ($personen);
reset ($personen);
// Ausgabe - Schlüssel und Werte
while (list ($key, $val) = each ($personen)) {
    echo "$key $val<br>";
}
?>

Ausgabe
P4 Toni
P1 Matthias
P3 Gülten
P2 Caroline

P1 Matthias
P2 Caroline
P3 Gülten
P4 Toni

Einsatz von usort(), uasort() und uksort()

Sollten Sie Ihre eigenen Vorstellung eines sortierten Arrays haben, können Sie die Funktionen usort(), uasort() und uksort() einsetzen. Gegenüber den bereits beschriebenen Variationen können Sie als zusätzlichen Parameter eine Funktion übergeben, die bestimmte Sortiermerkmale festlegt. Die Funktion muss den Sortiervorgang nach folgendem Schema - durch Rückgabe eines bestimmten Code, steuern:
. 0 - Zwei miteinander verglichene Werte sind gleich.
. 1 - Der zweite Parameter ist grösser als der erste.
. -1 - Der erste Parameter ist grösser als der zweite.

Entsprechend interpretiert PHP beim Sortiervorgang dies als Einordnungskriterium.

Beispiel - aufsteigend

<?php
$personen = array (
            "ma"=>"Matthias",
            "ca"=>"Caroline",
            "gü"=>"Gülten",
            "to"=>"Toni",
            "mi"=>"Maria",
            "do"=>"Doro"
            );
function vergleich($a, $b) {
    if ($a == $b) return 0;
    elseif ($a > $b) return 1;
    else return -1;
}
uksort($personen, vergleich);
// Ausgabe
foreach($personen as $key=>$element) {
    echo "$key: $element<br>";
}
?>

Ausgabe

ca: Caroline
do: Doro
gü: Gülten
ma: Matthias
mi: Maria
to: Toni

Beispiel - absteigend

<?php
$personen = array (
            "ma"=>"Matthias",
            "ca"=>"Caroline",
            "gü"=>"Gülten",
            "to"=>"Toni",
            "mi"=>"Maria",
            "do"=>"Doro"
            );
function vergleich($a, $b) {
    if ($a == $b) return 0;
    elseif ($a > $b) return -1;
    else return 1;
}
uksort($personen, vergleich);
// Ausgabe
foreach($personen as $key=>$element) {
    echo "$key: $element<br>";
}
?>

Ausgabe

to: Toni
mi: Maria
ma: Matthias
gü: Gülten
do: Doro
ca: Caroline

Funktionen für mehrer Elemente

Sonstige Arrayfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Sonstige Arrayfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Sonstige Arrayfunktionen

Es stehen Ihnen noch eine Reihe weiterer Funktionen zur Verfügung.

Einsatz von extract()

Diese Funktion wird verwendet, um Variablen eines Arrays in die aktuelle Symboltabelle zu importieren. Es behandelt die Schlüssel eines assoziativen Arrays als Variablennamen, und die Werte als Variablenwerte.

Hinweis: Seit Version 4.0.5 gibt diese Funktion die Anzahl der extrahierten Variablen zurück.

Beispiel

<?php
$objekte = array (
                "auto"   => "gross",
                "miete" => 1000,
                "dreieck"    => "grün"
                );
// Ausgabe (3)
echo extract ($objekte);
// Ausgabe - gross, 1000, grün
print "$auto, $miete, $dreieck";
?>

Zusatz

extract() prüft jeden Schlüssel, ob dieser einen gültigen Variablennamen ergibt, und auch auf eventuelle Kollisionen mit existierenden Variablen in der Symboltabelle. Die Art, wie ungültige/numerische Schlüssel und Kollisionen behandelt werden, wird mit Hilfe des optionalen Parameters extract_type spezifiziert. Dieser kann einen der folgenden Werte annehmen:
EXTR_OVERWRITE
Im Falle einer Kollision wird die existierende Variable überschrieben.
EXTR_SKIP
Im Falle einer Kollision wird die existierende Variable nicht überschrieben.
EXTR_PREFIX_SAME
Im Falle einer Kollision wird dem Variablennamen prefix vorangestellt.
EXTR_PREFIX_ALL
Allen Variablennamen wird prefix vorangestellt. Seit PHP 4.0.5 gilt dies auch für numerische Variablen.
EXTR_PREFIX_INVALID
Nur ungültigen/numerischen Variablennamen wird prefix vorangestellt. Dieser Flag wurde mit PHP 4.0.5 eingeführt.
EXTR_IF_EXISTS
Überschreibt die Variable nur, wenn sie bereits in der aktuellen Symboltabelle existiert, sonst geschieht nichts. Dies ist dann hilfreich, wenn Sie eine Liste mit gültigen Variablen definieren, und dann z.B. nur jene Variablen extrahieren, welche Sie aus $_REQUEST definiert haben. Dieser Flag wurde in PHP 4.2.0 eingeführt.
EXTR_PREFIX_IF_EXISTS
Erstellt nur Variablennamen mit Präfix, wenn die Version ohne Präfix der selben Variable in der aktuellen Symboltabelle existiert. Dieser Flag wurde in PHP 4.2.0 eingeführt.
EXTR_REFS
Extrahiert Variablen als Referenzen. Das heißt, dass die Werte der importierten Variablen noch immer auf die Werte des Parameters var_array referenzieren. Sie können diesen Flag alleine oder auch in Kombination mit einem anderen Flag verwenden, indem Sie Oder-Verknüpfungen im extract_type erstellen. Dieser Flag wurde in PHP 4.3.0 eingeführt.
Ist extract_type nicht spezifiziert, so wird EXTR_OVERWRITE verwendet.

Einsatz von range()

Mit Hilfe von range() können Sie ein Array mit Ganzzahlen aus einem vorgegebenen Wertebereich auffüllen.

Beispiel
<?php
$zahlen = range(1,10);
// Ausgabe - 12345678910
foreach($zahlen as $element) {
    echo "$element";
}
?>

Seit PHP 5 steht Ihnen noch der optionale Parameter step, für die Schrittweite zur Verfügung.

Beispiel

<?php
// Entspricht
// Array(0,20,40,60,80,100)
$zahlen = range(0,100,20);
// Ausgabe - 0 20 40 60 80 100
foreach($zahlen as $number) {
    echo "$number<br>";
}
?>

Einsatz von shuffle()

Mit Hilfe der Funktion shuffle() können Sie, wie das folgende Beispiel zeigt, ein Array zufallsgesteuert in Unordnung bringen.

Beispiel

<?php
$personen = array (
            "ma"=>"Matthias",
            "ca"=>"Caroline",
            "gü"=>"Gülten",
            "to"=>"Toni",
            "mi"=>"Maria",
            "do"=>"Doro"
            );
shuffle($personen);
foreach($personen as $key=>$element) {
    echo "$key: $element<br>";
}
?>

Ausgabe

0: Caroline
1: Matthias
2: Doro
3: Toni
4: Gülten
5: Maria

Hinweis: Eventuell vorhandene assoziative Indizes gehen hierbei verloren.

Sortierfunktionen

Neue Arrayfunktionen seit PHP4

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Neue Arrayfunktionen seit PHP4

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Neue Arrayfunktionen seit PHP4

Wie Sie bereits im Abschnitt Arrayfunktionen erfahren haben stellt Ihnen PHP4 eine Reihe neuer Arrayfunktionen zur Verfügung. Wir werden uns einige dieser neue Funktionen näher betrachten und Ihre Funktionsweise vorstellen.

Einsatz von array_unshift()

Mit Hilfe der Funktion array_unshift() haben Sie die Möglichkeit einzelne Elemente am Anfang eines Arrays einzufügen.

Beispiel

<?php
$zahlen = array(10,20,30,40,50);
array_unshift($zahlen,"a","b","c");

foreach ($zahlen as $element) {
    echo "$element ";
}
?>

Ausgabe

a b c 10 20 30 40 50

Einsatz von array_push()

Die Funktion array_push() fügt ein oder mehrere Elemente an das Ende eines Arrays an.

Beispiel

<pre>
<?php
$werte = array('wagen', 'punkt', 'mutter');
$resultat = array_push($werte,"mama","papa");
print_r($werte);
echo $resultat;
?>
</pre>

Ausgabe

Array
(
    [0] => wagen
    [1] => punkt
    [2] => mutter
    [3] => mama
    [4] => papa
)
5

Einsatz von array_shift()

Die Methode array_shift() entfernt das erste Element eines Arrays.

Beispiel

<pre>
<?php
$werte = array('wagen', 'punkt', 'mutter');
$resultat = array_shift($werte);
print_r($werte);
echo $resultat;
?>
</pre>

Ausgabe

Array
(
    [0] => punkt
    [1] => mutter
)
wagen

Einsatz von array_pop()

Die Methode array_pop() entfernt das letzte Element eines Arrays.

Beispiel

<pre>
<?php
$werte = array('wagen', 'punkt', 'mutter');
$resultat = array_pop($werte);
print_r($werte);
echo $resultat;
?>
</pre>

Ausgabe

Array
(
    [0] => wagen
    [1] => punkt
)
mutter

Einsatz von array_splice()

Die Funktion array_splice() eignet sich hervorragend um Elemente aus einem Array zu entfernen und diese durch andere Elemente eines Arrays zu ersetzen. Hierbei haben Sie die Möglichkeit an welcher Position im Array dieser Eingriff durchgeführt werden soll.

Beispiel

<?php
$zahlen = array(10,20,30,40,50);
$buchstaben = array("a","b","c");

// $resultat = array_splice($array1, postion, anzahl, $array2);
$resultat = array_splice($zahlen, 2, 2,$buchstaben);

foreach ($zahlen as $element) {
    echo "$element ";
}
foreach ($resultat as $element) {
    echo "$element ";
}
?>

Ausgabe

10 20 a b c 50
30 40

Die ersetzten Element werden in dem Array $resultat abgelegt. Für die Angabe der Position eines Array-Elements gilt es immer zu beachten, dass das erste Array-Element die Position 0 besitzt.

Einsatz von array_reverse()

Die Methode array_reverse() kehrt die Reihenfolge der Array-Elemente im Array selbst um. Ist der optionale zweite Parameter preserve_keys TRUE, bleibt die Reihenfolge der Schlüssel erhalten.

Beispiel

<pre>
<?php
$werte = array('wagen', 'punkt', 'mutter');
$resultat = array_reverse($werte);
print_r($resultat);
$resultat = array_reverse($werte,true);
print_r($resultat);
?>
</pre>

Ausgabe

Array
(
    [0] => mutter
    [1] => punkt
    [2] => wagen
)
Array
(
    [2] => mutter
    [1] => punkt
    [0] => wagen
)

Einsatz von array_keys()

Wie unter Verwendung der Funktion array_keys() die Schlüssel eines Array einem anderen Array zugewiesen werden können, sehen Sie im folgenden Beispiel:

<pre>
<?php
$array1 = array ("Zahl" => 100, "Farbe" => "rot");
print_r(array_keys ($array1));

$array2 = array ("Wert" => 100, "Eintrag" => "rot");
$array2 = array_keys($array1);
print_r($array2);
?>

Ausgabe

Array
(
    [0] => Zahl
    [1] => Farbe
)
Array
(
    [0] => Zahl
    [1] => Farbe
)

Ist der optionale Parameter search_value angegeben, werden nur die Schlüssel für diesen Wert zurückgegeben. Andernfalls werden sämtliche Schlüssel zurückgegeben.

Beispiel

<pre>
<?php
$array1 = array ("Zahl" => 100, "Farbe" => "rot");
print_r(array_keys ($array1));

$array2 = array ("Wert" => 100, "Eintrag" => "rot");
$array2 = array_keys($array1,"rot");
print_r($array2);
?>
</pre>

Ausgabe

Array
(
    [0] => Zahl
    [1] => Farbe
)
Array
(
    [0] => Farbe
)

Einsatz von array_map()
Mit Hilfe von array_map() wird eine Funktion, sog. callback function, auf das vorhandene Array angewandt. Die Anzahl der Parameter, welche die callback-Funktion zu lässt, sollte der Anzahl der an array_map() übergebenen Arrays entsprechen.

Beispiel

<pre>
<?php
function multiplizieren($n) {
    return $n*$n;
}

$zahlen = array(1, 2, 3, 4, 5);
$multzahlen = array_map("multiplizieren", $zahlen);
print_r($multzahlen);
print_r($zahlen);
?>
</pre>

Ausgabe

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Wie man sieht bleiben die Elemente des Ursprünglichen Arrays erhalten!

Natürlich lassen sich mit array_map() auch mehrere Arrays verarbeiten. Hierzu müssen Sie lediglich berücksichtigen, dass die Anzahl Ihrer Funktionsparameter mit der Anzahl der übergebenen Arrays übereinstimmt.

Beispiel

<pre>
<?php
function verbinden($n, $m) {
    return array ($n => $m);
}

$vok_de = array("auto", "bus", "motorrad", "fahrrad");
$vok_en = array("car", "bus", "motorcycle", "bicycle");

$vokabelheft = array_map("verbinden", $vok_de, $vok_en);
print_r($vokabelheft);
?>
</pre>

Ausgabe

Array
(
    [0] => Array
        (
            [auto] => car
        )

    [1] => Array
        (
            [bus] => bus
        )

    [2] => Array
        (
            [motorrad] => motorcycle
        )

    [3] => Array
        (
            [fahrrad] => bicycle
        )

)

oder wie wäre es hiermit:

<pre>
<?php
function zeige_vokabeln($n, $m) {
    return "Vokabeln (Deutsch/Englisch): $n / $m";
}

$vok_de = array("auto", "bus", "motorrad", "fahrrad");
$vok_en = array("car", "bus", "motorcycle", "bicycle");

$vokabelheft = array_map("zeige_vokabeln", $vok_de, $vok_en);
print_r($vokabelheft);
?>
</pre>

Ausgabe

Array
(
    [0] => Vokabeln (Deutsch/Englisch): auto / car
    [1] => Vokabeln (Deutsch/Englisch): bus / bus
    [2] => Vokabeln (Deutsch/Englisch): motorrad / motorcycle
    [3] => Vokabeln (Deutsch/Englisch): fahrrad / bicycle
)

Bei Verwendung von zwei oder mehr Arrays sollten diese möglichst die gleiche Länge besitzen, da die callback-Funktion parallel auf die entsprechenden Elemente angewandt wird. Haben die Arrays unterschiedliche Längen, wird das kürzeste um leere Elemente erweitert.

Eine weitere interessante Anwendung dieser Funktion ist die Konstruktion eines Arrays bestehend aus Arrays, was mit NULL als Name der callback-Funktion leicht realisiert werden kann.

Beispiel

<pre>
<?php
$vok_de = array("auto", "bus", "motorrad", "fahrrad");
$vok_en = array("car", "bus", "motorcycle", "bicycle");
$vok_fr = array("voiture", "autobus", "motocyclette", "bicyclette");

$vokabelheft = array_map(null, $vok_de, $vok_en, $vok_fr);
print_r($vokabelheft);
?>
</pre>

Ausgabe

Array
(
    [0] => Array
        (
            [0] => auto
            [1] => car
            [2] => voiture
        )

    [1] => Array
        (
            [0] => bus
            [1] => bus
            [2] => autobus
        )

    [2] => Array
        (
            [0] => motorrad
            [1] => motorcycle
            [2] => motocyclette
        )

    [3] => Array
        (
            [0] => fahrrad
            [1] => bicycle
            [2] => bicyclette
        )
)

Einsatz von array_merge()

Was halten Sie davon zwei oder mehr Arrays miteinander zu verbinden. Hierfür steht Ihnen die Funktion array_merge() zur Verfügung.

Beispiel

<pre>
<?php
$vok_de = array("auto", "bus", "motorrad");
$vok_fr = array(
            "W1"=>"voiture",
            "W2"=>"autobus",
            "W3"=>"motocyclette"
            );
$vok_en = array("car", "bus", "motorcycle");

$worte = array_merge ($vok_de, $vok_fr, $vok_en);
print_r($worte);
?>
</pre>

Ausgabe

Array
(
    [0] => auto
    [1] => bus
    [2] => motorrad
    [W1] => voiture
    [W2] => autobus
    [W3] => motocyclette
    [3] => car
    [4] => bus
    [5] => motorcycle
)

Einsatz von array_pad()

Mit Hilfe der Funktion array_pad() kann ein Array um eine beliebige Anzahl von Elementen erweitert werden und entweder am Anfang, oder am Ende mit einem angegebenen Wert, z.B. einem *, aufgefüllt werden.

Beispiel

<?php
$werte = array(10,20,30,40,50);
$anfang = array_pad($werte,-10,'*');
$ende = array_pad($werte,10,'*');
foreach ($anfang as $element) {
    echo "$element ";
}
echo "<br>";
foreach ($ende as $element) {
    echo "$element ";
}
?>

Ausgabe

* * * * * 10 20 30 40 50
10 20 30 40 50 * * * * *

Einsatz von array_slice()

Die Funktion array_slice() gibt aus einem Array eine angegebene Anzahl von Elemente, die ab einer Position gefunden werden, an ein zweites Array zurück. Ist die Positionsangabe positiv, beginnt die Sequenz vom Anfang des Arrays, ansonsten vom Ende des Arrays.

Beispiel

<?php
$werte = array(10,20,30,40,50);
$vomanfang = array_slice($werte,2,2);
$vomende = array_slice($werte,-2,2);
foreach ($vomanfang as $element) {
    echo "$element ";
}
echo "<br>";
foreach ($vomende as $element) {
    echo "$element ";
}
?>

Ausgabe

30 40
40 50

Sollten Sie folgendes einsetzen:

$resultat1 = array_slice($werte,0,2);
$ resultat1 = array_slice($werte,2);

Erhalten Sie folgende Ausgabe:

10 20
30 40 50

Einsatz von array_values()

Mit Hilfe der Funktion array_values() können Sie auf einfache Weise sämtliche Werte eines assoziativen Arrays ermitteln.

Beispiel

<?php
$personen = array(
            "P1"=>"Matthias",
            "P2"=>"Caroline",
            "PX"=>"Gülten"
            );
$resultat = array_values($personen);
foreach ($resultat as $element) {
    echo "$element ";
}
?>

Ausgabe

Matthias Caroline Gülten

Einsatz von in_array()

Mit Hilfe der Funktion in_array() kann ein Array nach einem bestimmten Wert durchsucht werden. Die Funktion liefert hierbei den Wahrheitswert TRUE zurück, wenn der gesuchte Wert gefunden wurde.

Beispiel

<?php
$personen = array(
            "P1"=>"Matthias",
            "P2"=>"Caroline",
            "PX"=>"Gülten"
            );
if (in_array("Caroline",$personen)) {
    echo "Gefunden";
} else {
    echo "Nicht gefunden";
}
?>

Ausgabe

Gefunden

Einsatz von compact()

Die Funktion compact() übergibt die Namen von Variablen als Indizes und deren Werte als zugehörige Elemente in ein Array. So lassen sich auf einfache Weise Variablen in ein assoziatives Array überführen.

Beispiel

<?php
$p1 = "Matthias";
$p2 = "Caroline";
$px = "Gülten";
$personen = compact("p1","p2","px");
foreach ($personen as $key=>$element) {
    echo "$key=>$element<br>";
}
?>

Ausgabe

p1=>Matthias
p2=>Caroline
px=>Gülten

Einsatz von array_combine()

Die Funktion array_combine() erzeugt ein Array mit Hilfe eines Arrays, welches die Schlüssel vorgibt und einem Array, welches die Werte vorgibt. Die Funktion steht Ihnen erst ab PHP 5 zur Verfügung.

Beispiel

<pre>
<?php
$groessen = array('klein', 'mittel', 'gross');
$werte = array('wagen', 'punkt', 'mutter');
$resultat = array_combine($groessen, $werte);
print_r($resultat);
?>
</pre>

Ausgabe

Array
(
    [klein] => wagen
    [mittel] => punkt
    [gross] => mutter
)

Achtung: Die Anzahl der Elemente beider Arrays muss übereinstimmen, sonst wird FALSE zurückgegeben.

Einsat von array_chunk()
Mit Hilfe der Funktion array_chunk() teilen Sie ein Array in einzelne Arrays auf, welche eine von Ihnen festgelegte Anzahl von Werten besitzen. Am Ende kann auch ein Array mit weniger Werten erzeugt werden. Die Arrays werden als Teile eines mehrdimensionalen Arrays erzeugt, welches numerisch indiziert ist. Sie können PHP dazu zwingen, die originalen Schlüssel des Arrays beizubehalten, indem Sie den optionalen dritten Parameter preserve_keys auf TRUE setzen. Geben Sie FALSE an, werden in jedem erzeugten Array neue numerische Indizes erzeugt, welche bei 0 beginnen, default ist FALSE.

Beispiel

<pre>
<?php
$werte = array('wagen', 'punkt', 'mutter');
print_r(array_chunk($werte, 2));
print_r(array_chunk($werte, 2, TRUE));
?>
</pre>

Ausgabe

Array
(
    [0] => Array
        (
            [0] => wagen
            [1] => punkt
        )

    [1] => Array
        (
            [0] => mutter
        )
)

Array
(
    [0] => Array
        (
            [0] => wagen
            [1] => punkt
        )

    [1] => Array
        (
            [2] => mutter
        )
)

Einsatz von array_multisort()

Mit Hilfe von array_multisort() werden mehrere indizierte oder multidimensionale Arrays auf einmal sortiert. Bei der Sortierung werden die Schlüsselassoziationen beibehalten.

Die Struktur der Argumente ist etwas ungewöhnlich, aber flexibel. Das aller erste Argument muss ein Array sein. Die nachfolgenden Argumente können entweder ein Array oder eines der folgenden Sortierflags sein.

Flags für Sortierreihenfolge:
. SORT_ASC - sortiere in aufsteigender Reihenfolge
. SORT_DESC - sortiere in absteigender Reihenfolge

Flags für Sortiertypen:
. SORT_REGULAR - vergleiche Felder normal
. SORT_NUMERIC - vergleiche Felder numerisch
. SORT_STRING - vergleiche Felder als Strings

Hinweis: Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.

Beispiel - sortieren mehrerer Arrays

<pre>
<?php
$werte1 = array ("10", 100, 100, "a");
$werte2 = array (1, 3, "2", 1);
array_multisort ($werte1, $werte2);
print_r($werte1);
print_r($werte2);
?>
</pre>

Ausgabe

Array
(
    [0] => 10
    [1] => a
    [2] => 100
    [3] => 100
)
Array
(
    [0] => 1
    [1] => 1
    [2] => 2
    [3] => 3
)

Beispiel - sortieren eines mehrdimensionalen Arrays

<pre>
<?php
$werte = array (
    array ("10", 100, 100, "a"),
    array (1, 3, "2", 1)
);
array_multisort ($werte[0], SORT_ASC, SORT_STRING,
                 $werte[1], SORT_DESC, SORT_NUMERIC);
print_r($werte);
?>
</pre>

Ausgabe

Array
(
    [0] => Array
        (
            [0] => 10
            [1] => 100
            [2] => 100
            [3] => a
        )

    [1] => Array
        (
            [0] => 1
            [1] => 3
            [2] => 2
            [3] => 1
        )
)

Einsatz von array_rand()

Mit Hilfe der Funktion array_rand() erhalten Sie einen oder mehrere zufällige Einträge eines Arrays. Die Funktion übernimmt das Array, und ein optionales Argument num_req, welches die gewünschte Anzahl Einträge spezifiziert. Ist num_req nicht angegeben, wird Default auf 1 gesetzt.

Beispiel

<pre>
<?php
$personen = array (
            "Matthias",
            "Caroline",
            "Gülten",
            "Toni",
            "Saban"
        );
$rand_keys = array_rand ($personen, 2);
print $personen[$rand_keys[0]] . "<br>";
print $personen[$rand_keys[1]] . "<br>";;
?>
</pre>

Ausgabe

Caroline
Toni

Sie haben bereits nahezu sämtliche Arrayfunktionen kennen gelernt. Es warten jedoch noch mehr auf Sie! Wie Sie sicher bereits bemerkt haben, sind Arrays ein recht interessantes Thema und wie bereits erwähnt, können sie ihnen die Arbeit an Ihren Programmen vereinfachen, vor allem dort, wo es eine Vielzahl von Daten zu bearbeiten bzw. verwalten gilt. Dies ist besonders heute im Zeitalter der Datenbanken einer der Schwerpunkte!

Einsatz von array_search()

Mit Hilfe der Funktion array_search() erhalten Sie entweder den gefunden Schlüssel oder FALSE zurück. Zusätzlich liefert die Funktion die Position des gesuchten Elements.

Beispiel

<?php
$personen = array("Matthias", "Caroline", "Gülten");
$suchwort = "Caroline";
$position = array_search($suchwort,$personen);

if ($position !== false) {
    echo "$suchwort liegt auf Position $position";
} else {
    echo "Person $suchwort nicht enthalten";
}
?>

Ausgabe

Caroline liegt auf Position 1

Bitte achten Sie darauf den Vergleich mit !== durchzuführen, sollte Ihr gesuchtes Element im Array an der Position 0 gefunden werden, ergibt die if-Anweisung ein logisches FALSE, und dies würde zu einem falschen Resultat führen.

Beispiel

<?php
$personen = array("Matthias", "Caroline", "Gülten");
$suchwort = "Matthias";
$position = array_search($suchwort,$personen);
if ($position != false) {
    echo "$suchwort liegt auf Position $position";
} else {
    echo "Person $suchwort nicht enthalten";
}
?>

Ausgabe

Person Matthias nicht enthalten

Doppelgänger aus einem Array entfernen

Sie haben ein Array und würden gerne Duplikate entfernen, dann sollten Sie sich der Funktion array_unique() zu wenden. Diese Funktion gibt ein neues Array zurück, welches keine doppelten Werte enthält.

Beispiel

<pre>
<?php
$zahlen = array(10,1,10,20,30,10,5);
$neuesarray = array_unique($zahlen);
print_r($neuesarray);
?>
</pre>

Ausgabe

Array
(
    [0] => 10
    [1] => 1
    [3] => 20
    [4] => 30
    [6] => 5
)

Hinweis: Wie Sie sehen bleiben die Indizes erhalten.

Kleinstes und Grösstes Array-Element ausgeben

Sollten Sie das Kleinste und das Grösste Element eines Array ermitteln wollen, können Sie hierfür die Funktionen min() und max() verwenden. Dies ist vor allem bei Zeittafeln oder kronlogischen Abfolgen äusserst wichtig.

Beispiel - max()

<?php
$personen = array("Matthias", "Caroline", "Gülten");
// Ausgabe - Caroline
echo $kleinstes = min($personen);
?>

Beispiel - min()

<?php
$personen = array("Matthias", "Caroline", "Gülten");
// Ausgabe - Matthias
echo $groesstes = max($personen);
?>

Array in eine Zeichenkette umwandeln

Sie haben ein Array, welches Sie in eine Zeichenkette (String) umwandeln wollen. Nur die Frage, die sich hierbei stellt lautet: Wie? - Hierfür könnten Sie z.B. eine foreach-Schleife verwenden.

Beispiel

<?php
$personen = array("matthias", "caroline", "gülten");
foreach ($personen as $element) {
 $zeichen .= $element;
}
// Ausgabe - matthiascarolinegülten
echo $zeichen;
?>

Wie wir sehen hat dies recht gut funktioniert. Ein Problem gibt es jedoch, wie kommen wir an die einzelnen Bestandteile der Zeichenkette heran. Die aktuelle vorliegende Variablen $zeichen enthält eine zusammenhängende Zeichenkette, in der wir keine Unterscheidungsmöglichkeit haben, wann welcher Teilstring beginnt und wann dieser endet. In diesem Fall könnten wir unsere Schleife optimieren, in dem wir ein Trennzeichen hinzufügen.

Beispiel

<?php
$personen = array("matthias", "caroline", "gülten");
foreach ($personen as $element) {
 $zeichen .= ",$element";
}
// Ausgabe - ,matthias,caroline,gülten
echo $zeichen;
// Führendes Trennzeichen entfernen
// Ausgabe - matthias,caroline,gülten
echo $zeichen = substr($zeichen,1);
?>

Anhand der Ausgabe ist zu erkennen, dass nach dem Schleifendurchlauf noch eine Bearbeitung der Zeichenkette durch die Stringfunktion substr() statt gefunden hat, um das erste Trennzeichen (,) zu entfernen.

Hinweis: In PHP stehen Ihnen eine Reihe von Stringfunktionen zur Verfügung auf die wir zurückgreifen können. Auf die Stringfunktionen werden wir im nächsten Abschnitt dieses Kapitels eingehen.

Vereiningung-, Schnitt- oder Differenzmengen zweier Arrays

Nehmen wir an Sie hätten zwei Arrays und wollen diese miteinander vergleichen. Hierbei sollen folgende Schwerpunkte gesetzt werden:
. Ermitteln der Vereinigungsmenge, alle Elemente.
. Ermitteln der Schnittmenge, Elemente, die in beiden Arrays vorkommen und nicht nur in einem.
. Ermitteln der Differenzmenge, Elemente, die in einem, aber nicht in beiden vorhanden sind.

Als Vorlage dienen die folgenden beiden Arrays:

$vok_a = array("ein","zwei","drei","vier");
$vok_b = array("ein","zwei","vier");

Ermitteln der Vereinigungsmenge

<pre>
<?php
$vok_a = array("ein","zwei","drei","vier");
$vok_b = array("ein","zwei","vier");
$vereinen = array_unique(array_merge($vok_a,$vok_b));
print_r($vereinen );
?>
</pre>

Ausgabe

Array
(
    [0] => ein
    [1] => zwei
    [2] => drei
    [3] => vier
)

Um die Vereinigungsmenge zu finden, mischen Sie die beiden Array mit Hilfe der Funktion array_merge() und erhalten damit ein grösseres Array mit sämtlichen Werten. Leider lässt die Funktion jedoch doppelte Werte zu, wenn Sie zwei indizierte Arrays miteinander mischt, daher rufen Sie zusätzlich noch die Funktion array_unique() auf, um diese herauszufiltern.

Ermitteln der Schnittmenge

<pre>
<?php
$vok_a = array("ein","zwei","drei","vier");
$vok_b = array("ein","zwei","vier");
$schnitt = array_intersect($vok_a,$vok_b);
print_r($schnitt);
?>
</pre>

Ausgabe

Array
(
    [0] => ein
    [1] => zwei
    [3] => vier
)

Bei der Bildung der Schnittmenge ist Ihnen, wie Sie sehen, die Funktion array_intersect() behilflich.

Ermitteln der Differenzmenge

<pre>
<?php
$vok_a = array("ein","zwei","drei","vier");
$vok_b = array("ein","zwei","vier");
$differenz = array_diff($vok_a,$vok_b);
print_r($differenz );
?>
</pre>

Ausgabe

Array
(
    [2] => drei
)

Die Funktion array_diff() gibt ein Array zurück, welches sämtliche Elemente in $vok_a enthält, die nicht in $vok_b vorkommen.

Elementkombination eines Arrays ermitteln

Sie wollen sämtliche Elementkombinationen eines Arrays ermitteln, die einige oder alle Elemente des Arrays enthalten, sprich die Potenzmenge. Dann haben wir hier eine nützliche Funktion für Sie.

function set_potenz($liste) {
    // Initialisierung durch ein leeres Array
    $resultate = array(array());
    foreach ($liste as $element) {
        foreach($resultate as $kombination) {
            array_push($resultate, array_merge(array($element), $kombination));
        }
    }
    return $resultate;
}

Diese Funktion gibt ein Array aus Arrays zurück, das sämtliche Kombination von Elementen beinhaltet, einschliesslich der leeren Menge.

Beispiel

$werte = array("A","B","C");
$potenzmenge = set_potenz($werte);
print_r($potenzmenge);

Ausgabe

Array
(
    [0] => Array
        (    )

    [1] => Array
        (   [0] => A   )

    [2] => Array
        (   [0] => B  )

    [3] => Array
        (   [0] => B   [1] => A   )

    [4] => Array
        (   [0] => C   )

    [5] => Array
        (   [0] => C   [1] => A   )

    [6] => Array
        (   [0] => C   [1] => B    )

    [7] => Array
        (   [0] => C   [1] => B   [2] => A  )
)

$potenzmenge enthält anschliessend acht Arrays, sprich acht mögliche Kombination. Die erste foreach-Schleife arbeitet sämtliche Elemente des Arrays ab, während die innere foreach-Schleife sämtliche vorhandenen, aus den vorherigen Elementen erzeugten Kombinationen durchläuft. Dies ist auch der schwierige Teil innerhalb der Funktion. Sie müssen genau wissen, wie sich PHP während der Schleifendurchläufe verhält.

Die Funktion array_merge() kombiniert das Element mit den vorherigen Kombinationen. Beachten Sie jedoch, dass das Array $resultate, dem das neue Array mit array_push() hinzugefügt wird, dasjenige ist, das in dem foreach durchlaufen wird. Normalerweise würde dies zu einer Endlosschleife führen, wenn Sie Einträge zu $resultate hinzufügen, in PHP ist dies jedoch nicht der Fall, denn PHP arbeitet mit einer Kopie des ursprünglichen Arrays. Wenn Sie aber eine Ebene höher in die äussere Schleife zurückspringen und das foreach mit dem nächsten $element erneut ausführen, wird es zurückgesetzt. Daher können Sie direkt mit $resultate arbeiten und das Array als Stapelspeicher für Ihre Kombinationen verwenden. Indem Sie alles als Array speichern, erhalten Sie zusätzliche Flexibilität, bei der Bearbeitung der einzelnen Arrays bzw. Kombinationen.

Um die Ergebnisse formatiert auszugeben zwischen den Elementen innerhalb der Kombinationen und Zeilenwechsel zwischen den Kombinationen auszugeben, können Sie folgende Codezeilen einsetzen:

$werte = array("A","B","C");
echo "<table border=1>";
foreach (set_potenz($werte) as $element) {
    print "<tr><td>&nbsp;" . join(" ", $element) . "</td></tr>";
}
echo "</table>";

Wie ware es nur die Kombinationen mit jeweils zwei Elementen auszugeben:

$werte = array("A","B","C");
echo "<table border=1>";
foreach (set_potenz($werte) as $element) {
    if (2 == count($element)) {
    print "<tr><td>&nbsp;" . join(" ", $element) . "</td></tr>";
    }
}
echo "</table>";

Achtung: Der Durchlauf dauert bei einer grossen Menge von Elementen sehr lange. Aus einer Menge mit n Elementen entstehen 2n+1 Mengen. Mit anderen Woren, wenn n um 1 erhöht wird, verdoppelt sich die Anzahl der Elemente.

Permutationen und Arrays

Abschliessend noch ein Beispiel zum Thema Permutation, Sie haben ein Array mit Elementen und wollen sämtliche Möglichkeiten berechnen, wie diese unterschiedlich angeordnet werden können.

$begriffe = array("ich","bin","dort");

Beispiel

<?php
// Permutationen ermitteln (Rekursiv)
function setze_permutation($liste, $permliste = array()) {
    if (empty($liste)) {
        print join(' ', $permliste) . "<br>";
    }  else {
        for ($i = count($liste) - 1; $i >= 0; --$i) {
             $neueliste = $liste;
             $neuepermliste = $permliste;
             list($werte) = array_splice($neueliste, $i, 1);
             array_unshift($neuepermliste, $werte);
             setze_permutation($neueliste, $neuepermliste);
         }
    }
}

// Entspricht - array("ich","bin","dort");
$begriffe = split(" ","ich bin dort");
setze_permutation($begriffe);
?>

Ausgabe

ich bin dort
bin ich dort
ich dort bin
dort ich bin
bin dort ich
dort bin ich

Sonstige Arrayfunktionen

Nützliche Arrayoperationen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation von PHP als Apache-Modul

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation von PHP als Apache-Modul

Wenn Sie PHP als Apache-Modul installieren wollen, müssen Sie den Apache neu kompilieren. Sie benötigen zuvor ein paar Dateien, die das configure-Skript des Apache anlegt. Entpacken Sie die Quellen und geben Sie folgende Befehle ein:

$ tar xvpfz apache-1.3.tar.gz
$ cd apache1.3
$ ./configure -prefix=/usr/local/apache
$ tar xvpfz php-5.0.tar.gz
$ cd php-5.0
$ ./setup

Sie müssen nun einige Fragen beantworten, damit PHP ordnungsgemäss ausgeführt wird :

. Wahl zwischen Skriptprozessor (CGI) oder Apache-Modul.
. Bei der Installation als Apache-Modul ist das Apache-Installationsverzeichnis anzugeben, beispielsweise /USR/LOCAL/APACHE.

Danach übersetzen Sie PHP mit folgenden Anweisungen:

$ make
$ make install

Nun ist der Apache noch so zu konfigurieren, dass er mit PHP-Dateien umgehen kann. Editieren Sie die Datei HTTPD.CONF und fügen Sie die folgende Zeile ein:

AddType application/x-httpd-php .php

Nun kann der Webserver gestartet werden:

$ bin/apachectl start

Installation von PHP als CGI-Programm

XAMPP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Nützliche Arrayoperationen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Nützliche Arrayoperationen

In diesem Abschnitt haben wir noch einige nützliche Codebeispiele für Sie hinzugefügt.

Prüfen von Array Schlüsseln und Elementen

Sie wollen prüfen, ob ein Array einen bestimmten Schlüssel oder ein bestimmtes Element (Wert) enthält, dann könnten Ihnen folgende Codezeilen gute Dienste erweisen:

Beispiel - Prüfen ob ein Schlüssel im Array enthalten ist

<?
$mitarbeiter = array(
                "M1"=>"Manfred",
                "M2"=>"Toni",
                "M3"=>"Tim",
                "M4"=>"Fred"
                );

if (isset($mitarbeiter['M3'])) {
    echo "Schlüssel gehört zu " . $mitarbeiter['M3'];
} else {
    echo "Diese Schlüssel ist nicht vorhanden!";
}
?>

Sie sehen bei der Überprüfung ob ein Schlüssel vorhanden ist, gehene Sie genauso vor wie bei der Überprüfung von Variablen, in dem Sie isset() verwenden.

Beispiel - Prüfen ob ein Element im Array enthalten ist

<?
$mitarbeiter = array(
                "M1"=>"Manfred",
                "M2"=>"Toni",
                "M3"=>"Tim",
                "M4"=>"Fred"
                );

if (in_array("Tim",$mitarbeiter)) {
    echo "Mitarbeiter ist " . $mitarbeiter['M3'];
} else {
    echo "Mitarbeiter nicht vorhanden!";
}
?>

Mit Hilfe von in_array() können Sie prüfen, ob ein Element eines Arrays einen bestimmten Wert enthält. Standardmässig vergleicht in_array() die Elemente mit dem Gleichheitsoperator ==.

Hinweis: Um die strikte Gleichheitsprüfung mit === durchzuführen, übergeben Sie true als dritten Parameter an in_array().

Neue Arrayfunktionen seit PHP4

Mathematische Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Umwandlungsfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Umwandlungsfunktionen

Als nächstes folgen die in PHP zur Verfügung stehenden Umwandlungsfunktionen.

Funktion | Beispiel | Beschreibung
floor(float) | floor(10.8) => 10 | Ganzzahliger Teil einer Zahl. Rundet zur nächsten Ganzzahl ab.
ceil(float) | ceil(10.8) => 11 | Rundet auf die nächste Ganzzahl.
round(float,[$stellen]) round(10.8) => 11
round(10.8476,2) => 10.85 		Rundet eine Fliesskommazahl auf die optionale Stellenzahl $stellen.
base_convert(nummer, ausgangsbasis, zielbasis | base_convert(100,2,10) => 4 | Wandelt von einem beliebigen Zahlensystem der Basis 2 bis 36 in ein anderes um.
bindec(binaerwert) | bindec(1001) => 9 | Binär -> Dezimal. Umwandlung von Binär nach Dezimal.
decbin(dezimalwert) | decbin(9) => 1001 | Dezimal -> Binär. Umwandlung von Dezimal nach Binär.
dechex(dezimalwert) | dechex(255) => ff | Dezimal -> Hexadezimal. Umwandlung von Dezimal nach Hexadezimal.
decoct(dezimalwert) | decoct(1024) => 2000 | Dezimal -> Oktal. Umwandlung von Dezimal nach Oktal.
deg2rad(float) | deg2rad(180) => 3.1415926535898 | Diese Funktion wandelt den übergebenen Winkel von Grad in Bogenmaß.
hexdec(hexwert) | hexdec(ff) => 255 | Hexadezimal -> Dezimal. Umwandlung von Hexdezimal nach Dezimal.
rad2deg(float) | rad2deg(3.1415926535898) => 180 | Diese Funktion wandelt den übergebenen Winkel von Bogenmaß in Grad.
octdec(oktalwert) | octdec(2000) => 1024 | Oktal -> Dezimal. Umwandlung von Oktal nach Dezimal.

Logarithmus mit beliebiger Basis

Sollten Sie den Logarithmus mit einer beliebigen Basis berechnen müssen, verwenden Sie folgende Definition:

function logx($mant,$basis) {
    return log($mant)/log($basis);
}

Ausgabe

// Ausgabe (0.5)
echo logx(2,4)

Das erste Argument ist die zu berechende Mantisse, das zweite die Basis des Logarithmus. Seit PHP 4.3 können Sie jedoch auch die vordefinierte Funktion log() verwenden.

Beispiel

// Ausgabe (0.5)
echo log(2,4);

Runden von Fliesskommazahlen

Sie wollen Fliesskommazahlen runden, entweder um einen Integer-Wert zu erhalten oder um die Anzahl der Dezimalstellen zu begrenzen. Dann stehen Ihnen in PHP gleich drei nützliche Funktionen zur Verfügung.

Beispiel - round() - auf nächste Ganzzahl runden

<?php
$zahl = round(2.4);
// Ausgabe (2)
echo $zahl;
?>

Beispiel - ceil() - zum Aufrunden

<?php
$zahl = ceil(2.4);
// Ausgabe (3)
echo $zahl;
?>

Beispiel - floor() - zum Abrunden

<?php
$zahl = floor(2.4);
// Ausgabe (2)
echo $zahl;
?>

Genauigkeit

Eine festgelegte Anzahl von Ziffern nach dem Dezimalzeichen erhalten Sie, wenn Sie round() ein optionales Argument für die Genauigkeit übergeben.

Beispiel

<?php
$preis = 99.99;

$mwst = $preis * 0.16;
// Ausgabe (15.9984)
echo "MwSt: $mwst<br>";

$gesamt = $preis + $mwst;
echo "Gesamt: $gesamt<br>";

$gesamtrund = round($gesamt,2);
echo "Gesamt: $gesamtrund<br>";
?>

Ausgabe

MwSt: 15.9984
Gesamt: 115.9884
Gesamt: 115.99

Mathematische Funktionen

Mathematische Konstanten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Mathematische Konstanten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mathematische Konstanten

In PHP stehen Ihnen auch zahlreiche mathematische Konstanten zur Verfügung.

Konstante | Exakter Wert | Beschreibung
M_PI | 3.14159265358979323846 | Der Wert (Pi)
M_E | 2.7182818284590452354 | E (Eulersche Zahl)
M_LOG2E | 1.4426950408889634074 | log2 e
M_LOG10E | 0.43429448190325182765 | log10 e
M_LN2 | 0.69314718055994530942 | loge 2
M_LN10 | 2.30258509299404568402 | loge 10
M_PI_2 | 1.57079632679489661923 | pi/2
M_PI_4 | 0.78539816339744830962 | pi/4
M_1_PI | 0.31830988618379067154 | 1/pi
M_2_PI | 0.63661977236758134308 | 2/pi
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi)
M_SQRT2 | 1.41421356237309504880 | sqrt(2)
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2)

Achtung: Bis auf M_PI sind diese Konstanten erst seit PHP4.0 verfügbar.

Umwandlungsfunktionen

Zufallszahlen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zufallszahlen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zufallszahlen

Zufallszahlen werden häufig benötigt, um Vorgänge zu steuern oder beispielsweise Kennwörter zu erzeugen. Zufallsfolgen beruhen auf mathematischen Funktionen, die zwar einen chaotischen Verlauf haben, aber dennoch einer strengen Folge gehorchen, sie sind pseudozufällig. Die Zufälligkeit wird erst erzeugt, wenn der Startwert variiert. Die folgende Tabelle zeigt Funktionen zum Abruf der Zufallswerte und zum Setzen des Startwertes.

Funktion | Beispiel | Beschreibung
srand($x) srand(100);
srand ((double)microtime()*1000000); 		Setzt den Startwert für den Zufallsgenerator.
rand([$min],[$max]) rand() => 7438
rand(0,10) => 4 		Gibt eine Zufallszahl zwischen 0 und 1 oder, wenn benutzt, zwischen $min und $max zurück.
getrandmax() | getrandmax() => 32767 | Gibt die höchstmögliche Zahl an, die rand() zurückgeben kann.
mt_srand($x) mt_srand(100);
mt_srand ((double)microtime()*1000000); 		Setzt den Startwert für den Zufallsgenerator.
mt_rand([$min],[$max]) mt_rand() => 322911911
mt_rand(0,10) => 7 		Gibt eine Zufallszahl zwischen 0 und 1 oder, wenn benutzt, zwischen $min und $max zurück.
mt_getrandmax() | mt_getrandmax() => 2147483647 | Gibt die höchstmögliche Zahl an, die mt_rand() zurückgeben kann.

Beispiel

<?php
// PNG-Grafik definieren
header("Content-type: image/png");

$kunden = array(
            "IBM",
            "Apple",
            "Microsoft",
            "Macromedia",
            "Adobe"
            );

$zufall = mt_rand(0,count($kunden)-1);

$kunde = $kunden[$zufall];

$breite = 200;
$hoehe = 50;
$bild = imagecreate($breite, $hoehe);
$weiss = imagecolorallocate($bild, 255, 255, 255);
$schwarz = imagecolorallocate ($bild, 0, 0, 0);
imagefilledrectangle($bild, 0, 0, $breite, $hoehe, $weiss);
imagestring($bild, 4, 1, 30, "Kunde: ".$kunde, $schwarz);
imagepng($bild);
imagedestroy($bild);
?>

Hiermit lassen sich zufällig dynamisch erzeugte Signaturen realisieren, welche mit Hilfe der Funktionen der GD-Bibliothek in eine PNG-Datei überführt werden. Sie können gerne auch vollgendes Beispiel testen:

<?php
// PNG-Grafik definieren
header("Content-type: image/png");

$zeit = date("H:i:s", time());
$datum = date("d.m.Y", time());
$ip = $_SERVER["REMOTE_ADDR"];
$breite = 200;
$hoehe = 50;
$bild = imagecreate($breite, $hoehe);
$weiss = Imagecolorallocate($bild, 255, 255, 255);
$schwarz = Imagecolorallocate ($bild, 0, 0, 0);
imagefilledrectangle($bild, 0, 0, $breite, $hoehe, $weiss);
imagestring($bild, 4, 1, 1, "Uhrzeit: ".$zeit, $schwarz);
imagestring($bild, 4, 1, 15, "Datum: ".$datum, $schwarz);
imagestring($bild, 4, 1, 30, "Deine IP: ".$ip, $schwarz);
imagepng($bild);
imagedestroy($bild)
?>

Das Beispiel erzeugt eine PNG-Datei, welche die aktuelle Uhrzeit, das Datum und die IP-Adresse des Besuchers darstellt. Es eignet sich somit ebenfalls zur Erzeugung von Dynamischen Signaturen.

Ziehung von Zufallszahlen ohne Wiederholung

Eine weitere Anwendung wäre es, aus einem Zahlenbereich von $min bis $max, zufällig $anz Zahlen auszuwählen, ohne dass hierbei Zahlen doppelt vorkommen.

Beispiel

<?PHP
function gen_zahlen($min, $max, $anz) {
     $werte = range($min, $max);
     mt_srand ((double)microtime()*1000000);
     for($x = 0; $x < $anz; $x++) {
          $i = mt_rand(1, count($werte))-1;
          $erg[] = $werte[$i];
          array_splice($werte, $i, 1);
     }
     return $erg;
}

$zufalls_array = gen_zahlen(1, 100, 10);
echo join("-", $zufalls_array);
?>

Ausgabe

63-84-24-67-42-9-13-33-32-23

Wie Sie sehen wurden 10 Zahlen nachdem Zufallsprinzip ermittelt, ohne das eine doppelt vorkommt.

Ziehenung von Zufallseinträge ohne Wiederholung

Nach dem selben Prinzip lassen sich auch Einträge aus einem Array zufällig ausgeben, ohne das es zu Wiederholungen kommt.

Beispiel

<?PHP
$kunden = array(
            "IBM",
            "Microsoft",
            "Adobe",
            "Macromedia",
            "Apple",
            "SAP"
            );

function gen_zufall($anz,$daten) {
     mt_srand ((double)microtime()*1000000);
     for($x = 0; $x < $anz; $x++) {
          $i = mt_rand(1, count($daten))-1;
          $erg[] = $daten[$i];
          array_splice($daten, $i, 1);
     }
     return $erg;
}

$zufalls_array = gen_zufall(3,$kunden);
echo join("-", $zufalls_array);
?>

Ausgabe

Adobe-Apple-Microsoft

Sie können die Funktion sogar zum mischen von Arrays verwenden in dem Sie die folgende Codezeile, wie folgt anpassen:

$zufalls_array = gen_zufall(count($kunden),$kunden);

Und schon erhalten Sie sämtliche Einträge des Arrays, jedoch gut vermischt.

Hinweis: Die Funktionen mit dem Präfix mt_ sollten bevorzugt werden, da Sie um einiges schneller arbeiten. Die mt_funktionen wurden von Mersenne Twister (mt) entwickelt. Mehr erfahren Sie unter folgenden Adressen:

Mathematische Konstanten

Datum- und Zeitfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Kalenderfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kalenderfunktionen

Diese Funktionen sollen die Umwandlung von Daten zwischen verschiedenen Kalendern erleichtern. Die gemeinsame Basis für diese Umwandlung bildet das Julianische Datum J. D. (nicht zu verwechseln mit dem Julianischen Kalender). Das J. D. entspricht der Anzahl der Tage seit dem 1. 1. 4713 v. Chr. Jede Umrechnung zwischen zwei beliebigen Kalendern erfordert den Zwischenschritt über das J. D.

Wir verzichten auf eine ausführliche Darstellung der Kalenderfunktionen und beschränken uns daher auf eine Tabelle.

Funktion | Beschreibung
jdtogregorian($day) | Konvertiert ein Datum des Julianischen Kalenders in das gregorianische Format.
gregoriantojd($month, $day, $year) | Konvertiert das gregorianische Format in ein Datum des Julianischen Kalenders.
jdtojulian($day) | Wandelt ein julianisches Datum in einen julianischen Tageswert um.
juliantojd($month, $day, $year) | Wandelt einen julianischen Tageswert wieder in die entsprechende julianische Datumsangabe um.
jdtojewish($day) | Wandelt einen julianischen Tageswert in ein Datum des jüdischen Kalenders um.
jewischtojd($month, $day, $year) | Wandelt vom jüdischen Kalender in einen julianischen Tageswert um.
jdtofrench($month, $day, $year) | Wandelt ein julianisches Datum in ein Datum des Kalenders der französischen Revolution (Republik) um.
frenchtojd($month, $day, $year) | Wandelt ein Datum der Französischen Revolution zu einem julianischen Datum um.
jdmonthname($day) | Diese Funktion gibt einen Monatsnamen zurück, die Datumsangabe muss dem julianischen Kalender entsprechen. Die Ausgabe kann jedoch durch einen zweiten Parameter gesteuert werden, der den Ursprungskalender bestimmt.
jddayofweek($day) | Bestimmt den Wochentag aus einem julianischen Datum.
easter_date($year) | Die Funktion gibt den UNIX-Zeitcodes für Ostersonntag des angegeben Jahres zurück.
easter_days($year) | Gibt die Anzahl der Tage aus, die Ostern nach dem 21. März des angegebenen Jahres liegt.

Einsatz von easter_date() und easter_days()

Die beiden Oster-Funktionen sind es wert einen Blick auf diese zu werfen, da derartige Kalenderberechnungen nicht trivial sind und vom Ostertermin viele andere Feiertage abhängen. Zunächst sollten Sie sich die Definition der UNIX-Zeitcodes in Erinnerung rufen. Die Unix-Welt begann 1970 und die Definition lässt Daten bis 2037 zu. Wollen Sie Daten vor oder nach diesen Jahren berechnen, können Sie easter_date() nicht einsetzen. Die Funktion easter_days() erschwert zwar unter Umständen die Anwendung, ist jedoch unabhängig von derartigen Grenzdaten. Leicht zu beantworten ist die Frage, auf welches Datum Ostern im Jahr 2004 fällt.

Beispiel

echo "Ostern ist am: " . date ("d.M.Y" , easter_date(2004));

Ausgabe

Ostern ist am: 11.Apr.2004

Hinweis: Was es mit der Funktion date() auf sich hat erfahren Sie im Abschnitt Datumsfunktionen.

Datum- und Zeitfunktionen

Datumsfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datumsfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datumsfunktionen

Wichtiger als die Kalenderfunktionen sind allgemeine Datumsberechnungen. Die folgende Tabelle stellt die wichtigsten Datumsfunktionen zusammen.

Funktion | Beispiel | Beschreibung
checkdate($month,$day,$year) | checkdate(10,11,2004) => TRUE (1) | Gibt TRUE zurück, wenn das angegebene Datum korrekt ist. Benötigt drei Argumente für Monat, Tag und Jahr.
date("format",$timestamp) | date("d.M.Y") => 10.Jan.2004 | Formatiert ein Datum.
getdate($timestamp) | getdate(mktime(0,0,0,1,1,2005)) | Gibt ein assoziatives Array mit Datums- und Zeitangaben zurück.
gmdate("format",$timestamp) | gmdate("d.M.Y") => 10.Jan.2004 | Wie date(), berücksichtigt jedoch GMT.

Hinweis: GMT ist die Kurzform für Greenwich Mean Time.

Für die Arbeit mit Daten ist oft das aktuelle Datum von grosser Bedeutung. Sie sollten hierbei jedoch beachten, dass der Server sich immer auf sein eigenes Systemdatum bezieht. Sollten Sie beispielsweise ihre Website in den USA hosten, wird das Ergebnis nicht unbedingt den Erwartungen entsprechen, vor allem dann nicht wenn Besucher aus Europa zeitabhängig begrüsst werden sollen.

Wenden wir uns nun den wichtigsten Datumsfunktionen und ihren Parametern zu.

Einsatz von getdate()

Die Funktion getdate() gibt ein assoziatives Array mit Datums- und Zeitangaben zurück. Das Array setzt sich aus folgenden Bestandteilen zusammen:

Schlüssel | Rückgabewerte (Beispiele) | Beschreibung
"seconds" | zwischen 0 und 59 | Anzahl der Sekunden
"minutes" | zwischen 0 und 59 | Anzahl der Minuten
"hours" | zwischen 0 und 23 | Anzahl der Stunden
"mday" | zwischen 1 und 31 | Numerischer Tag des Monats
"wday" | zwischen 0 (für Sonntag) und 6 (für Samstag) | Numerischer Wochentag
"mon" | zwischen 1 und 12 | Monatszahl
"year" | Beispiele: 1999 oder 2003 | Vierstellige Jahreszahl
"yday" | zwischen 0 und 366 | Numerischer Tag des Jahres
"weekday" | zwischen Sonntag und Samstag | Ausgeschriebener Wochentag
"month" | zwischen Januar und Dezember | Ausgeschriebener Monatsname, wie Januar oder März
0 | Abhängig vom System, typischerweise ein Wert zwischen -2147483648 und 2147483647. | Sekunden basierend auf dem Unix-Zeitcode, ähnlich den Werten die von der Funktion time() zurückgegeben und von der date() verwendet werden.

Beispiel

<pre>
<?php
print_r(getdate());
?>
</pre>

Ausgabe

Array
(
    [seconds] => 30
    [minutes] => 52
    [hours] => 22
    [mday] => 10
    [wday] => 6
    [mon] => 1
    [year] => 2004
    [yday] => 9
    [weekday] => Saturday
    [month] => January
    [0] => 1073771550
)

Beispiel - year

<?php
$zeit = getdate();
// Ausgabe (2004)
echo $zeit["year"];
?>

Einsatz von date()

Für die Darstellung eines Datums gibt es eine Vielzahl von Formatierungsmöglichkeiten. Die Funktion date() gibt ein Datum formatiert zurück, so dass Sie lokale Besonderheiten berücksichtigen können. Die Funktion benötigt zwei Argumente, eine Formatierungsanweisung und eine Zeitinformation als Unix-Zeitstempel. Sollte der zweite Parameter weg gelassen werden, wird die aktuelle Zeit verwendet.

Innerhalb der Formatieranweisung sind folgende Symbole von Bedeutung:

Symbol | Rückgabewerte (Beispiele) | Beschreibung
a | am oder pm | Kleingeschrieben: Ante meridiem und Post meridiem
A | AM oder PM | Großgeschrieben: Ante meridiem und Post meridiem
B | 000 bis 999 | Swatch-Internet-Zeit
d | 01 bis 31 | Tag des Monats, 2-stellig mit führender Null
D | Mon bis Sun | Tag der Woche als Abkürzung mit drei Buchstaben
F | January bis December | Monat als ganzes Wort.
g | 1 bis 12 | 12-Stunden-Format, ohne führende Nullen
G | 0 bis 23 | 24-Stunden-Format, ohne führende Nullen
h | 01 bis 12 | 12-Stunden-Format, mit führenden Nullen
H | 00 bis 23 | 24-Stunden-Format, mit führenden Nullen
i | 00 bis 59 | Minuten mit führenden Nullen
I (großes i) | 1 bei Sommerzeit, ansonsten 0. | Fällt ein Datum in die Sommerzeit
j | 1 bis 31 | Tag des Monats ohne führende Nullen
l (kleines 'L') | Sunday bis Saturday | Ausgeschriebener Tag der Woche
L | 1 für ein Schaltjahr, ansonsten 0. | Schaltjahr oder nicht
m | 01 bis 12 | Monat als Zahl, mit führenden Nullen
M | Jan bis Dec | Monatsname als Abkürzung mit drei Buchstaben
n | 1 bis 12 | Monatszahl, ohne führende Nullen
O | +0200 | Zeitunterschied zur Greenwich Mea Time (GMT) in Stunden
r | Thu, 21 Dec 2000 16:01:07 +0200 | RFC 822 formatiertes Datum
s | 00 bis 59 | Sekunden, mit führenden Nullen
S | st, nd, rd oder th. Zur Verwendung mit j empfohlen. | Anhang der englischen Aufzählung für einen Monatstag, zwei Zeichen
t | 28 bis 31 | Anzahl der Tage in einem Monat
T | Beispiele: EST, MDT ... | Zeitzoneneinstellung des Rechners
U | Siehe auch time() | Sekunden seit Beginn des UNIX-Zeitcodes (January 1 1970 00:00:00 GMT)
w | 0 (für Sonntag) bis 6 (für Samstag) | Numerischer Tag einer Woche
W | Beispiel: 42 (die 42 Woche im Jahr) | ISO-8601 Wochennummer des Jahres, die Woche beginnt am Montag.
Y | Beispiel: 1999 oder 2003 | Vierstellige Ausgabe der Jahreszahl
y | Beispiele: 99 oder 03 | Zweistellige Ausgabe der Jahreszahl
z | 0 bis 365 | Der Tag eines Jahres
Z | -43200 bis 43200 (entspricht: -12 / +12 Stunden) | Offset der Zeitzone in Sekunden. Der Offset für Zeitzone West nach UTC ist immer negativ und für Zeitzone Ost nach UTC immer positiv.

Achtung: Sämtliche andere Zeichen werden ignoriert und unverändert zurückgegeben.

Beispiel

<?php
// Ausgabe 10.Jan.2004 23:14:16
echo date("d.M.Y H:i:s");
?>

Hinweis: Die Funktion gmdate() leistet das Gleiche, wie die Funktion date(), mit dem Unterschied, dass anstelle der lokalen Zeitzone GMT verwendet wird.

Kalenderfunktionen

Zeitfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zeitfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zeitfunktionen

Ganz ähnlich wie mit dem Datum kann auch mit der Zeit gearbeitet werden. Die folgende Tabelle enthält eine Auflistung der wesentlichen Zeitfunktionen.

Funktione | Beispiel | Beschreibung
localtime ( [$tstamp [, is_associative]]) | localtime() | Ermittelt die lokalen Zeitwerte. Sollte der optionale Parameter is_associative auf 1 gesetzt werden, wird ein assoziatives array zurück geliefert, ansonsten ein indiziertes.
mktime($hour, $min, $sec, $month, $day, $year, $dst) | mktime(0,0,0,1,1,2005) => 1104534000 | Gibt den UNIX-Zeitstempel (Timestamp) für ein Datum zurück. Der Parameter $dst gibt an ob es sich um Sommerzeit (1) oder Winterzeit (0) handelt.
gmmktime($hour, $min, $sec, $month, $day, $year, $dst) | gmmktime(0,0,0,1,1,2005) => 1104537600 | Gibt den GMT-Zeitstempel (Timestamp) für ein Datum zurück. Der Parameter $dst gibt an ob es sich um Sommerzeit (1) oder Winterzeit (0) handelt.
time() | time() => 1073770551 | Gibt den UNIX-Zeitstempel sekundengenau zurück.
microtime() | microtime() => 0.96976100 1073770614 | Wie time(), aber die Genauigkeit liegt im Mikrosekundenbereich. Ist nicht unter Windows verfügbar.
strftime("format",$tstamp) | strftime("%A") => Saturday | Formatiert eine Zeitausgabe.
gettimeofday() | print_r(gettimeofday()) => Array ( [sec] => 1073770692 [usec] => 849883 [minuteswest] => -60 [dsttime] => 1 ) | Gibt die aktuelle Tageszeit zurück.
gmstrftime("format",$tstamp) | gmstrftime("%A") => Saturday | Wie strftime(), jedoch mit GMT als Zeitzone.

Einsatz von mktime()

Zahlreiche Datums- und Zeitfunktionen rechnen mit der internen Angabe des Unix-Zeitstempels. Diese Angabe stellt die Anzahl der Sekunden seit dem 01.01.1970 00:00 Uhr dar. Um nun eine solche Angabe für ein spezifisches Datum zu erhalten, setzen Sie mktime() ein. Wie wäre es mit dem Zeitstempel für 1.1.2004:

// Ausgabe 1072911600
echo mktime(0,0,0,1,1,2004);

Der letzte Tag eines Monats kann als der Tag "0" des nächsten Monats ausgedrückt werden. Jedes der folgenden Beispiele gibt die Zeichenkette "Letzter Tag im Feb. 2000 ist der 29." zurück.

$letzertag = mktime (0,0,0,3,0,2004);
// Letzter Tag im Feb. 2000 ist der 29.
echo strftime ("Letzter Tag im Feb. 2004 ist der %d.", $letzertag);

$lastday = mktime(0,0,0,4,-31,2004);
// Letzter Tag im Feb. 2004 ist der 29.
echo strftime ("Letzter Tag im Feb. 2000 ist der %d.", $letzertag);

Datumsberechnungen

Manchmal müssen mit Daten Berechnungen vorgenommen werden. Die folgenden Beispiele zeigen, wie man das mit den gezeigten Funktionen leicht realisieren kann:

gestern = mktime(0,0,0,date("m"), date("d")-1, date("Y"));
$morgen = mktime(0,0,0,date("m"), date("d")+1, date("Y"));
$letztenmonat = mktime(0,0,0,date("m")-1, date("d"), date("Y"));
$naechstesjahr = mktime(0,0,0,date("m"), date("d"), date("Y")+1);

echo "Gestern: $gestern<br>";
echo "Morgen: $morgen<br>";
echo "Letzenmonat: $letztenmonat<br>";
echo "Nächstesjahr: $naechstesjahr<br>";

Ausgabe

Gestern: 1073689200
Morgen: 1073862000
Letzenmonat: 1071097200
Nächstesjahr: 1105398000

oder mit Hilfe von date formatiert:

echo "Gestern: ". date("d.M.Y",$gestern) . "<br>";
echo "Morgen: ". date("d.M.Y",$morgen) . "<br>";
echo "Letztenmonat: ". date("d.M.Y",$letztenmonat) . "<br>";
echo "Nächstesjahr: ". date("d.M.Y",$naechstesjahr) . "<br>";

Ausgabe

Gestern: 10.Jan.2004
Morgen: 12.Jan.2004
Letztenmonat: 11.Dec.2003
Nächstesjahr: 11.Jan.2005

Einsatz von localtime()

Die Funktion localtime() gibt entweder indiziertes oder assoziatives Array zurück, welches hinsichtlich seiner Struktur identisch ist mit dem des Funktionsaufrufs in C.

Beispiel - indiziertes Array

<pre>
<?php
print_r(localtime());
?>
</pre>

Ausgabe

Array
(
    [0] => 4
    [1] => 35
    [2] => 23
    [3] => 10
    [4] => 0
    [5] => 104
    [6] => 6
    [7] => 9
    [8] => 0
)

Beispiel - assoziatives Array

<pre>
<?php
print_r(localtime(mktime(0,0,0,10,1,2004),1));
?>
</pre>

Ausgabe

Array
(
    [tm_sec] => 0
    [tm_min] => 0
    [tm_hour] => 0
    [tm_mday] => 1
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 5
    [tm_yday] => 274
    [tm_isdst] => 1
)

Die Bezeichner der verschiedenen Schlüssel dieses assoziativen Arrays lauten:
. "tm_sec" - Sekunde
. "tm_min" - Minute
. "tm_hour" - Stunde
. "tm_mday" - Tag des Monats
. "tm_mon" - Monat des Jahres, beginnt bei 0 (Januar) endet bei 11 (Dezember)
. "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ücksichtigen

Einsatz von strftime()

Die Funktion strftime() arbeitet ähnlich, wie date() und formatiert eine Datums- und Zeitangabe anhand einer Formatierungsanweisung. Sie sollten jedoch beachten, dass die strftime()-Parameter nur teilweise mit denen von date() übereinstimmen und in einigen Fällen eine völlig andere Bedeutung haben.

Symbol | Rückgabewerte (Beispiele) | Beschreibung
%a | Mon bis Sun | abgekürzter Name des Wochentages, abhängig von der gesetzten Umgebung.
%A | Monday bis Sunday | ausgeschriebener Name des Wochentages, abhängig von der gesetzten Umgebung.
%b | Jan bis Dec | abgekürzter Name des Monats, abhängig von der gesetzten Umgebung.
%B | January bis December | ausgeschriebener Name des Monats, abhängig von der gesetzten Umgebung
%c | siehe setlocale() weiter unten | Wiedergabewerte für Datum und Zeit, abhängig von der gesetzten Umgebung
%C | 00 bis 99 | Jahrhundert, Jahr geteilt durch 100, gekürzt auf Integer.
%d | 01 bis 31 | Tag des Monats als Zahl.
%e | 1 bis 31 | Tag des Monats als Dezimal-Wert, einstelligen Werten wird ein Leerzeichen voran gestellt.
%H | 00 bis 23 | Stunde als Zahl im 24-Stunden-Format.
%I (grosses i) | 01 bis 12 | Stunde als Zahl im 12-Stunden-Format.
%j | 001 bis 366 | Tag des Jahres als Zahl.
%m | 01 bis 12 | Monat als Zahl, ohne führende 0.
%M | 00 bis 59 | Minute als zweistelliger Dezimal-Wert.
%n | - | neue Zeile
%p | am oder pm | entweder am oder pm, abhängig von der gesetzten Umgebung.
%S | 0 bis 59 | Sekunden als Dezimal-Wert
%t | - | Tabulator
%U | 00-06 | Wochennummer im Jahr, startet die Zählung am ersten Sonntag.
%W | 00-06 | Wochennummer im Jahr, startet die Zählung am ersten Montag.
%w | 0 (Sonntag) bis 6 (Samstag) | Numerische Darstellung des Wochentags.
%x | siehe setlocale() weiter unten | Vollständige Datumsangabe entsprechend der lokalen Einstellungen.
%X | siehe setlocale() weiter unten | Vollständige Datumsangabe entsprechend der lokalen Einstellungen.
%y | 04 | Zweistellige Ausgabe der Jahreszahl
%Y | 2004 | Vierstellige Ausgabe der Jahreszahl
%Z | -43200 bis 43200(entspricht: -12 / +12 Stunden) | Offset der Zeitzone in Sekunden. Der Offset für Zeitzone West nach UTC ist immer negativ und für Zeitzone Ost nach UTC immer positiv.
%% | % | Prozentzeichen

Einsatz von setlocale()

Interessant ist an dieser Funktion, dass sich die Ausgabe mit Hilfe der Funktion setlocale() an die sprachlichen Besonderheiten einer bestimmten Region anpassen lassen.

Beispiel

<?php
echo strftime("%A auf Deutsch ");
setlocale(LC_TIME,'de_DE@euro', 'de_DE', 'de', 'ge');
echo strftime("%A");
?>

Ausgabe

Sunday auf Deutsch Sonntag

Wie Sie sehen stehen Ihnen diverse Kurzformen für die deutschsprachige Region zur Verfügung.

Die Funktion setlocale() hat folgenden Aufbau:

setlocale(category, localid);

Der Parameter category wird durch folgende Werte bestimmt:
. LC_ALL - für alle folgenden Werte
. LC_COLLATE - Wirkt auf Zeichenkettenvergleiche.
. LC_CTYPE - Wirkt auf die Zeichensetzung, beispielsweise in strtoupper().
. LC_MONETARY - Wirkt auf Währungsfunktionen wie localeconv().
. LC_NUMERIC - Bestimmt das Dezimal-Trennzeichen.
. LC_TIME - Wirkt auf Datums- und Zeitformatierungen mit strftime().

Als localid wird der ISO-Landescode angegeben, auf dessen Parameter die Ausgabe gesetzt werden sollen. Wird eine leer Zeichenkette genutzt, versucht PHP entsprechende Variablen in der Betriebssystem-Umgebung zu finden. Wird eine 0 angegeben, werden die aktuellen Einstellungen nicht geändert, dafür jedoch zurückgegeben. Die Funktion gibt FALSE zurück, wenn der lokale Code nicht implementiert wurde.

Datumsfunktionen

Stringfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


XAMPP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

XAMPP

Wir empfehlen das XAMPP Installationkit, welches sowohl für Windows, Linux als auch Solaris Systeme, vom Apachefriends-Team um Kai "Oswald" Seidler und Kay Vogelgesang, zur Verfügung gestellt wird.

Windows

Das Windows-Paket setzt sich aus folgenden Komponenten zusammen:

. Apache HTTPD 2.0.52
. MySQL 4.0.21
. PHP 5.0.2 + 4.3.9 & PEAR
. MiniPerl 5.8.3
. mod_ssl 2.0.51
. Openssl 0.9.7d
. phpMyAdmin 2.6.0 pl1
. Webalizer 2.01-10
. Mercury Mail Transport System
. FileZilla FTP Server 0.9.3
. SQLite 2.8.15
. ADODB 4.52
. Zend Optimizer 2.5.3

Darüber hinaus stehen Add-Ons zur Verfügung, wie:
. Perl
. Python
. Tomcat
. Cocoon

Linux

Das Linux-Paket setzt sich aus folgenden Komponenten zusammen:

. Apache 2.0.52
. MySQL 4.0.21
. PHP 5.0.2 & 4.3.9
. PEAR + SQLite 2.8.9
. Perl 5.8.4
. ProFTPD 1.2.10
. phpMyAdmin 2.6.0-pl1
. OpenSSL 0.9.7d
. GD 2.0.1
. Freetype2 2.1.7
. libjpeg 6b
. libpng 1.2.7
. gdbm 1.8.0
. zlib 1.1.4
. expat 1.2
. Sablotron 1.0
. libxml 2.4.26
. Ming 0.2a
. Webalizer 2.01
. pdf class 009e
. ncurses 5.8
. mod_perl 1.99_13
. FreeTDS 0.62.4
. gettext 0.11.5
. IMAP C-Client 2002b
. OpenLDAP (client) 2.2.13
. mcrypt 2.5.7
. mhash 0.8.18
. Turck MMCache 2.4.6
. cURL 7.10.7
. libxslt 1.1.8
. phpSQLiteAdmin 0.2

Solaris

Das Solaris-Paket setzt sich aus folgenden Komponenten zusammen:

. Apache 2.0.52
. MySQL 4.0.21
. PHP 5.0.2 & PEAR
. Perl 5.8.3
. ProFTPD 1.2.10
. phpMyAdmin 2.5.6-pl1
. OpenSSL 0.9.7d
. Freetype2 2.1.7
. libjpeg 6b
. libpng 1.2.5
. zlib 1.1.4
. expat 1.95.7
. Ming 0.2a
. pdf class 009e

Installation und Deinstallation

Die Pakete haben gemeinsam, dass sie nur ausgepackt und gestartet werden müssen und schon funktioniert alles. Keine Einträge in der Registry, kein Ändern von Konfigurationsdateien, wenn das nichts ist.

Wir empfehlen Ihnen das XAMPP Verzeichnis unter C:\XAMPP anzulegen und anschliessend die setup_xampp.bat auszuführen.

Sie wollen XAMPP in einem beliebigen Unterverzeichnis haben, z.B. unter C:\Programme. Auch das stellt kein Problem dar, entpacken Sie die Dateien und im Stammverzeichnis "xampp", welches Sie nicht umbenennen sollten, die setup_xampp.bat ausführen. Alle bekannten Konfigurationsdateien werden nun mit einem absoluten Pfaden an die aktuelle Verzeichnisstrukur angepaßt.

Unter Windows stellt sich die Verzeichnisstruktur, wie folgt dar:

Datei (Verzeichnis)		Beschreibung

\xampp\apache\logs		Logverzeichnis für Apache und PHP.

\xampp\cgi-bin\		Das CGI-BIN-Verzeichnis.

\xampp\apache\conf\httpd.conf		Die zentrale Konfigurations-Datei für den Apache HTTPD.

\xampp\apache\bin\php.ini		Die zentrale Konfigurations-Datei für PHP mit MOD_PHP

\xampp\htdocs\		Das zentrale Dokumentenverzeichnis für HTML, PHP, CGI, etc.

\xampp\install\		Notwendig für das erste Setup

\xampp\mysql\		Der Datenbankserver MySQL

\xampp\perl\		Das Perl-Verzeichnis.

\xampp\php\		php.exe + dlls + pear usw.

\xampp\phpmyadmin\config.inc.php		Die Konfigurations-Datei für phpMyAdmin.

\xampp\tmp		Temp. Ordner für PHP-Uploads, Sessions usw.

\xampp\moddav		MOD-DAV Beispielordner.

Hinweis: Im zentralen Dokumentenverzeichnis \xampp\htdocs\, oft auch als Wurzelverzeichnis bezeichnet, können Sie Ihre zu testenden HTML- und PHP-Projekte ablegen.

Möchte man XAMPP nicht mehr benutzen, dann einfach das Verzeichnis löschen und das war es auch schon. Die Software ist deinstalliert und hat auch garantiert keinen Daten-Müll hinterlassen.

XAMPP Starten und Stoppen

Nachdem die Installation erfolgreich war und die Ausführung der setup_xampp.bat Datei dafür gesorgt hat, dass sämtliche Konfigurationsdateien die benötigten Einstellungen erhalten haben können Sie XAMPP mit Hilfe der xampp_start.exe und xampp_stop.exe starten und stoppen.

Die erfolgreiche Ausführung oder Beendung von XAMPP wird innerhalb der Eingabeaufforderung quittiert.

XAMPP im Testbetrieb

Um XAMPP und damit auch Ihren lokalen Webserver zu testen, benötigen Sie lediglich einen Browser und die folgende URL:

127.0.0.1/

oder

localhost/

XAMPP Distributionen

Sollten Sie nach einer aktuellen Distribution von XAMPP fahnden, empfiehlt es sich einen Blick auf www.apachefriends.org zu werfen. Dort finden Sie die jeweils aktuelle Distributionen zum Windowx-, Linux- und Solaris-Paket.

Installation von PHP als Apache-Modul

Apache 2 Triad

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Ersetzen von Zeichen in Zeichenketten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Ersetzen von Zeichen in Zeichenketten

Immer wieder benötigte Funktionen aus dieser Funktionsgruppe sind die Funktionen zum Entfernen von führenden oder angehängten Leerzeichen sowie die Funktionen zur Sonderzeichenbehandlung.

Funktion | Beispiel | Beschreibung
addcslashes($str, $charlist); | $str = addcslashes ($zeichen, "{AusgabeReferenz}..!@7..7") | Setzt C-typische Escape-Zeichen (Backslash "\") vor Sonderzeichen.
stripcslashes($str) | $str = stripcslashes ($zeichen) | Entfernt C-typische Escape-Zeichen (Backslash "\") vor Sonderzeichen.
addslashes($str) | $str = addslashes($zeichen); | Setzt Escape-Zeichen (Backslash "\") vor Sonderzeichen.
stripslashes($str) | $str = stripslashes($zeichen); | Entfernt Escape-Zeichen (Backslash "\") vor Sonderzeichen.
quotemeta($str) | $str = quotemeta($zeichen) | Setzt Backslash vor . \ + * ? [ ^ ] ( $ )
chop($str) | $str = chop($zeichen) | Entfernt Leerzeichen am Ende eines Strings.
ltrim($str) | $str = ltrim($zeichen) | Entfernt führende Leerzeichen eines Strings.
rtrim($str) | $str = rtrim($zeichen) | Entfernt Leerzeichen und Zeilenumbrüche am Ende eines Strings.
strtr($str,$from,$to) | $str = strtr($str, "ab", "ba") | Ersetzt Zeichen einer Zeichenkette anhand einer Austauschliste.
str_replace($strs,$stra,$str) | $str = str_replace($strs,$stra,$str) | Ersetzt im String $str alle Vorkommen eines Suchstrings $strs mit einem Austauschstring $stra.
str_ireplace($strs,$stra,$str) | $str = str_ireplace($strs,$stra,$str) | Wie str_replace(). Gross- und Kleinschreibung werden jedoch nicht berücksichtigt.
substr_ replace($strs,$stra,$str) | $str = substr_replace($str,$strs,$pos) | Ersetzt im String $str das Vorkommen eines Teilstings $strs ab einer bestimmten Position $pos.
trim($str) | $str = trim($str); | Entfernt Leerzeichen am Anfang und Ende einer Zeichenfolge.

Einsatz von addslashes()

Die Funktion addslashes() wird zum "escapen" von Zeichenfolgen verwendet, so dass Sonderzeichen in Strings, wie normale Zeichen interpretiert werden.

Beispiel

<?php
$spruch = "Toni's Eck";
// Ausgabe - Toni\'s Eck
echo addslashes($spruch);
?>

Diese Bearbeitung der Zeichenkette ist vor allem beim Arbeiten mit Datenbanken von Bedeutung, da nicht durch Escaping behandelte Sonderzeichen in Strings, die Datenbankfeldern übergeben werden sollen, zu Laufzeitfehlern führen, wenn das Datenbanksystem das Sonderzeichen als Ende des Strings und alle nachfolgenden Zeichen als fehlerhafte SQL-Befehle interpretiert.

Einsatz von stripslashes()

Mit der Funktion stripslashes() können die durch addslashes() eingefügten Backslashes wieder aus der Zeichenkette entfernt werden, so dass die Zeichenkette bei der Ausgabe korrekt dargestellt wird.

Beispiel

<?php
$spruch = "Toni\'s Eck";
// Ausgabe - Toni's Eck
echo stripslashes($spruch);
?>

Einsatz von str_replace()

Wie wäre es, wenn Sie auf einfache Weise eine Zeichenkette durch eine andere ersetzten könnten. Mit Hilfe der Funktion str_replace() stellt dies kein Problem dar.

Beispiel

<?php
$spruch = "Hallo Welt";
$spruch = str_replace("Welt","Germany",$spruch);
// Ausgabe - Hallo Germany
echo $spruch;
?>

Stringfunktionen

Umwandeln, Teilen und Verbinden von Zeichenketten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Umwandeln, Teilen und Verbinden von Zeichenketten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Umwandeln, Teilen und Verbinden von Zeichenketten

Häufig erforderliche Operationen sind das Umwandeln von Gross- und Kleinbuchstaben und umgekehrt, sowie das Zerlegen von Zeichenketten anhand von vorgegebenen Trennzeichen.

Funktion | Beispiel | Beschreibung
chunk_split($str[, length, end]]) | $str1 = chunk_split($spruch,1, " ") | Zerlegt einen String in Teile gleicher Länge. Gibt man keine length an wird die Zeichenkette automatisch nach 76 Zeichen geteilt.
strrev($str) | $str1 = strrev($spruch) | Invertiert Zeichenketten.
strtolower($str) | $str1 = strtolower($spruch); | Wandelt die Zeichenkette in Kleinbuchstaben um.
strtoupper($str) | $str1 = strtoupper($spruch); | Wandelt die Zeichenkette in Grossbuchstaben um.
ucfirst($str) | $str1 = ucfirst($spruch); | Wandelt das erste Zeichen in Grossbuchstaben um.
ucwords($str) | $str1 = ucwords ($spruch); | Wandelt das erste Zeichen jedes Worts in Grossbuchstaben um.
ord($str) | $wert = ord("Z") | Gibt den ASCII-Wert zurück.
quoted_printable_decode($str) | $str1 = quoted_printable_decode($spruch) | Dekodiert Quoted Printable-Zeichenfolgen in 8-Bit-Werte.
bin2hex($str) | $str1 = bin2hex($spruch) | Binär -> Hexadezimal. Umwandlung von Binär nach Hexadezimal
convert_cyr_string($str,$from,$to) | $str1 = convert_cyr_string($spruch,$from,$to) | Konvertiert Zeichen zwischen kyrillischen Zeichensätzen.
explode($sep,$str[, limit]) | $array = explode($sep,$str1) | Teilt Zeichenkette anhand des Trennzeichen $sep und gibt ein Array zurück. Der Parameter limit ist optional und legt fest, das nur maximal limit Elemente im Array zurückgegeben werden. Das letzte Element des Arrays enthält dann den restlichen String.
strtok($str,$sep) | $str1 = strtok($spruch,$sep) | Trennt Zeichenkette mit Hilfe des angegebenen Trennzeichen $sep.
implode($sep,$array) | $str = implode($sep,$array) | Gibt Array-Elemente unter Verwendung von Trennzeichen an den $str zurück.
join($sep,$array) | $str = join($sep,$array) | Identisch mit implode()

Einsatz von chunk_split()

Mit Hilfe der Funktion chunk_split() lässt sich ein String in Teile gleicher Länge zerlegen. Gibt man keine length an wird die Zeichenkette automatisch nach 76 Zeichen geteilt.

Beispiel

<?php
$spruch = "Wir zerlegen die Zeichenkette";
echo chunk_split($spruch,10,"<br>");
?>

Ausgabe

Wir zerleg
en die Zei
chenkette

Als Quelltext

Wir zerleg<br>en die Zei<br>chenkette<br>

Einsatz von explode()

Mit Hilfe der Funktion explode() lassen sich durch Einsatz eines Trennezeichens Zeichenketten zerlegen. Als Ergebnis erhält man ein Array zurück, welches die Teile der zerlegten Zeichenkette enthält.

Beispiel

<?php
$spruch = "Wir zerlegen die Zeichenkette";
$array = explode(" ",$spruch);
foreach ($array as $element) {
    echo "$element<br>";
}
?>

Ausgabe

Wir
zerlegen
die
Zeichenkette

Einsatz von strtok()

Die Funktion leistet im Prinzip genau dasselbe wie explode(). Jedoch liefert die Funktion nur den jeweils nächsten Teil (Token) zurück und muss, um die Zeichenkette vollständig zu verarbeiten, mehrmals aufgerufen werden.

Beispiel

<?php
$spruch = "Wir zerlegen die Zeichenkette";
$teil1 = strtok($spruch, " ");
$teil2 = strtok(" ");

// Ausgabe - Wir
echo $teil1;
// Ausgabe - zerlegen
echo $teil2;
?>

Natürlich lässt sich dieser Vorgang mit Hilfe einer while-Schleife wesentlich vereinfachen.

Beispiel - mit Schleife

<?php
$spruch = "Wir zerlegen die Zeichenkette";
$teil1 = strtok($spruch, " ");
echo "$teil1<br>";
while ($teil1) {
    $teil1 = strtok(" ");
    echo "$teil1<br>";
}
?>

Ausgabe

Wir
zerlegen
die
Zeichenkette

Einsatz von implode()

Die Funktion implode() stellt die zu explode() umgekehrte Funktionalität zur Verfügung. Sie können die Elemente eines Arrays zu einer Zeichenkette zusammenfassen und an eine Stringvariable übergeben.

Beispiel

<?php
$spruch = "Wir zerlegen die Zeichenkette";
// Array erzeugen
$array = explode(" ", $spruch);

// Array Einträge in Zeichenkette überführen
// (Trennzeichen *)
$zeichen = implode("*", $array);

// Ausgabe - Wir*zerlegen*die*Zeichenkette
echo $zeichen;
?>

Ersetzen von Zeichen in Zeichenketten

Suchen und Vergleichen von Zeichenketten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Suchen und Vergleichen von Zeichenketten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Suchen und Vergleichen von Zeichenketten

Die Funktionen dieser Funktionsgruppe dienen dem Vergleich von Zeichenketten sowie der Suche nach Zeichen und Zeichenketten.

Funktion | Beispiel | Beschreibung
strcmp($str1,$str2) | $resultat = strcmp($str1,$str2) | Vergleicht zwei Zeichenketten. Wenn $str1 < $str2 wird -1, im umgekehrten Fall 1 und bei Gleicheit 0 zurückgegeben.
strcasecmp($str1,$str2) | $resultat = strcasecmp($str1,$str2) | Wie strcmp(), aber case-insensitive, d.h. berücksichtigt Gross- und Kleinschreibung nicht.
strnatcmp($str1,$str2) | $resultat = strnatcmp ($str1,$str2) | Wie strcmp(), aber unter Berücksichtigung einer "natürlichen" Sortierreihenfolge bei numerischen Strings, d.h. "abc90de" ist kleiner als "abc100e".
strnatcasecmp($str1,$str2) | $resultat = strnatcasecmp ($str1,$str2) | Wie strnatcmp(),aber "case-insensitive, d.h. berücksichtigt Gross- und Kleinschreibung nicht.
strpos($str,$strs,$pos) | $str1 = strpos($str,$strs,$pos) | Findet die Position des ersten Auftretens einer Zeichenkette $strs ab Position $pos.
stripos ($str, $strs) | $pos = stripos ($str, $strs) | Findet die Position des ersten Auftretens eine Strings $strs innerhalb der Zeichenkette $str.
strrpos($str,$char) | $pos = strrpos ($str, $char) | Findet die Position des letzten Auftretens eines einzelnen Zeichens $char.
strripos($str,$strs[,$pos]) | $pos = strripos($str,$char) | Findet die Position des letzten Auftretens einer Zeichenkette $strs ab Position $pos.
strspn($str1,str2) | $anzahl = strspn ($str1,$str2) | Ermittelt die Anzahl der übereinstimmenden Zeichen
strcspn($str1,$str2) | $anzahl = strcspn($str1,$str2) | Ermittelt die Anzahl der nicht übereinstimmenden Zeichen
strstr($str,$strs) | $str1 = strstr($str,$strs) | Sucht das erste Auftreten einer Zeichenkette $strs und gibt diese und alle folgenden Zeichen zurück.
stristr($str,$strs) | $str1 = stristr($str,$strs) | Wie strstr(), Groß- bzw. Kleinschreibung werden jedoch nicht berücksichtigt.
strchr($str,$strs) | $str1 = strchr($str,$strs) | Sucht das erste Auftreten einer Zeichenkette $strs und gibt diese und alle folgenden Zeichen zurück.
strrchr($str,$strs) | $str1 = strrchr($str,$strs) | Sucht das letzte Auftreten einer Zeichenkette $strs und gibt diese und alle folgenden Zeichen zurück.
substr($str,$start,$length) | $str1 = substr($str,$start,$length) | Gibt Teil einer Zeichenkette ab $start mit der Länge $length zurück.
substr_count($str,strs) | $anzahl = substr_count($str,strs) | Ermittelt, wie oft eine Zeichenkette $strs in einem String $str vorkommt.
similar_text ($str1, $str2[, $prozent]) | similar_text ($str1, $str2,$prozent); | Berechnet die Ähnlichkeit zweier Zeichenketten. Falls Sie als Referenz ein drittes Argument angeben, wird ihnen die Ähnlichkeit als Prozentwert errechnet.
soundex($str) | soundex ("Knuth") == soundex ("Kant") | Berechnet die Laut-Ähnlichkeit eines Strings.
levenshtein($str1,$str2) | $diff = levenshtein($str1,$str2) | Errechnet die Differenz zwischen den als Argumente übergebenen zwei Strings. Ist einer der Strings länger als die zulässigen 255 Zeichen, wird -1 zurück gegeben. Die Levenshtein-Differenz ist definiert als die minimale Anzahl an Zeichen, die ersetzt, eingefügt oder gelöscht werden müssen um den $str1 nach $str2 umzusetzen.
metaphone($str) | metaphone("Hallo") == metaphone("Hello"); | Berechnet den metaphone-Schlüssel eines Strings. Genau wie soundex() berechnet metaphone den gleichen Schlüssel für ähnlich klingende Wörter. Die Metaphone-Funktion arbeitet genauer als soundex(), da sie die Grundregeln der englischen Aussprache kennt. Die durch metaphone erzeugten Schlüüsel sind von variabler Länge.

Einsatz von strcmp()

Mit Hilfe von strcmp() werden zwei Zeichenketten auf der Binärebene verglichen. Folgende Werte werden zurückgegeben:
. -1 - Ist $str1 kleiner als $str2
. 0 - Bei Gleichheit der Zeichenkette $str1 und $str2.
. 1 - Ist $str1 grösser $str2

Beispiel

<?php
$spruch1 = "Hallo Welt";
$spruch2 = "Hallo Welt";
$resultat = strcmp($spruch1, $spruch2);

if ($resultat == 0) {
    echo "Sind Gleich!";
} elseif ($resultat < 0) {
    echo "spruch1 ist kleiner als spruch2";
} else {
    echo "spruch1 ist grösser als spruch2";
}
?>

Ausgabe

Sind Gleich!

Bei einem mit der Funktion
strcmp
() durchgeführten Vergleich wird, z.B. der String "spruch99abc" grösser als der String "spruch100abc" sein. Sollte bei derartigen, teilweise numerischen Strings eine natürliche Sortierreihenfolge, welche die enthaltenen Zahlen mitberücksichtigt, erforderlich sein, kann die Funktion strnatcmp() verwendet werden.

Beispiel

<?php
$spruch1 = "spruch99abc";
$spruch2 = "spruch100abc";
$resultat = strnatcmp($spruch1, $spruch2);

if ($resultat == 0) {
    echo "Sind Gleich";
} elseif ($resultat < 0) {
    echo "spruch1 ist kleiner als spruch2";
} else {
    echo "spruch1 ist grösser als spruch2";
}
?>

Ausgabe

spruch1 ist kleiner als spruch2

Der Einsatz von strcmp() hätte bei diesem Beispiel das umgekehrte Ergebnis zur Folge.

Umwandeln, Teilen und Verbinden von Zeichenketten

Ausgabe von Zeichen und Zeichenketten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Ausgabe von Zeichen und Zeichenketten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Ausgabe von Zeichen und Zeichenketten

Zur Ausgabe von Zeichen und Zeichenfolgen stehen Ihnen in PHP die folgenden Funktionen zur Verfügung:

Funktion | Beispiel | Beschreibung
chr($wert) | $zeichen = chr($wert) | Gibt das dem ASCII-Wert entsprechende Zeichen zurück.
echo($vars) | echo $var1, $var2, $var3 | Gibt eine Zeichenfolge aus.
fprintf ($res, $format [, $vars]) | fprintf ($res, "%s%s%s ", $var1) | Gibt eine Zeichenfolge an eine Stream-Quelle aus.
print($vars) | print($var1) | Gibt eine Zeichenfolge aus.
printf($format,$vars) | printf("%s%s%s ",$var1,$var2,$var3) | Gibt eine formatierte Zeichenfolge aus.
sprintf($format,$vars) | sprintf("%s%s%s ",$var1,$var2,$var3) | Gibt eine formatierte Zeichenfolge zurück.
vprintf($format, $array) | vprintf("%s%s%s ",$array) | Gibt eine formatierte Zeichenfolge aus.
vsprintf($format, $array) | vsprintf("%s%s%s ",$array) | Gibt eine formatierte Zeichenfolge zurück.
flush() flush() Löscht den Ausgabepuffer.

Einsatz von printf() und sprintf()

Im Unterschied zur Funktion print() können mit den beiden Funktionen printf() und sprintf() mehrere Argumente übergeben werden.

Ein zusätzlich anzugebender Formatstring, der aus den Formatzeichen der nachfolgenden Auflistung zusammengestellt werden kann, bestimmt dabei das Format der auszugebenden Daten.

Jede der Formatierungs-Anweisungen besteht aus einem Prozent-Zeichen (%), gefolgt von einem oder mehreren der folgenden Elemente:

Symbol | Bedeutung
% | Ein Prozent-Zeichen ("%"). Es ist kein Argument erforderlich.
b | Das Argument wird als Integer angesehen und als Binär-Wert ausgegeben.
c | Das Argument wird als Integer angesehen und das entsprechende ASCII-Zeichen wird ausgegeben.
d | Das Argument wird als Integer angesehen und ein Dezimalwert (signed) ausgegeben.
u | Das Argument wird als Integer angesehen und ein Dezimalwert (unsigned) ausgegeben.
f | Das Argument wird als float angesehen und eine Fließkomma-Zahl ausgegeben.
o | Das Argument wird als Integer angesehen und und als Oktalzahl ausgegeben.
s | Das Argument wird als String angesehen und auch als solcher ausgegeben.
x | Das Argument wird als Integer angesehen und als Hexadezimal-Wert ausgegeben (mit Kleinbuchstaben).
X | Das Argument wird als Integer angesehen und als Hexadezimal-Wert ausgegeben (mit Großbuchstaben).

Das nächste Skript zeigt die Ausgabe von drei Variablen mit Hilfe der Funktion printf().

Beispiel

<?php
$mk = "Matthias<br>";
$ck = "Caroline<br>";
$gk = "Gülten<br>";
printf("%s%s%s", $mk,$ck,$gk);
?>

Ausgabe

Matthias
Caroline
Gülten

Unterschied echo() und print()

Bei der Funktion echo() handelt es sich um ein internes Sprachkonstrukt von PHP und bei print() um einen Ausdruck, dessen Wert (1) wie im folgenden Beispiel anderen Ausdrücken zugewiesen werden kann:

 <?php
$spruch = "Ausgabe der Zeichenkette";
$resultat = print($spruch);
echo "<br>";
print($resultat);
?>

Ausgabe

Ausgabe der Zeichenkette
1

Unterschied printf() und sprintf()

Der Unterschied zwischen printf() und sprintf() besteht darin, dass bei printf() die Ausgabe in die Standard-Ausgabe erfolgt, während sprintf() die auszugebenden Daten an eine Variable zurückgibt:

<?php
$mk = "Matthias<br>";
$ck = "Caroline<br>";
$gk = "Gülten<br>";
$resultat = sprintf("%s%s%s", $mk,$ck,$gk);
print $resultat;
?>

Ausgabe

Matthias
Caroline
Gülten

Suchen und Vergleichen von Zeichenketten

URL- und HTML-spezifische Zeichenkettenfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


URL- und HTML-spezifische Zeichenkettenfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

URL- und HTML-spezifische Zeichenkettenfunktionen

Die Funktionen dieser Gruppe werden benötigt, wenn mithilfe der HTTP-Methode GET Daten mit entsprechenden Sonderzeichen im Query-String via URL übertragen werden sollen.

Ein weiterer Anwendungsbereich dieser Funktion ist, wenn Zeichen, die in HTML eine besondere Bedeutung haben, z.B. < und >, auf einer HTML-Seite dargestellt werden sollen, ohne dass der Browser diese Zeichen als HTML-Sonderzeichen interpretiert.

Funktion | Beispiel | Beschreibung
get_meta_tags($file) | $array = get_meta_tags("inhalt.htm") | Extrahiert -Tags und gibt diese in einem Array zurück.
htmlentities($str) | $str1 = htmlentities($str) | Konvertiert HTML- und Sonderzeichen. Um die Interpretation zu verhindern.
htmlspecialchars($str) | $str1 = htmlentities($str) | Konvertiert HTML-Zeichen, wie & " ' < >. Um die Interpretation zu verhindern.
nl2br($str) | echo nl2br($str1) | Wandelt Zeilenumbrüche in -Tags um.
parse_str($str) | parse_str($str1) | Zerlegt den Query_String in seine Variablen.
parse_url($url) | $array = parse_url($url) | Zerlegt die URL in ihre einzelnen Bestandteile. Als Rückgabewert dieser Funktion erhalten Sie ein assoziatives Array mit den einzelnen Bestandteilen der URL.
rawurldecode($str) | echo rawurldecode($str1) | Wandelt Zeichenketten, die durch rawurlencode() kodiert wurden, in eine normale Zeichenkette um.
rawurlencode($str) | echo rawurlencode($str1) | Konvertiert die Umlaute und Sonderzeichen einer Zeichenkette in Prozentzeichen und dem zweistelligen, hexadezimal ASCII-Wert zur Verwendung in einer URL.
strip_tags($str[,allow_tags) | echo strip_tags($str1) | Entfernt HTML- und PHP-Tags. Mit Hilfe des optionalen Parameters allow_tags können bestimmte HTML- und PHP-Tags als zulässig festgelegt werden.
urldecode($str) | echo urldecode($str1) | Wandelt eine Zeichenkette um, welche über eine URL übermittelt oder mit der Funktion urlencode() kodiert wurde.
urlencode($str) | echo urlencode($str1) | Konvertiert die Umlaute und Sonderzeichen einer Zeichenkette in Prozentzeichen und dem zweistelligen, hexadezimal ASCII-Wert zur Verwendung in einer URL.
wordwrap($str,$pos,$sep) | $str = wordwrap($text, $length,$sep); | Bricht die Zeilen des Strings $str an der mittels $pos angegebenen Position um. Diese Zeilenumbrüche werden mit dem im (optionalen) Parameter $sep spezifizierten Steuerzeichen durchgeführt.

Einsatz von htmlspecialchars()

Ein dieser Funktion übergebener String wird von der Funktion so umgewandelt, dass HTML-spezifische Sonderzeichen vom Browser nicht mehr als solche behandelt, sondern als normale Zeichen ausgegeben werden.

Das folgende Beispiel demonstriert dieses Verhalten. Wenn Sie den String des folgenden Skripts mit echo() im Browser ausgeben wollen, werden Sie zunächst gar nichts sehen. Dies liegt daran, dass der Browser die Zeichen < und > als HTML-Sonderzeichen zur Kennzeichnung von HTML-Tags interpretiert, wodurch der Inhalt des Strings zur Definition eines HTML-Grundgerüsts ohne weiteren Inhalt wird, was im Browser zu keiner Anzeige führt.

Soll der String dennoch angezeigt werden, muss dieser vor der Ausgabe so umgewandelt werden, dass die Sonderzeichen ihre HTML-spezifische Bedeutung verlieren. Diese Aufgabe erledigt htmlspecialchars().

Beispiel

<?php
$html = '<html>
<head>
<title>HTML</title>
<meta name="author" content="Caroline K">
</head><body bgcolor="#FFFFFF" text="#000000">Test</body>
</html>';
echo $html;
?>

Der vorstehende echo()-Befehl erzeugt erwartungsgemäss keine Ausgabe. Wird $html vor der Ausgabe im Browser mit htmlspecialchars() konvertiert, verlieren die Sonderzeichen < und > ihre HTML-spezifische Bedeutung, so dass die Zeichenfolge nun tatsächlich angezeigt wird.

echo htmlspecialchars($html);

Ausgabe

<html> <head> <title>HTML</title> <meta name="author" content="Caroline K"> </head><body bgcolor="#FFFFFF" text="#000000">Test</body> </html>

Einsatz von htmlentities()

Die Funktion htmlentities() kann für die gleiche Aufgabe verwendet werden. Der Unterschied zwischen htmlspecialchars() und htmlentities() besteht darin, dass htmlentities() zusätzlich zu den von htmlspecialchars() umgewandelten Zeichen < > & " ' auch Umlaute und andere Sonderzeichen konvertiert.

Beispiel

<?php
$html = "Übung";
// Ausgabe (Quelltext) - &Uuml;bung
echo htmlentities($html);
?>

Einsatz von rawurlencode()

Die Funktion konvertiert die Umlaute und Sonderzeichen einer Zeichenkette in Prozentzeichen gefolgt von dem zugehörigen zweistelligen, hexadezimal ASCII-Wert, um zu ermöglichen, dass der String in einer URL verwendet werden kann.

Zum Beispiel wird auf diese Weise das im String des folgenden Skripts enthaltene Sonderzeichen &, das in einem URL eine Sonderbedeutung hat, in das Zeichen %26 umgewandelt, wodurch es diese spezielle Bedeutung verliert. Die in einem URL nicht zulässigen Leerzeichen werden auf diese Weise in %20 umgewandelt.

Beispiel

<?php
$teilurl = "wert ein&wert zwei";
echo rawurlencode($teilurl);
?>

Ausgabe

wert%20ein%26wert%20zwei

Einsatz von rawurldecode()

Mit Hilfe der Funktion rawurldecode() kann die Konvertierung von rawurlencode() wieder rückgängig gemacht werden.

Beispiel

<?php
$teilurl = "wert%20ein%26wert%20zwei";
echo rawurldecode($teilurl);
?>

Ausgabe

wert ein&wert zwei

Einsatz von nl2br()

Sie ersetzt sämtliche Zeilenumbrüche in der Zeichenkette durch einen HTML-Zeilenumbruch
.

Diese Funktion wird z.B. verwendet, wenn Daten, die aus Multi-Line-Feldern von Datenbanken stammen, HTML-gerecht aufbereitet werden sollen.

Beispiel

<?php
$datenbankinhalt = "Hier ein
Umbruch aus
einer Datenbank";
echo nl2br($datenbankinhalt);
?>

Ausgabe

Hier ein
Umbruch aus
einer Datenbank

Ausgabe - Quelltext

Hier ein<br />
Umbruch aus<br />
einer Datenbank

Einsatz von parse_url()

Die Funktion zerlegt die URL in ihre einzelnen Bestandteile. Als Rückgabewert dieser Funktion erhalten Sie ein assoziatives Array mit den einzelnen Bestandteilen der URL. Diese Bestandteile bestehen aus:
. scheme - Protokoll der Anfrage (z.B. http, ftp, etc.)
. host - Name (z.B. www.atomicscript.de)
. port - Protnummer (z.B. 8000)
. user - Username (für Logins)
. pass - Userpasswort (für Logins)
. path - Pfad zu Datei (z.B. /info.php)
. query - Anfrage an eine Datei (z.B. signal=ein)
. fragment - Sprungziel (Anker) innerhalb der Datei (z.B. unten)

Beispiel

<?php
$urltotal = "matze:123@www.atomicscript.de:8000/info.php?signal=eins#unten";

$urlarray = parse_url($urltotal);

foreach ($urlarray as $key=>$element) {
 echo "$key => $element<br>";
}
?>

Ausgabe

scheme => http
host => www.atomicscript.de
port => 8000
user => matze
pass => 123
path => /info.php
query => signal=eins
fragment => unten

Ausgabe von Zeichen und Zeichenketten

Zusätzliche Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zusätzliche Funktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zusätzliche Funktionen

Hier eine Auflistung weiterer Stringfunktionen.

Funktion | Beispiel | Beschreibung
count_chars($str,mode) | $array = count_chars($spruch); | Ermittelt, wie oft in einer Zeichenkette jedes Zeichen der ASCII-Zeichentabelle vorkommt. Der optionale Parameter mode ist auf 0 voreingestellt.
crypt($str,[salt]) | echo cryp($inhalt) | Verschlüsselung einer Zeichenkette mit der standard DES-Verschlüsselung. Der Parameter salt ist optional und gibt an wie stark die Verschlüsselung ist.
str_pad($str,length[, $str_pad[, pad_type]]) | $str1 = str_pad($zeichen,10, "*") | Erweitert einen String auf eine bestimmte Länge unter Verwendung eines anderen Strings. Wird str_pad nicht gesetzt, so wird der String mit Leerzeichen gefüllt.
str_repeat($str,mult) | $str1 = str_repeat($zeichen, 10) | Wiederholt eine String-Ausgabe. Die Anzahl der Wiederholungen wird mit Hilfe des Parameter mult festgelegt.
str_shuffle($str) | $str1 = str_shuffle($zeichen) | Mischt die Zeichen innerhalb einer Zeichenkette.
str_split($str,length) | $array = str_split($zeichen,2) | Wandelt eine Zeichenkette in ein Array um. Wenn der optionale Parameter length gesetzt wurde, werden die einzelnen Einträge des Arrays auf eine bestimmte Anzahl von Zeichen beschränkt. Sollte der Parameter nicht gesetzt werden, wird jeder Eintrag aus einem Zeichen bestehen.
str_word_count($str[, format]) | $zahl = str_word_count($zeichen) | Zählt die Worte in $str. Wenn der optionale Parameter format nicht angegeben wird, wird ein Integer mit der Anzahl der Worte zurückgegeben. Andernfalls wird ein Array zurückgegeben, dessen Inhalt von format abhängt.
strlen($str) | echo strlen($zeichen) | Gibt die Länge einer Zeichenkette zurück.
md5($str) | echo md5($inhalt) | Verschlüsselt eine Zeichenkette nach der MD5-Methode.
md5_file($file) | echo md5_file($datei) | Verschlüsselt den Dateinamen einer Datei nach der MD5-Methode.
sha1($str) | echo sha1($inhalt) | Verschlüsselt eine Zeichenkette nach der Sha1-Methode (US Secure Hash Algorithm 1).
sha1_file($file) | echo sha1_file($datei) | Verschlüsselt den Dateinamen einer Datei nach der Sha1-Methode.
number_format($float [, $decimals [,dec_point [, dec_thousands_sep]]]) | echo number_format(1999.95, 2, "," , ".") | Hiermit lässt sich eine Zahl formatieren. Die Parameter haben folgende Bedeutung: $float ist der zu formatierende Wert. $decimals Anzahl der Nachkommastellen. dec_point legt das Zeichen der Nachkommastelle fest dec_thousands_sep legt das Tausendertrennzeichen fest.
sscanf($str,format,[$vars]) | $str1 = sscanf($zeichen, "%s %s %s",$var1) | Überträgt einen String in ein angegebenes Format und gibt die Werte in Form eines Arrays zurück.

Einsatz von count_chars()

Die Funktion ermittelt, wie oft in einer Zeichenkette jedes Zeichen der ASCII-Zeichentabelle vorkommt. Der optionale Parameter mode ist auf 0 voreingestellt. Abhängig von mode gibt die Funktion folgendes zurück:
. 0 - ein Array mit den Byte-Werten als Schlüssel und deren Häufigkeit jedes Bytes als Wert.
. 1 - wie 0, allerdings werden nur Byte-Werte mit einer Häufigkeit grösser 0 aufgelistet.
. 2 - wie 0, allerdings werden nur Byte-Werte mit einer Häufigkeit von 0 aufgelistet.
. 3 - einen String der alle vorkommenden Zeichen enthält.
. 4 - einen String der alle nicht vorkommenden Zeichen enthält.

Beispiel - mit mode 0

<?php
$spruch = "Ein einfacher Text";
$resultat = count_chars($spruch);
foreach($resultat as $key=>$element) {
 echo "$key => $element<br>";
}
?>

Beispiel - mit mode 3

<?php
$spruch = "Ein einfacher Text";
$resultat = count_chars($spruch,3);
echo $resultat;
?>

Ausgabe

ETacefhinrtx

Einsatz von crypt()

Die Funktion verschlüsselt eine Zeichenkette mit der standard DES-Verschlüsselung. Der Parameter salt ist optional und gibt an wie stark die Verschlüsselung ist. Ist kein Salt-Argument angegeben, wird es von PHP nach dem Zufalls-Prinzip erzeugt.

Auf Systemen, wo die crypt()-Funktion mehrere Verschlüsselungen unterstützt, werden die folgenden Konstanten auf 0 oder 1 gesetzt, je nachdem, ob der entsprechende Typ verfügbar ist:
. CRYPT_STD_DES - Standard DES-Schlüssel mit 2-Zeichen Salt
. CRYPT_EXT_DES - Erweiterter DES-Schlüssel mit einem 9-Zeichen Salt
. CRYPT_MD5 - MD5-Schlüssel mit 12-Zeichen Salt, beginnend mit $
. CRYPT_BLOWFISH - Erweiterter DES-Schlüssel, 16-Zeichen Salt, beginnend mit $

Beispiel

<?php
$wort = "Geheim";
echo crypt($wort);
?>

Ausgabe

$wU0.3b/.AcHombM6Np9aSgknBp9f.

Achtung: Der verschlüsselte String kann nicht entschlüsselt werden, da crypt() eine Einweg-Verschlüsselung ist.

Einsatz von str_shuffle()

Die Funktion ermöglicht es Ihnen die Zeichen innerhalb einer Zeichenkette nach dem Zufallsprinzip zu mischen.

Beispiel

<?php
$wort = "Geheim";
// Ausgabe - ehmGei
echo str_shuffle($wort);
?>

Einsatz von number_format()

Mit Hilfe der Funktion lässt sich eine Zahl formatieren.

number_format($float [, $decimals [,dec_point [, dec_thousands_sep]]])

Die Parameter haben folgende Bedeutung:
. $float ist der zu formatierende Wert.
. $decimals Anzahl der Nachkommastellen.
. dec_point legt das Zeichen der Nachkommastelle fest.
. dec_thousands_sep legt das Tausendertrennzeichen fest.

Beispiel

<?php
// Zahl
$number = 19999.95;

// englische notation (default)
// Ausgabe (19,999.95)
$english_format = number_format($number, 2);
echo "$english_format<br>";

// deutsche notation
// Ausgabe (19.999,95)
$deutsch_format = number_format($number, 2,",",".");
echo "$deutsch_format<br>";

// franzözische notation
// Ausgabe (19 999,95)
$franz_format = number_format($number, 2, ',', ' ');
echo "$franz_format<br>";
?>

Ermitteln des Plurals

Dieser letzte Punkt gehört streng genommen nicht zu den Stringfunktionen. Wir sind uns jedoch sicher, dass Sie diesen Tipp recht nützlich finden werden.

Sie möchten Wörter, die auf den Werten von Variablen basieren, korrekt in den Plural setzen. Dann könnten Sie den bereits vorgestellten Konditionaloperator hierfür einsetzen. Wie dies funktioniert wird Ihnen im folgenden Beispiel aufgezeigt:

<?php
$anzahl = 4;
print "Ihr Warenkorb enthält $anzahl " . ($anzahl == 1 ? "Produkt" : "Produkte") . ".";
?>

Ausgabe

Ihr Warenkorb enthält 4 Produkte.

URL- und HTML-spezifische Zeichenkettenfunktionen

Reguläre Ausdrücke

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Reguläre Ausdrücke für einzelne Zeichen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Reguläre Ausdrücke für einzelne Zeichen

Um in einer Zeichenfolge nach diversen Zeichen zu suchen, müssen Sie den Suchausdruck in eckige Klammern setzen. Nur wenn Sie nach einem einzelnen Zeichen zusuchen, können Sie die eckigen Klammern weglassen. Wenn Sie mehrere Zeichen ohne eckige Klammern notieren, werden diese als Zeichenfolge interpretiert.

Im folgenden Beispiel werden die einzelnen Elemente des Arrays $marken nach dem Zeichen a durchsucht. Der zugehörige reguläre Ausdruck, der im Beispiel der Variablen $reg_muster zugewiesen und anschliessend der Funktion ereg() zur Weiterverarbeitung übergeben wird, ist also einfach a.

Beispiel

<?php
// Array
$marken = array(
                "Puma",
                "Adidas",
                "Adobe",
                "Macromedia",
                "Microsoft"
                );
$reg_muster = "a";
foreach ($marken as $eintrag) {
 if (ereg($reg_muster,$eintrag)) {
     echo "Marke: " . $eintrag . " enthält das Suchmuster " . $reg_muster . "<br>";
 }
}
?>

Ausgabe

Marke: Puma enthält das Suchmuster a
Marke: Adidas enthält das Suchmuster a
Marke: Macromedia enthält das Suchmuster a

Einsatz von eckigen Klammern

Wenn Sie in der zu durchsuchenden Zeichenfolge nach einer Gruppe bestimmter Zeichen suchen wollen, werden diese in eckige Klammern eingeschlossen.

Mit dem regulären Ausdruck [PAM], den Sie im Beispiel der Variablen $reg_muster zuweisen können, finden Sie sämtliche Zeichenfolgen im Array $marken, die die Zeichen P, A oder M enthalten.

$reg_muster = "[PAM]";

Ausgabe

Marke: Puma enthält das Suchmuster [PAM]
Marke: Adidas enthält das Suchmuster [PAM]
Marke: Adobe enthält das Suchmuster [PAM]
Marke: Macromedia enthält das Suchmuster [PAM]
Marke: Microsoft enthält das Suchmuster [PAM]

Wenn Sie nach Zeichenbereichen suchen wollen, z.B. nach Buchstaben der ersten Hälfte des Alphabets oder nach Ziffern, markieren Sie den gewünschten Bereich durch das Anfangszeichen, ein Minuszeichen als Bindestrich und das Endzeichen.

Regulärer Ausdruck | Bedeutung
"[A-Z]" | Findet Grossbuchstaben A bis Z.
"[a-z]" | Findet Kleinbuchstaben von a bis z.
"[0-9]" | Findet Ziffern von 0 bis 9.
"[a-zA-Z]" | Findet Klein- und Grossbuchstaben von A bis Z.
"[a-zA-Z0-9_]" | Findet Buchstaben, Ziffern oder Unterstrich.

Wenn Sie nach einem der Zeichen + - ? . * ^ $ ( ) [ ] { } | \ suchen wollen, notiert Sie vor dem Zeichen einen umgekehrten Schrägstrich \ (Backslash).

Regulärer Ausdruck | Bedeutung
"[0-9]\%" | Findet Ziffern oder Prozentzeichen.
"[\[\]" | Findet alles, worin eckige Klammern vorkommen.
"[0-9]\+\- " | Findet Ziffern, Plus oder Minus.

Einsatz des Dachzeichen

Sie können auch eine Negativsuche veranlassen. Dazu notieren Sie das Dachzeichen ^ vor den gewünschten Zeichen oder Zeichenbereichen.

Regulärer Ausdruck | Bedeutung
"[^a-zA-Z]" | Findet alles, worin keine Buchstaben vorkommen.
"[^äöüÄÖÜ]" | Findet alles, worin keine deutschen Umlaute vorkommen.

Eine solche Suche bewirkt, wie das folgende Beispiel zeigt, dass nur Stellen gefunden werden, die die angegebenen Zeichen nicht enthalten:

<?php
// Array
$marken = array(
                "Puma",
                "Adidas",
                "Adobe",
                "3M",
                "Macromedia",
                "111-222-333",
                "Microsoft"
                );
$reg_muster = "[^a-zA-Z]";
foreach ($marken as $eintrag) {
 if (ereg($reg_muster,$eintrag)) {
     echo "Marke: " . $eintrag . " enthält das Suchmuster " . $reg_muster . "<br>";
 }
}
?>

Ausgabe

Marke: 3M enthält das Suchmuster [^a-zA-Z]
Marke: 111-222-333 enthält das Suchmuster [^a-zA-Z]

Reguläre Ausdrücke

Reguläre Ausdrücke für Zeichenketten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Reguläre Ausdrücke für Zeichenketten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Reguläre Ausdrücke für Zeichenketten

Reguläre Ausdrücke können auch zum Suchen von Zeichenfolgen verwendet werden. Hierbei können so genannte Gruppierungsoperatoren (Platzhalter, Wildcards) zu Platzhaltersuchen verwendet werden. Des Weiteren ist die Suche nach Zeichenfolgen, die am Anfang oder Ende eines Worts oder einer Zeile stehen, möglich.

Wenn Sie nach einer bestimmten Zeichenkette suchen wollen, geben Sie die Zeichenkette zwischen den beiden Anführungszeichen des regulären Ausdrucks an.

Das folgende Beispiel zeigt, dass mit dem verwendeten Suchmuster sämtliche Zeichenfolgen gefunden werden, die das in dem regulären Ausdruck vorgegebene Suchmuster als Teilstring enthalten.

<?php
// Array
$texte = array(
                "Ich bin ein Mann",
                "Ein Mann steht in der Tür",
                "Ein Auto steht vor dem Haus",
                "Die Mannen von Hektor"
                );
$reg_muster = "Mann";
foreach ($texte as $eintrag) {
 if (ereg($reg_muster,$eintrag)) {
     echo "Text: " . $eintrag . " enthält das Suchmuster " . $reg_muster . "<br>";
 }
}
?>

Ausgabe

Text: Ich bin ein Mann enthält das Suchmuster Mann
Text: Ein Mann steht in der Tür enthält das Suchmuster Mann
Text: Die Mannen von Hektor enthält das Suchmuster Mann

Hinweis: Auch in Mannen steckt das Suchmuster Mann und wird daher erkannt!

Einsatz des Fragezeichen

Das Fragezeichen ? bedeutet in einem regulären Ausdruck, dass das Zeichen vor dem Fragezeichen Bestandteil der gefundenen Zeichenfolge sein darf, dass aber auch Zeichenfolgen ohne diese Zeichen gefunden werden.

Regulärer Ausdruck | Bedeutung
"Hek?" | Findet Zeichenfolgen, wie Hektar, Hektor, etc.
"Ma?" | Findet Zeichenfolgen, wie Mama, Mann, Mannschaft, etc.

Einsatz des Punkt

Der Punkt . steht für genau ein beliebiges Zeichen an der betreffenden Stelle.

Regulärer Ausdruck | Bedeutung
"Man." | Findet Zeichenfolgen, wie Mann, Mani, Manu, Mannschaft, etc.
"Hekt.r" | Findet Zeichenfolgen, wie Hektor, Hektar, etc.
"Fr.ed.n" | Findet Zeichenfolgen, wie Frieden, Friedensmission, etc.

Einsatz des Pluszeichen

Das Pluszeichen + bedeutet: eine oder mehrere Wiederholungen des Zeichens, das vor dem Pluszeichen steht.

Regulärer Ausdruck | Bedeutung
"a+" | Findet Zeichenfolgen die a, aa, aaaa oder beliebig viele a enthalten.
"Au+to" | Findet Zeichenfolgen, wie Auto, Auuah, etc.

Einsatz des Sternzeichen

Der Sternzeichen * bedeutet in regulären Ausdrücken, dass keine, eine oder mehrere Wiederholungen des Zeichens, das vor dem Sternzeichen steht, erlaubt sind.

Regulärer Ausdruck | Bedeutung
"Ba*" | Findet Zeichenfolgen, wie Baum, Baam, Band, BND, etc.

Wenn Sie vor dem Sternzeichen einen Punkt notieren, der ja für ein beliebiges Zeichen steht, erzeugen Sie, wie in dem folgenden Beispiel, einen Platzhalter mit einer beliebigen Anzahl von Zeichen.

Regulärer Ausdruck | Bedeutung
"Li.*um" | Findet Zeichenfolgen, wie Lithum, Liittthum, etc.

Einsatz von geschweiften Klammern

Eine oder zwei in geschweiften Klammern eingeschlossenen Zahlen {n} oder {n,m} stehen für n Widerholungen des Zeichens vor der geschweiften Klammer an der betreffenden Stelle.

Werden zwei Zahlen angegeben bedeutet dies zwischen n und m Widerholungen des Zeichens vor der geschweiften Klammer. Das Punktzeichen kann vor der geschweiften Klammer ebenfalls verwendet werden, was dann bedeutet, dass so viele beliebige Zeichen wie innerhalb der geschweiften Klammer angegeben auftreten dürfen.

Regulärer Ausdruck | Bedeutung
"a{10,20}" | Findet zwischen 10 und 20 a in Folge.
"a{10}" oder "a{10,}" | Findet 10 und mehr a in Folge.
"Li.{3}t" | Findet Zeichenfolge, wie Liiiithum, Liooothum, etc.

Einsatz von Dach- und Dollarzeichen

Sie können nach Zeichenketten suchen, die nur dann gefunden werden, wenn sie am Anfang oder am Ende eines Wortes vorkommen. Auch die Umkehrung davon ist möglich:
. Sie können nach Zeichenketten suchen, die nur dann gefunden werden, wenn sie nicht am Anfang oder am Ende eines Wortes vorkommen.
. Sie können Zeichenketten suchen, die nur dann gefunden werden, wenn sie am Anfang oder am Ende einer Zeile im zu durchsuchenden Bereich vorkommen.

Mit dem Dachzeichen ^ am Beginn des Suchausdrucks wird die Zeichenkette nur gefunden, wenn sie am Anfang der Zeile steht.

Mit dem Dollarzeichen $ am Ende des Suchausdrucks wird die Zeichenkette nur gefunden, wenn sie am Ende der Zeile steht.

Regulärer Ausdruck | Bedeutung
"^tausend" | Findet die Zeichenfolge tausend nur am Anfang eines zu durchsuchenden Bereichs.
"tausend$" | Findet die Zeichenfolge tausend nur am Ende eines zu durchsuchenden Bereichs.

Reguläre Ausdrücke für einzelne Zeichen

Variablen in regulären Ausdrücken

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Variablen in regulären Ausdrücken

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Variablen in regulären Ausdrücken

Innerhalb von reguläre Ausdrücken ist auch die Verwendung von Variablen möglich. Auf diese Weise können auch dynamische Daten, z.B. Formulareingaben, welche der CGI-Schnittstelle übergeben werden, als Suchmuster eingesetzt werden.

Ein einfaches Beispiel für die Verwendung von Variablen in regulären Ausdrücken, zeigt das folgende Skript:

<?php
// Array
$marken = array(
                "Puma",
                "Adidas",
                "Adobe",
                "Dell",
                "Ferrari"
                );

for ($i = 65; $i < 71; $i++) {
 $reg_muster = chr($i);
 echo "Suchmuster $reg_muster:<br>";
 foreach($marken as $eintrag) {
  if (ereg($reg_muster,$eintrag)) {
    echo "Zeichenfolge " . $eintrag . " enthält das Suchmuster " . $reg_muster . "<br>";
  }
 }
}
?>

Ausgabe

Suchmuster A:
Zeichenfolge Adidas enthält das Suchmuster A
Zeichenfolge Adobe enthält das Suchmuster A
Suchmuster B:
Suchmuster C:
Suchmuster D:
Zeichenfolge Dell enthält das Suchmuster D
Suchmuster E:
Suchmuster F:
Zeichenfolge Ferrari enthält das Suchmuster F

Denken Sie daran, die Funktion chr() hat die Aufgabe ASCII-Werte, welche durch die Schleife generiert werden durch in ein Zeichen umzuwandeln. Die Schleife generiert die Zeichen A-F.

Reguläre Ausdrücke für Zeichenketten

Reguläre Ausdrücke mit Alternativen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Apache 2 Triad

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Apache 2 Triad

Ein weiteres Installations-Kit stellt die Apache 2 Triad Distribution dar.

Die Distribution, welche lediglich für Windows-Systeme zur Verfügung steht, setzt sich aus folgenden Komponenten zusammen:

. Apache2
. MySQL
. OpenSSL
. Xmail
. SlimFTPd
. PHP
. Perl
. Python
. PHPmyadmin
. PHPXMail
. PHPSftpD

Achtung: Die aktuelle Distribution ist nicht für Windows 98 oder ME geeignet!

Apache 2 Triad Distribution

Sollten Sie nach einer aktuellen Distribution von Apache 2 Triad fahnden, empfiehlt es sich einen Blick auf apache2triad.sourceforge.net zu werfen. Dort finden Sie die jeweils aktuelle Distribution.

XAMPP

WAMP5

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Reguläre Ausdrücke mit Alternativen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Reguläre Ausdrücke mit Alternativen

Sie können in regulären Ausdrücken auch Alternativen angeben. Diese können durch das Zeichen | gekennzeichnet werden.

Regulärer Ausdruck | Bedeutung
"a|b|c" | Findet a oder b oder c. Das Gleiche Ergebnis würden Sie mit "[abc]" erzielen.

Variablen in regulären Ausdrücken

Rangfolge und Klammerung in regulären Ausdrücken

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Rangfolge und Klammerung in regulären Ausdrücken

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Rangfolge und Klammerung in regulären Ausdrücken

Die Sonderzeichen innerhalb von regulären Ausdrücken werden vom PHP-Interpreter entsprechend der folgenden Rangfolge bewertet:

Rang | Zeichen | Bedeutung
Stufe 1 | () | Klammerung
Stufe 2 | + * ? {#,#} | Gruppierungsoperator
Stufe 3 | Abc ^$ \b \B | Zeichen, Zeichenketten, Zeilenanfang-/ende, Wortanfang/-ende.
Stufe 4 | | | Alternativen

Dadurch ist jeder reguläre Ausdruck eindeutig bewertbar. Um eine andere Rangfolge bei der Bewertung eines regulären Ausdrucks zu erreichen, können Sie innerhalb des Ausdrucks Klammern setzen.

Reguläre Ausdrücke mit Alternativen

Funktionen für reguläre Ausdrücke

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Funktionen für reguläre Ausdrücke

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Funktionen für reguläre Ausdrücke

In den bisherigen Beispielen wurde bereits mehrfach die Funktion ereg() eingesetzt. Mit Hilfe dieser Funktion kann ein regulärer Ausdruck auf eine Zeichenkette angewendet werden. Die Funktion gibt TRUE zurück, falls der zu übergebende reguläre Ausdruck in der zu durchsuchenden Zeichenkette gefunden wird. Die folgende Tabelle enthält sämtliche in PHP zur Verfügung stehenden POSIX-Funktionen, POSIX steht für Portable Operating System Interface und beschreibt in der Version 1003.2 standardisierte Shells und Kommandos in UNIX.

Funktion | Beispiel | Beschreibung
ereg ($reg_exp, $str, [, $matches]) | $res = ereg("[0-9]",$zeichen); | Sucht in $str unter Berücksichtigung der Groß- und Kleinschreibung nach Übereinstimmungen mit dem regulären Ausdruck, der in $reg_exp angegeben wurde.
eregi ($reg_exp, $str [, $matches]) | $res = eregi("[0-9]",$zeichen); | Sucht in $str nach Übereinstimmungen mit dem regulären Ausdruck, der in $reg_exp angegeben wurde. Gross- und Kleinschreibung werden nicht berücksichtigt.
ereg_replace ($reg_exp, $rep, $str) | $res = ereg_replace ("AB", "12", $str); | Diese Funktion durchsucht $str unter Berücksichtigung der Groß- und Kleinschreibung nach Übereinstimmungen mit $reg_exp und ersetzt dann den übereinstimmenden Text durch $rep.
eregi_replace ($reg_exp, $rep, $str) | $res = ereg_replace ("ab", "12", $str); | Diese Funktion durchsucht $str nach Übereinstimmungen mit $reg_exp und ersetzt dann den übereinstimmenden Text durch $rep. Gross- und Kleinschreibung werden nicht berücksichtigt.
split ($reg_exp, $str [, limit]) | split("[/.-]", $zeichen, 5); | Gibt ein Array mit Zeichenketten zurück, die jeweils eine Teilzeichenkette von $str sind. Diese Teilzeichenketten entstehen durch Zerlegung von $str an den durch $reg_exp des Groß- und Kleinschreibung berücksichtigenden regulären Ausdrucks bestimmten Stellen. Wenn limit gesetzt wurde, enthält das zurückgegebene Array höchstens limit Elemente, von denen das letzte den Rest von $str enthält. Bei Auftreten eines Fehlers gibt die Funktion FALSE zurück.
spliti ($reg_exp, $str [, limit]) | spliti("[/.-]", $zeichen, 5); | Wie split(), jedoch wird die Gross- und Kleinschreibung nicht berücksichtigt.
sql_regcase($str) | echo sql_regcase($zeichen) | Gibt einen korrekten regulären Ausdruck zurück, der mit $str ohne Berücksichtigung von Groß und Kleinschreibung übereinstimmt.

Einsatz von ereg_replace()

Die Funktion ereg_replace() führt eine Suche entsprechend der Funktion ereg() durch und ersetzt die gefundene Zeichenkette mit einem angegebenen Ersatz-String ($rep, replace).

Beispiel

<?php
$satz = "Ich bin ich und du bist ich";
$reg_muster = "ich";
$rep = "du";
$res = ereg_replace($reg_muster,$rep,$satz);
echo $res;
?>

Ausgabe

Ich bin du und du bist du

Die Funktion eregi() und eregi_replace() gehen nach dem selben Schema vor, jedoch wird zwischen Gross- und Kleinschreibung nicht unterschieden.

Beispiel - mit eregi_replace()

<?php
$satz = "Ich bin ich und du bist ich";
$reg_muster = "ich";
$rep = "du";
$res = eregi_replace($reg_muster,$rep,$satz);
echo $res;
?>

Ausgabe

du bin du und du bist du

Hinweis: Mehr zu den POSIX-Funktionen erfahren Sie im Abschnitt Einsatz der Funktionen im POSIX-Stil.

Rangfolge und Klammerung in regulären Ausdrücken

Ergänzungen zu reguläre Ausdrücke

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Ergänzungen zu reguläre Ausdrücke

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Ergänzungen zu reguläre Ausdrücke

In diesem Abschnitt haben wir einige zusätzliche Informationen zum Thema reguläre Ausdrücke für Sie zusammengefasst.

Perl-kompatible Funktionen

Sollte das Modul PCRE (Perl Compatible Regular Expressions) aktiviert sein, können anstelle der Funktionen der ereg-Bibliothek die Funktionen der Perl-kompatiblen preg-Bibliothek verwendet werden.

Die Funktionen dieser Bibliothek sind schneller und flexibler als die der ereg-Funktionen, da sie wesentlich effizienter in der Verarbeitung von regulären Ausdrücken sind.

Funktion | Beispiel | Beschreibung
preg_match ($reg_exp, $str [, $matches]) | $res = preg_match("/test/", $str) | Durchsucht eine Zeichenkette $str, auf ein Suchmuster $reg_exp und speichert die erste Fundstelle in $matches.
preg_match_all ($reg_exp, $str, $matches [, order]) | $res = preg_match_allpreg_match("/test/", $str) | Durchsucht eine Zeichenkette $str, auf ein Suchmuster $reg_exp und speichert sämtliche Fundstellen in $matches. Optional kann noch die Ordnung order angegeben werden.
preg_replace ($reg_exp, $rep, $str, [, limit]) | echo preg_replace("/\s|,/","-",$str) | Diese Funktion durchsucht $str nach Übereinstimmungen mit $reg_exp und ersetzt dann den übereinstimmenden Text durch $rep. Optional kann noch die Anzahl limit der Ersetzungen angegeben werden.
preg_replace_callback($reg_exp, $callback, $str [, limit]) | echo preg_replace("/\s|,/","meinfunk",$str) | Diese Funktion durchsucht $str nach Übereinstimmungen mit $reg_exp und ersetzt dann den übereinstimmenden Text mit Hilfe der innerhalb der callback-Funktion $callback festgelegten Vorgaben. Optional kann noch die Anzahl limit der Ersetzungen angegeben werden.
preg_split($reg_exp, $str [, limit [ flags]]) | $array = preg_split("/(?= [a-z])/",$str) | Gibt ein Array mit Zeichenketten zurück, die jeweils eine Teilzeichenkette von $str sind. Diese Teilzeichenketten entstehen durch Zerlegung von $str an den durch $reg_exp des Groß- und Kleinschreibung berücksichtigenden regulären Ausdrucks bestimmten Stellen. Wenn limit gesetzt wurde, enthält das zurückgegebene Array höchstens limit Elemente, von denen das letzte den Rest von $str enthält. Bei Auftreten eines Fehlers gibt die Funktion FALSE zurück. Der optionale Parameter flags steuert das Verhalten der Funktion.
preg_quote ($str [, delimiter]) | $str1 = preg_quote($str); | Setzt einen Backslash vor Sonderzeichen. Optional kann mit Hilfe des Parameter delimiter das Trennzeichen festgelegt werden.
preg_grep($reg_exp, $array) | $array1 = preg_grep("/^/",$array); | Durchsucht ein Array $array und filtert die enthaltenen Elemente des Arrays mit Hilfe des regulären Ausdrucks $reg_exp.

Die Syntax der Perl-kompatiblen regulären Ausdrücke orientiert sich an der Syntax von Perl 5.005.

Begrenzung der Suchmuster

Die Suchmuster sind zwischen Begrenzungszeichen / / einzuschliessen. Als Begrenzungszeichen sind mit Ausnahme von alphanumerischen Zeichen und dem Backlash (\) alle Zeichen erlaubt. Wenn das gewählte Begrenzungszeichen im Ausdruck selbst benötigt wird, muss mit einem vorangestellten Backslach gekennzeichnet werden.

Einsatz von Zeichenbereiche [ ]

Innerhalb eines Zeichenbereich verlieren die meisten Metazeichen ihre Bedeutung und werden als normale Zeichen interpretiert. Eine handvoll Metazeichen muss jedoch berücksichtigt und gegebenenfalls escaped oder anders angeordnet werden.

- (Minuszeichen) - Wird als Zeichen für den Bereich verwendet. Möchten Sie dies als normales Zeichen verwenden, so ordnen Sie es am Anfang oder am Ende der Zeichenklasse an ,[-ab] bzw. [ab-], oder escapen Sie es mit \-.

[ (offene eckige Klammer) - Enthält Ihr Zeichenbereich eine offene eckige Klammer, so notieren Sie diese am Ende des Zeichenbereichs aber vor dem Minuszeichen oder escapen Sie das Zeichen mit \ [.

] (schliessende eckige Klammer) - Enthält Ihr Zeichenbereich eine geschlossene eckige Klammer, so notieren Sie diese am Anfang des Zeichenbereichs oder escapen Sie das Zeichen mit \ ].

\ (Backslash) - Enthält Ihr Zeichenbereich einen Backslash, so escapen Sie diesen mit \.

/ (Slash) - Enthält Ihr Zeichenbereich einen Slash, so escapen Sie diesen mit \/.

^ (Dachzeichen) - Enthält Ihr Zeichenbereich ein Dachzeichen, so escapen Sie dieses mit \^.

Wollen Sie eine Auswahlnegation erhalten, d.h., die in dem Zeichenbereich genannten Zeichen dürfen nicht innerhalb der Zeichenfolge vorkommen, dann beginnen Sie Ihren Zeichenbereich mit ^. Das Suchmuster /[^äöüÄÖÜ]/ findet beispielsweise ein Zeichen, dass kein Umlaut ist.

Metazeichen

Zur Konstruktion der regulären Ausdrücke sind folgende Metazeichen definiert:

Zeichen | Bedeutung
\ | Nimmt dem nachfolgenden nichtalphanumerischen Zeichen die Sonderfunktion.
^ | Anfang der Zeile oder des Textes.
. | Beliebiges Zeichen ausser dem Zeilentrenner.
$ | Zeilentrenner oder Ende des Textes.
| | Alternative.
( ) | Gruppierung.
[ ] | Zeichenbereich (Zeichenklasse).

Quantifikatoren

Zusätzlich stehen die folgenden Quantifikationen zur Verfügung:

Quantifikator | Bedeutung
* | Garnicht bis beliebig oft. Enspricht {0, }
+ | Mindestens einmal, ansonsten beliebig oft. Entspricht {1, }
? | Garnicht oder 1-mal. Enspricht {0,1}
{n} | Genau n-mal.
{n,} | Mindestens n-mal.
{n,m} | Zwischen n- und m-mal.

Liste der Metazeichen

Die folgende Tabelle enthält eine Übersicht über die gebräuchlichsten Metazeichen und Ihrer Bedeutung. In der Spalte "Escape" ist angegeben, wie Sie das Zeichen escapen können.

Zeichen | Escape | Bedeutung
^ | \^ | Findet ein Zeichen oder eine Zeichenfolge am Anfang, am Anfang eines Zeichenbereichs steht es für eine Negation.
$ | $ | Findet ein Teilsuchmuster am Ende einer Zeichenkette.
| | \| | Alternative, Oder-Auswahl zwischen zwei Teilsuchmustern bzw. Zeichen.
[] | \[ \] | Zeichenbereich bzw. Zeichenklasse, die Meisten Metazeichen sind ohne Bedeutung.
[^] |  | Auswahlnegation, die Zeichen des Zeichenbereichs dürfen nicht enthalten sein.
- | \- | Bereich, nur innerhalb eines Zeichenbereichs, als normales Zeichen am Ende oder Anfang des Zeichenbereichs setzen.
() | \( \) | Gruppierung. Gruppiert Teilsuchmuster und speichert diese intern.
* | \* | Das Teilsuchmuster kann gar nicht bis beliebig oft vorkommen.
+ | \+ | Das Teilsuchmuster kommt mindestens einmal oder ansonsten beliebig oft vor.
? | \? | Das Teilsuchmuster kommt gar nicht oder 1-mal vor.
. | \. | Platzhalter (Wildcard) für genau ein beliebiges Zeichen ausser dem Zeilenumbruch \n.
.* |  | Platzhalter (Wildcard) für einen beliebigen Text.
{n} | \{ \} | Das Teilsuchmuster soll genau n mal vorkommen.
{n, } |  | Das Teilsuchmuster soll mindestens n mal vorkommen.
{n, m} |  | Das Teilsuchmuster soll zwischen mindestens n- und maximal m-mal vorkommen.
\ | \ | Escaped ein Metazeichen. Soll der Backslash als normales Zeichen interpretiert werden, ist ein doppelter Backslash \ zu verwenden.
\symbol |  | In Verbindung mit Buchstaben oder Zahlen mit unterschiedlicher Bedeutung.

Symbole für einzelne Zeichenklassen

Bei der Arbeit mit Perl-kompatiblen regulären Ausdrücken können Sie auf diverse Symbole zurückgreifen, die für einzelne Zeichenbereiche stehen. Die wesentlichen Symbole sind in der folgenden Tabelle zusammengestellt:

Symbol | Entsprechung | Bedeutung
\t | Tab | Tabulatorzeichen
\r | Carriage return | Wagenrücklauf
\n | Newline | Zeilenumbruch
\f | Formfeed | Seitenumbruch
\d | [0-9] | Ziffer
\D | [^0-9] | Jedes Zeichen das keine Ziffer ist.
\s | [\t\r\n\f] | Leerzeichen (Whitespace)
\S | [^\t\r\n\f] | Jedes Zeichen das kein Leerzeichen (Whitespace) ist.
\w | [a-zA-Z_0-9] | Buchstaben, Ziffern und Unterstrich
\W | [^a-zA-Z_0-9] | Alles was kein Buchstabe, Ziffer oder Unterstrich ist.
\b |  | Wortbegrenzung, vor bzw. nach dem Muster befindet sich ein Leerzeichen (Whitespace).
\B |  | Keine Wortbegrenzung, vor bzw. nach dem Muster befindet sich kein Leerzeichen (Whitespace).
\A |  | Musteranfang oder Zeilenanfang, unabhängig vom Mehrzeilenmodus.
\Z |  | Musterende oder Zeilenende, unabhängig vom Mehrzeilenmodus.
\z |  | Musterende

Optionen des PCRE-Moduls

Im Anschluss an ein in Trennzeichen eingeschlossenes Muster können diverse Optionen, die die Funktion der Muster beeinflussen, angegeben werden. Diese sind in der folgenden Tabelle aufgelistet:

Option | Interner PCRE-Name | Bedeutung
i | PCRE_CASELESS | Wenn diese Option gesetzt wurde, wird Gross- und Kleinschreibung nicht berücksichtigt.
m | PCRE_MULTILINE | Wenn diese Option gesetzt wurde, gilt jeder Zeilenanfang und jedes Zeilenende als Start und Ende für das Suchmuster. Auf Zeichenketten, die keine \n enthalten, hat dies keinen Einfluss.
s | PCRE_DOTALL | Wenn diese Option gesetzt wurde, ersetzt der Punkt sämtliche Zeichen einschliesslich \n.
x | PCRE_ EXTENDED | Wenn diese Option gesetzt wurde, werden Leerzeichen, Tabulatoren und Zeilenumbrüche nicht beachtet.
e | - | Wenn diese Option gesetzt wurde, wird die Ersatzzeichenkette von preg_replace() als PHP-Code interpretiert.
A | PCRE_ANCHORED | Wenn diese Option gesetzt wurde, wird die Suche auf den Anfang der Zeichenkette eingeschränkt.
D | PCRE_DOLLAR_ENDONLY | Wenn diese Option gesetzt wurde, wird die Suche auf das Ende der Zeichenkette eingeschränkt.
S | - | Wenn diese Option gesetzt wurde, wird die Ausführung bei Mehrfachverwendung eines Suchmusters durch Zwischenspeicherung beschleunigt.
U | PCRE_UNGREEDY | Wenn diese Option gesetzt wurde, wird die Arbeitsweise des Suchmusters bei Mehrfachauswahl festgelegt und invertiert die "Gierigkeit" des Wiederholungsoperators.
X | PCRE_EXTRA | Wenn diese Option gesetzt wurde, werden zusätzliche Perl-kompatible Funktionen freigeschaltet.
u | PCRE_UTF8 | Wenn diese Option gesetzt wurde, werden Suchmuster als UTF8 codierte Zeichenketten interpretiert.

Beliebiges Zeichen oder beliebiger Text

Sie haben bereits erfahren das der Punkt für ein beliebiges einzelnes Zeichen in der Zeichenfolge steht. Wie wäre es mit folgendem Suchmuster /<.>/, welches Zeichenfolgen wie z.B. <u>, <1>, etc. ermittelt.

<?php
// Zeichen
$htmltext = "<u>";
$reg_muster = "/<.>/";
// Ausgabe (1)
echo preg_match($reg_muster,$htmltext);
?>

Soll es ein belibieger Text sein, können Sie beispielsweise folgendes Suchmuster //iU einsetzen. Es findet einen öffnenden Body-Tag in einem HTML-Quelltext.

<?php
// Zeichen
$htmltext = "<body>Hallo Welt!</body>";
$reg_muster = "/<body.*>/iU";
// Ausgabe (1)
echo preg_match($reg_muster,$htmltext);
?>

Wie wäre es mit dem Einsatz des Fragezeichens. Hiermit können Sie ein optionales Zeichen festlegen. Das folgende Suchmuster /<\/?body.*>/iU findet sowohl öffnende aus auch schliessende Body-Tags in einem HTML-Quelltext. Das optionale Zeichen \/? kann vorkommen, muss es aber nicht. Achten Sie darauf, dass das Zeichen / escaped werden muss.

<?php
// Zeichen
$htmltext = "<body>Hello Welt</body>";
$reg_muster = "/<\/?body.*>/iU";
// Ausgabe (1)
echo preg_match($reg_muster,$htmltext);
?>

Teilmuster

Innerhalb des Suchmusters können Teilmuster gebildet werden. Diese werden durch runde Klammern ( ) angegeben. Folgendes wird damit erreicht:
. Ein Satz Alternativen wird zusammengefasst.
. Teilmuster werden als einzelne Referenzen zurückgegeben. Ausschlaggebend für die Referenznummer ist die öffnende Klammer, die von links beginnend gezählt wird. Dies ist bei tieferen Verschachtelungen wichtig. PCRE_EXEC berücksichtigt dies ebenfalls.

Teil Ausdruck | Bedeutung
Auto(bahn|mobil) | Dieses Muster findet die Worte Autobahn und Automobil.
Auto(bahn|mobil|) | Dieses Muster enspricht dem vorhergehenden und findet zusätzlich eine leere Zeichenkette.
der((goldene|silberne)(kelch|bogen)) | Dieses Muster ergibt drei Teilmuster, wenn die Zeichenkette der silberne kelch geprüft wird: silberne kelch, silberne und kelch. Diese Teilmuster haben die Referenzen 1,2 und 3.

Die Tatsache, dass runde Klammern mehrere Aufgaben übernehmen, führt beim Lesen regulärer Ausdrücke zu grossen Problemen. Zudem sind oft mehrere Lösungen möglich. Sie können die Referenzierung mit der Angabe ?: unterdrücken, um die Stellen zu dokumentieren, die nicht gezählt werden müssen. Ausserdem lassen sich so Teilmuster gezielt aus der Referenzierung ausblenden.

Teil Ausdruck | Bedeutung
der((?:goldene|silberne)(kelch|bogen)) | Dieses Muster ergibt lediglich zwei Teilmuster, wenn die Zeichenkette der goldene kelch geprüft wird: goldene kelch und kelch. Diese Teilmuster haben die Referenz 1 und 2. Das Teilmuster goldene wird unterdrückt.

Die maximale Anzahl von referenzierten Teilmustern beträgt 99. Die maximale Anzahl von Teilmuster an sich dagegen beträgt 200. In die Angabe der Unterdrückung der Referenz kann auch die Optionswahl eingebunden werden. Die folgenden beiden Suchmuster sind identisch.

Teil Ausdruck | Bedeutung
(?i:auto|pkw) | Findet auto und Auto.
(?:(?i)auto|pkw) | Findet ebenfalls auto und Auto.

Beachten Sie auch hier, das eine Option in einem Zwei oder Teilmuster auf die anderen Teile Auswirkungen hat, da die Option zuerst ausgewertet werden und danach erst die Abarbeitung der Muster von links nach rechts erfolgt.

Greedy und Nongreedy

Einige Suchmuster haben die Eigenart, so viele Übereinstimmungen wie möglich zurückzugeben. Dieses Verhalten wird als greedy (gierig) bezeichnet.

Beispiel

<pre>
<?php
// Zeichen
$htmltext = "<u>Ich</u> bin <u>hier</u>";
$reg_muster = "/<u>.*<\/u>/i";
echo preg_match($reg_muster,$htmltext,$reg);
print_r($reg);
?>
</pre>

Ausgabe

1
Array
(
    [0] => Ich bin hier
)

Ausgabe - als Quelltext

1
Array
(
    [0] => <u>Ich</u> bin <u>hier</u>
)

Der Rückgabewert des Ausdrucks sollte der unterstrichene Text einschliesslich der HTML-Zeichen sein. Erwartet wird Ich und hier. Tatsächlich wird der gesamte Text zurückgegeben. Der Grund hierfür liegt in der Tatsache, dass sich der Ausdruck gierig verhält und das Teilmuster .* alles bin einschliesslich der letzten Fundstelle zurückgibt. Sie können einen solchen Ausdruck zwingen, genügsamer (nongreedy) zu sein, indem Sie nach dem Quantifizierer ein Fragezeichen setzen bzw. die Musteroption U (PRCE_UNGREEDY) verwenden. Die Musteroption U ermöglicht es Ihnen, auf das Fragezeichen zur Einschränkung des Quantifizierers zu verzichten.

$reg_muster = "/<u>.*?<\/u>/i";
$reg_muster = "/<u>.*<\/u>/iU";

Ausgabe

Array
(
    [0] => Ich
)

Der Nachteil ist, wie Sie anhand der Ausgabe sehen könne, dass Sie tatsächlich nur die erste Fundstelle zurück erhalten. Durch Klammerung können Sie erreichen, dass sämtliche Fundstellen zurückgegeben werden.

$reg_muster = "/(<u>.*?<\/u>)*/i";
$reg_muster = "/((?U)<u>.*<\/u>)*/i";

Ausgabe

Array
(
    [0] => Ich
    [1] => Ich
)

Funktionen für reguläre Ausdrücke

Vertiefung zu reguläre Ausdrücke

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vertiefung zu reguläre Ausdrücke

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vertiefung zu reguläre Ausdrücke

Wir hoffen Sie haben die bisherigen Ausführungen zu reguläre Ausdrücke gut verdaut und denken Sie daran Übung macht den Meister. Der folgende Abschnitt zeigt Ihnen weitere Schwerpunkte auf.

Rückwärts-Referenzen (Back Reference)

Ausserhalb einer Zeichenklassendefinition kann auf referenzierte Teilmuster verwiesen werden. Das Muster verweist damit partiell auf Teile seiner selbst. Diese Rückreferenz wird mit der Zeichenfolge \N erreicht, wobei N für eine Ziffer zwischen 1 und 9 steht. Die Zählung erfolgt anhand der Anzahl der öffnenden (linke) runden Klammern der Teilmusterausdrücke.

Ein Fehler wird nur dann erzeugt, wenn die Anzahl der Klammern geringer ist als die durch eine Rückreferenz verlangte Ziffer. Stimmt die Anzahl, wird kein Fehler erzeugt, wenn die Referenz nichts enthält. Dabei kann die Referenz an jeder Stelle stehen, die Teilmuster dürfen sich jedoch nicht links davon befinden. Auf die Auswahl mit Hilfe des Backslash wurde weiter oben bereits eingegangen. Dieser Abschnitt zeigt den Umgang mit den Referenzen an sich.

Eine Rückreferenz findet Übereinstimmungen mit einem Suchmuster entsprechend dem referenzierten Teilmuster. Hier einige Beispiele:

Teil Ausdruck | Bedeutung
(Kapital|Kommun) und ismus | Dieses Muster findet "Kapital und Kapitalismus" und Kommunismus, aber nicht "Kapitel und Kommunismus".
((?i)bum)\s+ | Hier wird "bum bum" und "BUM BUM" gefunden, aber nicht "BUM bum".

Es sind generell 99 rückwärtige Referenzen erlaubt. Alle Ziffern hinter einem Backslash werden daher als Referenznummer gewertet. Um unmittelbar folgende Ziffern abzugrenzen, muss ein Leerzeichen oder Kommentar gesetzt werden. Leerzeichen sind nur erlaubt, wenn die Option PCRE_EXTENDED gesetzt wurde.

Bedingungen

Eine Bedingung wird für das vorhergehende oder folgende Zeichen eines untersuchenden Zeichens aufgestellt. Sinngemäss entspricht dies Formulierungen wie: "Stimme mit a überein, wenn vor/nach a etwas bestimmtes steht".

Einige besonders einfache Bedingungsoperatoren wurden bereits beschrieben:

\b \B \A \Z \z ^ $

Im folgenden Abschnitt werden komplexere Bedingungen vorgestellt. Grundsätzlich wird zwischen folgenden Bedingungen unterschieden:
. Die nach der aktuellen Position (look ahead, vorrauschschauend) testen.
. Die vor der aktuellen Position (look behind, zurückschauend) testen.

Die Funktionsweise entspricht allen anderen Abfragekonstruktionen, lediglich die Position des Abfragezeigers im Suchwort wird nicht beeinflusst. Bedingungen werden mit dem ?-Zeichen eingeleitet:
. (?= leitet eine vorrausschauende, übereinstimmende Bedingung ein.
. (?! leitet eine vorrausschauende, nicht übereinstimmende Bedingung ein.

Teil Ausdruck | Bedeutung
\w+(?=;) | Dieses Muster sucht Wörter, die von einem Semikolon gefolgt werden, bezieht das Semikolon selbst jedoch nicht in die Auswertung mit ein.
test(?!feld) | Hier werden Übereinstimmungen mit dem Wort "test" gesucht, das nicht von dem Wort "feld" gefolgt werden darf.
(?!test)feld | Dagegen findet eine Übereinstimmung nicht, die mit etwas anderem als "test" beginnt. Es findet jedoch jede Übereinstimmung mit "feld", da die Sequenz (?!test) immer wahr ist.

Das Problem des letzten Musters ist nur mit weiteren Operatoren zu lösen. Die vorgestellten Beispiele bezogen sich auf vorausschauende Bedingungen. Folgende Symbole dienen der Definition zurückschauender Bedingungen:
. (?<= leitet eine zurückschauende, übereinstimmende Bedingung ein.
. (?
Betrachten wir uns nun nochmals das letzte Muster

Teil Ausdruck | Bedeutung
(? | Hier wird jede Übereinstimmung von "feld" gefunden, die nicht dem Wort "test" folgt.

Bei dieser Form muss die Länge der abhängigen Zeichenketten mit der zu testenden übereinstimmen:

Teil Ausdruck | Bedeutung
(?<=auto|pkw) | Ist zulässig.
(? | Ist Falsch.

Ein weiteres Beispiel verdeutlicht dies und zeigt, wie man damit umgeht:

Teil Ausdruck | Bedeutung
(?<=ab(c|de)) | Funktionier nicht, da die alternativen Teilmuster "c" und "de" unterschiedlich lang sind.
(?<=abc|abde) | Erfüllt den Zweck, denn nun wurde nur ein Teilmuster definiert.

Die Formulierung der rückwärtigen Bedingungen könnte man so aufschreiben:

"Nimm jede Alternative, gehe temporär um die Länge des alternativen Suchmusters zurück, prüfe das Muster erneut". Es ist daher logisch, dass eine fehlende Übereinstimmung der Länge zu keiner Übereinstimmung der Muster führen kann.

Teil Ausdruck | Bedeutung
(?<=\d{3})(? | Dieses Muster erkennt Suchworte, bei denen das Wort "test" drei Ziffern folgt, die aber nicht "999" sein dürfen. Übereinstimmungen gibt es z.B. für "250test" oder 777test".
(?<=(? | Dieses Muster erfüllt das Wort "felder", aber nicht "testfelder".

Wenn Sie Bedingungen bilden, stehen diese in runden Klammern. Dies sind keine Teilmuster und sie werden auch nicht referenziert. Sie dürfen auch nicht wiederholt werden, dies wäre sinnlos, denn entweder stimmt es überein oder nicht. Wiederholungen ändern nichts am Ergebnis. Stehen allerdings Teilmuster in Bedingungen, werden diese gezählt und referenziert, wenn es positive Bedingungen sind.

Einmalige Teilmuster

Wenn ein Unter- und eine Obergrenze für Wiederholungen angegeben wird, führt eine fehlende Übereinstimmung zu einem wiederholten Test, bis alle durch die Wiederholungen gebildeten Muster geprüft wurden. Dies soll in manchen Fällen verhindert werden, um unnütz und zeitraubende Tests zu vermeiden, wenn das Ergebnis absehbar ist. Sehen Sie sich hierzu folgendes Beispiel an:

Das Muster \d+test wird auf die Zeichenkette "123456feld" angewendet.

Offensichtlich gibt es keine Übereinstimmung. Dennoch dauert die Überprüfung recht lange, denn der reguläre Ausdruck wird zuerst für sämtliche sechs Ziffern untersucht, dann wird das Wort "feld" verglichen. Anschliessend startet der Ausdruck erneut, diesmal mit nur fünf Ziffern usw. Insgesamt wird der Test sechsmal durchlaufen, obwohl schon beim ersten Durchlauf erkannt werden sollte, dass eine Übereinstimmung nicht möglich ist. Dies Ursache liegt in der konsequenten Abarbeitung von links nach rechts.

Der Ausdruck funktioniert zwar, ist aber nicht elegant programmiert. Es gibt die Möglichkeit, das Verhalten zu beeinflussen und damit den Ablauf zu optimieren:
. (?> weist den Interpreter an, sofort aufzugeben, sobald keine Übereinstimmung gefunden wurde.

Ein weiteres Beispiel verdeutlicht dies:

(?>\d+)feld

Eine andere Beschreibung dieses Typs ist die Annahme, dass diese Konstruktion einer alternativen Zeichenkette entspricht, die am aktuellen Auswertpunkt verankert ist, etwa wie folgt: \d\d\d\d\feld, wobei die Anzahl der Ziffern dennoch variabel ist, was eben ohne eine derartige Konstruktion nicht der Fall wäre.

Solche einmaligen Teilmuster sind keine zählenden Teilmuster, werden also auch nicht referenziert. Dafür können die Konstruktionen verschachtelt und mit Bedingungen kombiniert werden.

Fallbeispiel

. Ein einfaches Muster wie abcd$ wird auf eine lange Zeichenkette angewendet, die keine Übereinstimmung bietet. Hierbei sucht der Interpreter nach "a", findet er eines, wird der Rest auf die folgenden Zeichen getestet.
. Bei dem Suchmuster ^.*abcd$ wird hingegen sofort die gesamte Zeichenkette getestet. Wird keine Übereinstimmung gefunden, wiederholt sich der Vorgang mit einem Zeichen weniger usw.
. Besser wird es mit ^(?>.*)(?<=abcd). Hier wird nicht rückwärts die Suchfolge verringert, sondern die eingeschlossene Bedingung führt zum Abbruch der Suche, wenn die Zeichenfolge nicht sofort gefunden wird.

Bei langen Suchworten kann dies zu einer deutlichen Steigerung der Suche und damit der Performance führen.

Bedingte Teilmuster
Die Frage die sich nun noch stellt lautet, ist es möglich Teilmuster insgesamt von einer Bedingung abhängig zu machen? - Die Antwort auf diese Frage kennen sich sicher bereits. Um Teilmuster insgesamt von einer Bedingung abhängig zu machen, darf das Teilmuster nur dann untersucht werden, wenn die Bedingung erfüllt wurde. Dies lässt sich auf die Auswahl aus zwei Alternativen bilden. Die Schreibweise ähnelt dem einfachen Bedingungsoperator (Konditionaloperator) in PHP.
. (?(Bedingung)true-muster)
. (?(Bedingung)true-muster|false-muster)

Wenn die Bedingung erfüllt ist, wird das true-muster ausgeführt, andernfalls das false-muster. Werden mehr Alternativen angegeben, wird ein Laufzeitfehler erzeugt.

Kommentare

Ihnen stehen auch bei regulären Ausdrücken Zeichen zur Kommentierung zur Verfügung. Kommentare eignen sich hervorragend zur Beschreibung des regulären Ausdrucks. Die Kommentare werden, wie folgt umgesetzt:

(?#Hier ein Kommentar)

Wenn die Option PCRE_EXTENDED gesetzt wurde, kann ausserhalb einer Zeichenklassendefinition eine Kommentar allein mit dem #-Zeichen eingeleitet werden. Der nächste Zeilenumbruch beendet den Kommentar.

Ergänzungen zu reguläre Ausdrücke

Hinweise zur Optimierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Hinweise zur Optimierung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Hinweise zur Optimierung

Reguläre Ausdrücke sind nicht nur in der Programmierung komplex. Auch die Umsetzung und Auswertung stellt für den PHP-Interpreter eine Herausforderung dar. Die Ausdrücke werden zwar kompiliert und dann erheblich schneller ausgeführt, komplexe Konstrukte mit langen Zeichenketten können dennoch spürbar Zeit in Anspruch nehmen und dies auch auf schnellen Rechnern. Eine Webanwendung ist kaum praktikabel, wenn ein regulärer Ausdruck alleine eine Sekunde zur Bearbeitung benötigt.

Einige Konstrukte benötigen aufgrund der internen Verarbeitung erheblich mehr oder weniger Zeit als andere. Die folgende Auflistung zeigt die wesentlichsten Unterschiede. Da sich oft mehrere Wege nach Rom finden lassen - sprich zum Ziel, existieren fast immer Alternativen, die Leitung eines Ausdrucks ohne Funktionseinbussen zu erhöhen.

. Es ist wesentlich effizienter eine Zeichenklassendefinition wie [abcd] zu nutzen, als eine Serie von Alternativen (a|b|c|d).
. Wenn die Option PCRE_DOTALL nicht erwünscht ist, kann alternativ ^.* gesetzt werden.
. Wenn eine Ausdruck mit .* beginnt und die Option PCRE_DOTALL gesetzt wurde, erkennt PHP, dass die Zeichenkette nur am Anfang stehen kann, und verankert sie implizit. Ist PCRE_DOTALL nicht gesetzt, kann diese Optimierung nicht aufgeführt werden.
. Generell hilft es dem Interpreter, wenn die Beschreibung so direkt wie möglicht erfolgt, implizite Annahmen werden oft erst erkannt, wenn der gesamt Ausdruck verarbeitet und ausgewertet wurde.
. Wenn Sie mehrere Varianten eines Ausdrucks haben und diesen in einer häufig durchlaufenen Schleife anordnen müssen, testen Sie die Abarbeitungszeit der Varianten und wählen Sie die Schnellste.
. Ausdrücke werden nicht weiter ausgewertet, wenn das Ergebnis feststeht. Bei der Abarbeitung sollte der wahrscheinlichste Fall also am weitesten links stehen.

Vertiefung zu reguläre Ausdrücke

Einsatz der PCRE-Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz der PCRE-Funktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz der PCRE-Funktionen

Nach all den Definitionen und Erläuterungen sollten wir uns nun einigen Beispielen zu wenden. Sie sollten darauf achten, dass die PCRE-Funktionen seit der PHP Version 4.2 standardmässig aktiviert.

Einsatz von preg_match()

Mit Hilfe der Funktion preg_match() können Sie eine Zeichenkette, auf ein Suchmuster durchsuchen. Die Fundstellen werden im Array $matches gespeichert.

Beispiel

<pre>
<?php
// Zeichenkette
$url = "www.atomicscript.de";

// Domainname (Vollständig)
preg_match("/^(http:\/\/)?([^\/]+)/i",
    $url, $matches);
print_r($matches);
?>
</pre>

Ausgabe

Array
(
    [0] => www.atomicscript.de
    [1] =>
    [2] => www.atomicscript.de
)

Welche Elemente das Array kennt, ist abhängig von dem regulären Ausdruck. Im vorliegenden Beispiel enthält das Array insgesamt 3 Elemente:
. Im ersten Element $matches[0] ist immer die gesamte Zeichenkette gespeichert, die dem Ausdruck /^(http:\/\/)?([^\/]+)/i entspricht.
. Im zweiten Element $matches[1] befindet sich die Zeichenkette, die dem ersten Teil Ausdruck (http:\/\/) entspricht.
. Im dritten Element $matches[2] befindet sich die Zeichenkette, die em zweiten Teil Ausdruck ([^\/]+) entspricht.

Einsatz von preg_match_all()

Der Einsatz von preg_match() hat einen gravierenden Nachteil, nach dem ersten Auftreten wird die Verarbeitung abgebrochen. Sämtliche Fundstellen erhalten Sie daher lediglich, wenn Sie statt preg_match() die Funktion preg_match_all() einsetzen.

Beispiel

<pre>
<?php
// Zeichenkette
$urls = "<a href=www.berlin.de>Berlin</a>
<a href=www.bonn.de>Bonn</a>";

// Prüfen auf Tags
preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\2>)/", $urls, $matches);
print_r($matches);
?>
</pre>

Ausgabe

Array
(
    [0] => Array
        (
            [0] => <a href=www.berlin.de>Berlin</a>
            [1] => <a href=www.bonn.de>Bonn</a>
        )

    [1] => Array
        (
            [0] => <a href=www.berlin.de>
            [1] => <a href=www.bonn.de>
        )

    [2] => Array
        (
            [0] => a
            [1] => a
        )

    [3] => Array
        (
            [0] => Berlin
            [1] => Bonn
        )

    [4] => Array
        (
            [0] => </a>
            [1] => </a>
        )

)

Die Zeichenkette enthält zwei HTML-Verweise und mit Hilfe von preg_match_all() wird im Array matches nicht nur eine Fundstelle gespeichert, sondern sämtliche Fundstellen. Es handelt sich um ein verschachteltes Array, welches die Verwaltung der einzelnen Fundstellen wesentlich erleichtert.

Besonderheit

Die Art der Gruppierung kann bei preg_match_all() beeinflusst werden. Mit Hilfe eines vierten Optionalen Parameters, können Sie die folgenden Konstanten übergeben:
. PREG_PATTERN_ORDER stellt die Standardeinstellung dar.
. PREG_SET_ORDER ändert die Reihenfolge so, dass in einem Element das Array $matches sämtliche Informationen zu einer Fundstelle gespeichert werden.
. PREG_OFFSET_CAPTURE sichert zusätzlich die Position der einzelnen Teilstrings.

Beispiel mit PREG_SET_ORDER

<pre>
<?php
// Zeichenkette
$urls = "<a href=www.berlin.de>Berlin</a>
<a href=www.bonn.de>Bonn</a>";

// Prüfen auf Tags
preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\2>)/", $urls, $matches, PREG_SET_ORDER);
print_r($matches);
?>
</pre>

Ausgabe

Array
(
    [0] => Array
        (
            [0] => <a href=www.berlin.de>Berlin</a>
            [1] => <a href=www.berlin.de>
            [2] => a
            [3] => Berlin
            [4] => </a>
        )

    [1] => Array
        (
            [0] => <a href=www.bonn.de>Bonn</a>
            [1] => <a href=www.bonn.de>
            [2] => a
            [3] => Bonn
            [4] => </a>
        )

)

Einsatz von preg_grep()

Natürlich steht Ihnen auch eine Funktion zum durchsuchen von Arrays zur Verfügung. Es handelt sich hierbei um die Funktion preg_grep().

Beispiel

<pre>
<?php
// Array
$urls = array(
    "<a href=www.berlin.de>Berlin</a>",
    "<a href=www.bonn.de>Bonn</a>"
    );

// Prüfen auf Tags
$res = preg_grep("/(<([\w]+)[^>]*>)(.*)(<\/\2>)/", $urls);
print_r($res);
?>
</pre>

Ausgabe

Array
(
    [0] => <a href=www.berlin.de>Berlin</a>
    [1] => <a href=www.bonn.de>Bonn</a>
)

Einsatz von preg_replace()

Die Funktion preg_replace() eignet sich hervorragend um eine Zeichenfolge durch eine andere zu ersetzen. Auch in diesem Fall spielen die regulären Ausdrücke eine wesentliche Rolle, um diesen Austausch vorzunehmen. Die Funktion ersetzt sämtliche Vorkommen im String. Möchten Sie die Ersetzungen begrenzen, so können Sie als optionalen Parameter eine Integerzahl übergeben. Es werden nur so viele Ersetzungen durchgeführt wie angegeben.

Beispiel

<?php
// Zeichenkette
$url = "[url=www.berlin.de]";

// Suchmuster
$reg_muster = "/\[url=([^]]*)\]/i";

// Austausch
$tausch = '<a href=""></a>';

// Prüfen auf Tags
echo preg_replace($reg_muster, $tausch, $url);
?>

Ausgabe

<a href="www.berlin.de">www.berlin.de</a>

Diese spezielle Schreibweise [url=Verweis], für einen Verweis wird häufig in Online-Foren verwendet. Mit Hilfe des regulären Ausdrucks und der Funktion preg_replace() wurde im Hand umdrehen ein HTML-Verweise daraus erzeugt.

Besonderheit

Sie können auch mehre als eine Ersetzung gleichzeitig durchführen. Zu diesem Zweck übergeben Sie der Funktion ein indiziertes Array mit Suchmustern und ein Array mit Ersetzungen.

Beispiel

<pre>
<?php
// Zeichenkette
$eintrag = "[url=www.berlin.de]
[image=../bilder/smiley.gif]";

// Suchmuster
$reg_Liste = array(
        "/\[url=([^]]*)\]/i",
        "/\[image=([^]]*)\]/i"
        );

// Austausch
$tauschListe = array(
        '<a href=""></a>',
        '<img src="" border="0" alt="">'
        );

// Prüfen auf Tags
echo preg_replace($reg_Liste, $tauschListe, $eintrag);
?>
</pre>

Ausgabe

<a href="www.berlin.de">www.berlin.de</a>
<img src="../bilder/smiley.gif" border="0" alt="../bilder/smiley.gif">

Sie sollten es mal mit folgender Zeichenkette versuchen:

$eintrag = "Link: [url=www.berlin.de]<br>
Bild: [image=../bilder/smiley.gif]<br>
Bild: [image=../fotos/caro.gif]";

Bisher war in den Beispielen zu preg_replace() die Variable $eintrag immer vom Typ String. Sie können jedoch ohne weiteres auch ein Array übergeben. Die Ersetzung wird dann für jedes Element des Arrays durchgeführt.

Beispiel

<pre>
<?php
// Array
$eintrag = array(
    "Link: [url=www.berlin.de]<br>",
    "Bild: [image=../bilder/smiley.gif]<br>",
    "Bild: [image=../fotos/caro.gif]"
);

// Suchmuster
$reg_Liste = array(
        "/\[url=([^]]*)\]/i",
        "/\[image=([^]]*)\]/i"
        );

// Austausch
$tauschListe = array(
        '<a href=""></a>',
        '<img src="" border="0" alt="">'
        );

// Prüfen auf Tags
$res = preg_replace($reg_Liste, $tauschListe, $eintrag);

// Ausgabe
foreach ($res as $element) {
    echo $element;
}
?>
</pre>

Ausgabe

Link: <a href="www.berlin.de">www.berlin.de</a><br>

Bild: <img src="../bilder/smiley.gif" border="0" alt="../bilder/smiley.gif"><br>

Bild: <img src="../fotos/caro.gif" border="0" alt="../fotos/caro.gif">

Einsatz von preg_replace_callback()

Eine besondere Rolle bei der Ersetzung von Zeichenketten spielt die Funktion preg_replace_callback(). Die Funktion ruft eine callback-Funktion auf, die den zu ersetzenden String bildet. Der Rückgabewert der callback-Funktion bildet den zu ersetzenden String.

Beispiel

<pre>
<?php
// Zeichenkette
$eintrag = "Link: [url=javascript:alert(\'Test\')]<br>
[url=www.berlin.de]";

// Suchmuster
$reg_muster = "/\[url=([^]]*)\]/i";

// Callback-Funktion
function nojavascript($matches) {
    if (!preg_match("/javascript:/i",$matches[0])) {
        return '<a href="' . $matches[1] . '">' . $matches[1] . '</a>';
    }
}

// Prüfen auf Tags
$res = preg_replace_callback($reg_muster, "nojavascript", $eintrag);

// Ausgabe
echo $res;
?>
</pre>

Ausgabe

Link: <br>
<a href="www.berlin.de">www.berlin.de</a>

In Beispiel werden sämtliche javascript: Verweise einfach ignoriert und lediglich ordnungsgemässe Verweise formatiert zurückgegeben. Dies ist in Online-Foren ein äusserst nützlicher Austausch, da sonst jeder einfach mal so einige JavaScript-Funktionen ausführen könnte.

Einsatz von preg_split()

Die Funktion preg_split() ist in der Lage eine Zeichenkette mit Hilfe eines regulären Ausdrucks zu zerlegen und gibt ein indiziertes Array, welches die Teilstrings als Array Elemente enthält zurück.

Sehr oft treffen wir auf Texte, in denen bestimmte Zeichen Teile eines Textes voneinander trennen. So ermöglichen, Tabellenkalkulationsprogramme, wie Excel den Export von Tabellen in Form von kommaseparierten Listen. Durch die Zerlegung des Strings ist es möglich, eine solche Liste in einem Array zu speichern und weiter zu verarbeiten. In den meisten Fällen wird der Einsatz der Stringfunktion explode() zum gewünschten Ergebnis führen. Diese Funktion zerlegt einen String anhand eines oder mehrerer Trennzeichen und gibt ein Array von Teilstrings zurück. Sind die Trennzeichen eindeutig festgelegt, sollten Sie diese Funktion verwenden, da diese nicht auf die Mechanismen der regulären Ausdrücke angewiesen ist. Dies wird jedoch nicht in jedem Fall möglich sein, wie das folgende Beispiel beweist:

<pre>
<?php
// Zeichenkette
$text = "Eintrag1,Eintrag2:Eintrag3 Eintrag4;Eintrag5";

// Suchmuster
$reg_muster = "/,|;|:| /";

print_r(preg_split($reg_muster,$text));
?>
</pre>

Ausgabe

Array
(
    [0] => Eintrag1
    [1] => Eintrag2
    [2] => Eintrag3
    [3] => Eintrag4
    [4] => Eintrag5
)

Die Zeichenkette $text enthält Elemente, die durch ein Komma, ein Semikolon, ein Doppelpunkt oder ein Leerzeichen voneinander getrennt sind. Unabhängig vom Trennzeichen wird aus der Zeichenkette ein Array mit den einzelnen Elementen erzeugt.

Besonderheit

Der Funktion können Sie als vierten und optionalen Parameter flags übergeben. Dieser Parameter enthält Konstanten, mit denen Sie das Verhalten der Funktion steuern können.
. PREG_SPLIT_NO_EMPTY unterdrückt die Rückgabe von leeren Elementen.
. PREG_SPLIT_DELIM_CAPTURE berücksichtigt Klammern und gibt deren Fundstelle als Element mit zurück.
. PREG_SPLIT_OFFSET_CAPTURE gibt ein Array von Elementen zurück, deren Werte selbst wiederum Arrays darstellen. Das erste Element dieses Arrays ist der Teilstring, das zweite Element die reale Position des Teilstrings im Originalstring.

Beachten Sie, wenn Sie den Parameter flags verwenden, dass zwingend der optionale Parameter limit gesetzt werden muss. Möchten Sie, dass preg_split() sämtliche Teilstrings zurück gibt, so übergeben Sie als limit den Wert -1. Benötigen Sie den Parameter flags nicht, so brauchen Sie auch keinen Wert für limit anzugeben.

Hinweise zur Optimierung

Einsatz der Funktionen im POSIX-Stil

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz der Funktionen im POSIX-Stil

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz der Funktionen im POSIX-Stil

Die regulären Funktionen im POSIX-Stil gehören seit PHP 3 zum Funktionsumfang. Da die PCRE-Funktionen erst später eingeführt wurden und lange Zeit nicht zur Standardinstallation gehörten, waren die POSIX-Funktionen oft die einzige Möglichkeit, reguläre Ausdrücke auszuführen.

Mittlerweile haben Sie jedoch die Wahl zwischen PCRE- oder POSIX-Funktionen. Grundsätzlich gilt, dass PCRE-Funktionen zu bevorzugen sind, da diese wesentlich schneller, flexibler und leistungsfähiger sind als die POSIX-Funktionen. Die meisten Suchmuster können Sie auch auf die POSIX-Funktionen übertragen. Die Verwendung komplexer Muster, wie z.B. die Filterung von Verweisen, ist jedoch nur schwer umsetzbar. Beachten Sie, dass die POSIX-Funktionen die Verkürzungen mittels Backslash nicht unterstützen, und das die Funktionen nicht binary-safe sind.

Erweiterte Syntax

In der erweiterten Syntax werden Ersatzsymbole unterstützt, welche den Umgang mit regulären Ausdrücken vereinfachen.

Beispiel

<?php
// Zeichenkette
$text = "Hallo Welt";
ereg("[[:alnum:]]*", $text, $matches);
print_r($matches);
?>

Ausgabe

Array
(
    [0] => Hallo
)

So können Sie auf einfache Weise den String nach alphanumerischen Zeichen durchsuchen. Die Zeichenfolge [:alnum:] steht für alphanumerische Zeichen. Dieser Ausdruck ist äquivalent zur Zeichenklasse [a-zA-Z0-9]. Beachten Sie, dass ein Ersatzsymbol in eckigen Klammern und Doppelpunkten eingeschlossen werden muss. Hinzu kommen die eckigen Klammern der Zeichenklasse. Würden Sie im Beispiel statt [[:alnum:]] nur [:alnum:] verwenden, so wird der Ausdruck innerhalb der Zeichenklasse als eine Liste von Zeichen interpretiert und der Text nach den Zeichen :,a,l,n,u,m durchsucht.

Hier nun eine Auflistung der zur Verfügung stehenden Ersatzsymbole.

Symbol | Entsprechung | Bedeutung
[:digit:] | [0-9] | Ziffern
[:alpha:] | [a-zA-Z] | Buchstaben
[:alnum:] | [a-zA-Z0-9] | Alphanumerische Zeichen
[:blank:] | [\t ] | Leerzeichen, Tabulatoren
[:space:] | [\s] | Freiraum
[:punct:] | [[]!\"#$%&'()*+,./:;<=>?@\^_´{|}~[-]*] | Satzzeichen
[:lower:] | [a-z] | Kleinbuchstaben
[:upper:] | [A-Z] | Grossbuchstaben
[:cntrl:] |  | Steuerzeichen
[:graph:] | [[:alpha:][:digit:][:punct:]] | Schriftzeichen
[:print:] | [[:graph:]] | Druckbares Zeichen
[:xdigit:] | [0-9a-fA-F] | Hexadezimal Zeichen

Einsatz von ereg() und eregi()

Im Gegensatz zu den PCRE-Funktionen erhalten POSIX-Funktionen keinen Delimiter. Das bedeutet, Sie können an diese Funktionen keinen Modifizierer übergeben. Damit jedoch eine Ausschaltung der Gross- und Kleinschreibung möglich ist, gibt es neben der ereg()-Funktion die eregi()-Funktion, die keine Unterscheidung zwischen Gross- und Kleinschreibung vornimmt. Die beiden Funktionen eignen sich hervorragend zum durchsuchen von Zeichenketten.

Beispiel

<pre>
<?php
// Zeichenkette
$text = "13358";
echo ereg("^[0-9]{5}$", $text, $matches);
print_r($matches);
?>
</pre>

Ausgabe

5
Array
(
    [0] => 13358
)

Im Beispiel wird eine Zeichenkette daraufhin geprüft, ob diese aus genau 5 Ziffern besteht, folgender Ausdruck [[:digit:]]{5}$ würde zum selben Ergebnis führen. Eine solche Überprüfung eignet sich vor allem bei der Verifikation von Postleitzahlen. Die ereg()-Funktion speichert die Anzahl der gefunden Zeichen in dem optionalen Parameter matches. Diese Arbeitsweise entspricht der preg_match()-Funktion. Sollte keine Übereinstimmung gefunden werden, so wird FALSE zurückgegeben.

Einsatz von ereg_replace und eregi_replace()
Mit Hilfe der beiden Funktionen ereg_replace() oder eregi_replace() sind Sie in der Lage Zeichenketten zu ersetzen. Im Gegensatz zu preg_replace() lassen sich lediglich Strings und keine Arrays verarbeiten. Auch bei diesem Funktionspaar unterscheidet die eregi_replace()-Funktion nicht zwischen Gross- und Kleinschreibung. Beide Funktionen unterstützen Rückverweise.

Beispiel

<?php
// Zeichenkette
$htmltext = "Verweis: [url=www.atomicscript.de]";

// Suchmuster
$reg_muster = "\[url=([^]]*)\]";

// Austausch
$tausch = '<a href=""></a>';

echo eregi_replace($reg_muster, $tausch, $htmltext);
?>

Ausgabe

<a href="www.atomicscript.de">www.atomicscript.de</a>

Besonderheit

Verwenden Sie als Ersatzstring eine Zahl vom Typ Integer, so müssen Sie diese Zahl explizit in einen String umwandeln ansonsten kommt es zu unerwarteten Ergebnissen, da die Zahl als Ordinalwert betrachtet wird.

Beispiel

<?php
// Zeichenkette
$htmltext = "Inhalt";

// Suchmuster
$reg_muster = "[a-z]{6}";

// Austausch
$tausch = 90;

// Ausgabe - Z
echo eregi_replace($reg_muster, $tausch, $htmltext);

// Ausgabe - 90
echo eregi_replace($reg_muster, (string) $tausch, $htmltext);
?>

Die Zahl 90 ist der Ordinalwert des Zeichens Z. Da dieser Wert als Zahl in die Funktion eregi_replace() einging, wird der Zahlenwert durch das Zeichen der ASCII-Codetabelle ersetzt. Die explizite Umwandlung mit (string) bewirkt, dass sich die Funktion wie erwartet verhält.

Hinweis: Für einfache Ersetzungen können Sie auch die Funktion str_replace() verwenden. Diese ersetzt eine Zeichenkette durch eine andere und arbeitet um einiges schneller, als die Ersetzungen mittels regulärer Ausdrücke.

Einsatz von split() und spliti()
Mit Hilfe der beiden Funktionen split() und spliti() lassen sich Zeichenketten zerlegen. Die Rückgabewerte dieser Funktionen ist ein Arraym dessen Elemente die Teilstrings beinhalten. Auch bei diesem Funktionspaar unterscheidet die spliti()-Funktion nicht zwischen Gross- und Kleinschreibung.

Beispiel

<pre>
<?php
// Zeichenkette
$text = "Eintrag1;Eintrag2:Eintrag3,Eintrag4;Eintrag5";

// Suchmuster
$reg_muster = ";|:|,";

print_r(split($reg_muster,$text));
?>
</pre>

Ausgabe

Array
(
    [0] => Eintrag1
    [1] => Eintrag2
    [2] => Eintrag3
    [3] => Eintrag4
    [4] => Eintrag5
)

Es werden immer n+1 Elemente zurückgegeben. Dies bedeutet, findet der Ausdruck wie im Beispiel vier Trennzeichen, so entstehen daraus 5 Array-Elemente. Folgt nach dem letzten Trennzeichen nichts mehr, so ist das letzte Element leer. Wird kein Trennzeichen gefunden, dann enthält das Array genau ein Element mit dem gesamten String.

Einsatz der PCRE-Funktionen

Programme zu reguläre Ausdrücke

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Programme zu reguläre Ausdrücke

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Programme zu reguläre Ausdrücke

Sie werden im Internet zahlreiche nützliche Skripte zum Thema finden, jedoch was nützliche Lernprogramme zum Thema angeht ist die Auswahl nicht ganz so umfangreich, daher sind wir stolz Ihnen folgendes Programm von Dr Edmund Weitz vorstellen zu können.

Regex Coach das Testlabor

Sollte Ihnen der Exkurs gefallen haben und Sie haben noch immer nicht genug bekommen von regulären Ausdrücken und würden gerne diverse Kombinationen ausprobieren wollen. Haben wir hier ein Programm für Sie, welches es Ihnen die Arbeit mit regulären Ausdrücken, wesentlich erleichtern wird.

Es handelt sich um das Programm Regex Coach von Dr Edmund Weitz.

Regex Coach im Einsatz

Hiermit lassen sich reguläre Ausdrücke und Ihre Auswirkungen in einer Art virtuellem Labor testen um diese anschliessend in eigene Webanwendungen einzubinden. Das Programm ist sowohl für Windows als auch Linux erhältlich.

Tipp: Die aktuellste Version finden Sie unter folgender Adresse:
www.weitz.de/regex-coach/

Einsatz der Funktionen im POSIX-Stil

Code-Konventionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


WAMP5

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

WAMP5

Abschliessend sei noch auf die WAMP5 Distribution verwiesen, welche ebenfalls auf optimal auf PHP 5 abgestimmt wurde.

Installation von WAMP5 via Installationsroutine

Nach der Installation steht Ihnen WAMP5 innerhalb der Taskleiste zur Verfügung

Die Distribution, welche ebenfalls nur für Windows-Systeme zur Verfügung steht, setzt sich aus folgenden Komponenten zusammen:

. Apache 1.3.31
. PHP 5.0.2 + PECL
. SQLitemanager
. MySQL 4.0.21
. Phpmyadmin

WAMP5 Distribution

Sollten Sie nach einer aktuellen Distribution von WAMP5 fahnden, empfiehlt es sich einen Blick auf www.wampserver.com zu werfen. Dort finden Sie die jeweils aktuelle Distribution.

Apache 2 Triad

MAMP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Was sind Code-Konventionen?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Was sind Code-Konventionen?

Code-Konvention sind aus Sicht des PHP-Interpreter unverbindliche Vorschriften oder besser noch Empfehlungen zur Schreibweise von Variablen, Funktionen, Objekte usw.. Grundsätzlich müssen die Namen nur den Anforderungen der Semantik genügen. Für die Lesbarkeit und Fehlersuche sind aber erweiterte Benennungsregeln empfehlenswert.

Neben den vielen Vorschriften, die eine Programmiersprache ausmacht, gibt es auch eine Reihe von Empfehlungen, die Programmierern helfen, gut lesbare und optimierte Programme zu schreiben. Die Code-Konventionen sind solche Empfehlungen. Dabei geht es auch um die Pflege der Programme durch andere Programmierer oder später durch Sie selbst.

Hinweis: Nur wenige Programme werden ausschließlich vom ursprünglichen Programmierer gewartet. Code-Konventionen erleichtern hierbei die Lesbarkeit und Verständlichkeit. Selbst geringe Verbesserungen der Wartbarkeit rechtfertigen Anstrengungen in der Entwicklung.

Programme entstehen meist unter grossem Zeitdruck, die nötige Kommentierung und Dokumentation wird nur oberflächlich betrieben. Die für jede Sprache geltenden Konventionen erleichtern, wie gesagt, dann das Einarbeiten in fremden oder eigenen Code. Trotzdem gibt es keine Prüfung oder keinen Zwang, wie bei der Sprachsyntax, solche Empfehlungen einzuhalten. Wir wollen Ihnen lediglich nahe legen, sich mit den hier aufgeführten Konvention zu befassen. Es wird immer eine freiwillige Leistung des Entwicklers oder des Teams bleiben, guten Code zu schreiben.

Die Konvention umfassen dabei die folgenden Bereiche:
. Kommentarkonventionen
. Namenskonventionen für Variablen, Funktionen und Objekte
. Deklarationskonventionen
. Anweisungskonvention
. Textformatierung und Strukturierung.

Die Empfehlungen entsprechen weites gehend den Vorgaben aus der Informatik bzw. ihr Ursprung stammt aus den Grundregeln der Informatik. In vielen anderen Programmiersprachen ist eine einheitliche Syntax bereits selbstverständlich. In PHP haben wir diesen der Entwicklung noch nicht erreicht. Ein Standard ist daher noch nicht festgelegt. Vielleicht können wir jedoch mit diesem Abschnitt dazu beitragen, dass es einen Standard geben wird. Einige angemessene Code-Konventionen können dabei nicht schaden.

Code-Konventionen

Wie sollen sie eingesetzt werden?

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Wie sollen sie eingesetzt werden?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Wie sollen sie eingesetzt werden?

Die offiziellen Konventionen sollten als Basis dienen, Sie funktionieren nur, wenn sie von jedem eingehalten werden. Es kann projektspezifische Erweiterungen geben.

Kommentarkonventionen

Mit Kommentaren wird Quelltext leichter lesbar und ist für die spätere Weiterbearbeitung wie auch bei der Fehlersuche leichter zu handhaben. Sie wissen bereits, dass Kommentare vom Interpreter ignoriert werden und damit auch für die Ausgabe keine Rolle spielen. Ob also 10 KByte oder 30 KByte ist einfach ausgedrückt nicht relevant! Nun einige Empfehlungen:

Jede Funktion sollte mit einer kurzen Zweckbeschreibung beginnen. Schreiben Sie immer, wozu eine Funktion eingesetzt wurde und nicht wie sie arbeitet. Nennen Sie alle globalen oder externen Variablen, Objekte oder andere Elemente, die Sie innerhalb der Funktion nutzen oder ändern. Beschreiben Sie die Struktur und der Wertebereich der Rückgabewerte bei Funktionen.

if (signal == TRUE) {
    lampe = true;        // Licht Ein
} else {
    lampe = false;        // Licht Aus
}

Sie können mit Hilfe der Kommentarzeichen // am Ende einer Befehlszeile einen Kommentar setzen. Nutzen Sie diese Technik, um wichtige Variablen am Ort Ihrer Deklaration zu beschreiben. Vermeiden Sie es jedoch, jede Hilfs- oder Zählvariable zu kommentieren, das führt zu unübersichtlichem Code. Denken Sie auch daran, dass Variablennamen selbsterklärend sein sollten und zusätzliche Informationen nicht zur Regel werden.

Block-Kommentare

/*
 ...
*/

Am Beginn des Skripts selbst sollte ebenfalls eine kurze Beschreibung der Funktionalität stehen. Auf komplexe Algorithmen kann hingewiesen werden. Es ist besonders bei grösseren Projekten sinnvoll, den Namen des Autors, das Datum der Freigabe, die Versionsnummer und die Versionsfolge zu beschreiben.

Es gibt einige allgemein übliche Schreibweisen zur Darstellung von wichtigen Kommentaren, die vor allem bei der Teamarbeit sehr nützlich sein können.

//:TODO:

Zeigt an, dass hier noch etwas getan werden muss.

//:BUG: [bugID]

Thema bzw. Problem. Der Kommentar sollte den Fehler beschreiben und eine Fehlernummer enthalten.

//:KLUDGE:

Zeigt an, dass der Code nicht optimal ist und symbolisiert damit einen Aufruf an die anderen Entwickler im Team, Verbesserungsvorschläge zu machen.

//:TRICKY:

Zeigt an, dass dieser Code recht komplex ist und daher bei der Bearbeitung vorab gut darüber nachgedacht werden sollte, welche Veränderungen vorgenommen werden.

Namenskonventionen

Die Gross- / Kleinschreibung ist für die Lesbarkeit enorm wichtig.

Beispiel

$SPIELFIGUR  / $SpielFigur /  $spielfigur

Alle Bezeichner fangen mit Kleinbuchstaben an. Bezeichner sind Namen für Variablen, Funktionen, Objekte.

Beispiel

$farbe / rennen() / $bild

Da in Bezeichnern keine Leerzeichen verwendet werden dürfen, sollte jedes neue Wort mit einem Grossbuchstaben anfangen.

Beispiel

setzeFarbe() / verwendeFarbe() / $initArray / $quizFrage

Hinweis: Eine Ausnahme stellen bei der Bezeichnung die Objekte dar. Bei ihnen hat es sich durchgesetzt, sie mit einem Grossbuchstaben zu beginnen.

Nachdem man sich in PHP eingearbeitet hat, sollte man auch in der Programmierung dazu übergehen, die Syntax in englisch zu halten. Da PHP auch in englisch gehalten ist, ergibt sich dadurch ein einheitliches Sprachbild, damit fällt auch die Verwendung von Abkürzungen um einiges leichter. Die Konvention kann jedoch nach eigenem Ermessen in die Arbeit einbezogen oder ignoriert werden. Eines sollten Sie jedoch immer beachten: Verwenden Sie nie Umlaute!

Beispiel

$Platzhalter (Besser: $dummy)

Hinweis: In diesem Buch werden Sie in den meisten Beispielen vor allem deutschsprachig formulierte Beispiele vorfinden, so dass auch diejenigen unter Ihnen, die sich mit der englischen Sprache noch nicht anfreunden konnten, ohne weiteres die Zusammenhänge verstehen sollten.

Abkürzungen sind erlaubt, wenn Sie konsequent und sinnvoll eingesetzt werden. Bis auf wenige Ausnahmen sind einbuchstabige Bezeichner zwar schneller in der Ausführung, jedoch stellen Sie einen schlechten Kompromiss zur Lesbarkeit dar.

Beispiel

$punktestand statt nur $ps für eine Punktestand

Konstanten können durch Grossbuchstaben hervorgehoben werden, da sich ihr Wert nicht ändert.

Beispiel

MEINE_KONSTANTE

Bestehen die Namen aus mehreren Wörtern, werden die Wörter mit dem Unterstrich ( _ ) getrennt und alle Buchstaben gross geschrieben. Eine weitere Alternative wäre, ein Präfix oder Postfix zur Kennzeichnung zu verwenden.

Beispiel

// Konstante
ConMeineKonstante
MeineKonstanteCon

Hier eine Liste von Vorschlägen bezogen auf Variablen und Datentypen.

Datentyp | Präfix | Beispiel
Array | arr | $arrPersonen, $personen_arr
Boolean | bln | $blnSignal, $signal_bln
Byte | byt | $bytWert, $wert_byt
Date | dt | $dtMorgen, $morgen_dt
Double | dbl | $dblPreis, $preis_dbl
Error | err | $errWert, $wert_err
Integer | int | $intPunkte, $punkte_int
Long | lng | $lngAbstand, $abstand_lng
Object | obj | $objHaus, $haus_obj
Single | sng | $sngWert, $wert_sng
String | str | $strName, $name_str

Deklarationskonventionen

Es sollte möglichst nur eine Deklaration pro Zeile erfolgen.

var $name;              // Vor- und Nachname
var $straße;            // Straße mit Hausnummer
var $name, $straße;      // Möglichst vermeiden

Es dürfen keine Deklarationen unterschiedlichen:
. Typs
. Methodendeklarationen
. Attributsdeklarationen
in einer Zeile stehen.

var $kundennummer, getKundennummer();         // Vermeiden
var $name, $namensliste[];                       // Vermeiden

Deklarationen sollten immer am Anfang eines Blocks stehen.

Mit Variablendeklarationen sollte nicht bis zur ersten Verwendung gewartet werden. Lokale Variablen sollten bei Deklaration möglichst auch initialisiert werden.

Das Überdecken von Variablen in einer höheren Ebene sollten vermieden werden.

function meinFunktion () {
    var $zaehler;
    if (Bedingung) {
        var $zaehler;    // Vermeiden!
    }
}

Anweisungskonventionen

Eine Zeile sollte nur einen Ausdruck enthalten.

$i++; $j++;                // Vermeiden!
$zahlEins++; $zahlZwei--;    // Vermeiden!

In Blöcken sollten öffnende Klammern am Zeilenende stehen.

if (Bedingung) {
    Anweisungen;
}

if (Bedingung) {
    Anweisungen;
} else {
    Anweisungen;
}

Textformatierung und Strukturierung

Um Programmstrukturen lesen zu können, hat sich bei fast allen Programmiersprachen die Strukturierung des Codes durch Einrückungen etabliert. Dieses kann im PHP Editorfenster im Expertenmodus mit der -Taste manuell vorgenommen werden.

Der folgende Quellttext zeigt, wie eine gute Codestrukturierung aussehen könnte.

function setPosition($par) {
    return $par;
}

Was sind Code-Konventionen?

Bennenung und Kommentare

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Bennenung und Kommentare

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Bennenung und Kommentare

Benennung

. aussagekräftige Bezeichner ($punkteStand = 1000)
. Begriffe in Bezeichnern durch Grossbuchstaben trennen (setPowerButton)
. Bezeichner-Präfixe, um den Typ oder die Klasse anzugeben($txtFeld)
. Bezeichner-Postfixe aus dem selben Grund ($feld_txt)
. Klassen gross schreiben (RechnerKlasse)
. Klassen-Bezeichner-Suffix: "Class" oder Klasse (AutoKlasse)
. Praefix für Funktionsparameter ($p wie in $pVorname)
. Konstanten durchweg gross schreiben ($VERSION = 1.0)

Kommentare
. Programmblöcke in Absätze mit // teilen
. Kommentare bei selbsterklärenden Codezeilen vermeiden

Wie sollen sie eingesetzt werden?

Debugging - Fehlersuche in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP-Fehlerkonzept

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP-Fehlerkonzept

PHP unterscheidet vier Fehlerklassen, denen unterschiedliche Bit-Werte zugeordnet sind.

Bitwert | Beschreibung
1 | Fehler
2 | Warnung
4 | Parser-Fehler
8 | Nachricht

Die Summe dieser Bit-Werte ergibt den sogenannten Fehlerstatus.

Treten in einem Skript Fehler auf, werden die entsprechenden Meldungen im Browserfenster ausgegeben, wenn ein zuvor festgelegtes Fehlerniveau erreicht wird. Diese Festlegung erfolgt in der PHP-Konfigurationsdatei php.ini mit Hilfe der Option error_reporting=wert. Standardmässig ist diese Option auf den Wert 7 eingestellt, so dass mit Ausnahme von Nachrichten alle Fehler ausgegeben werden. Den Fehlerklassen entsprechen intern von PHP vordefinierte Konstanten mit den enstsprechenden Bit-Werten als Werten.

Zusätzlich werden von PHP so genannte Kernel-Fehler unterschieden.

Bitwert | Fehlername | Beschreibung
1 | E_ERROR | Fehler im Programmablauf
2 | E_WARNING | Warnungen
4 | E_PARSE | Fehler in der Syntax
8 | E_NOTICE | Nachrichten
16 | E_CORE_ERROR | Fehler des PHP-Kernels
32 | E_CORE_WARNING | Warnung des PHP-Kernels

Da der in php.ini vorgegebene Wert von error_reporting mit Hilfe der gleichnamigen Funktionen error_reporting(int level) auch zur Laufzeit des Skripts verändern werden kann, können auf diese Weise auch die vom PHP-Sprachkern gemeldeten Fehler zur Anzeige gebracht werden.

Debugging - Fehlersuche in PHP

Syntaxanalyse

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Syntaxanalyse

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Syntaxanalyse

Nun da Sie eine Vielzahl an Programmiergrundlagen kennengelernt und vertieft haben, kommen wir zur Skriptanalyse. Diese Form der Qualitätskontrolle ist immens wichtig und vor allem bei grösseren Projekten ausschlaggebend für einen möglichst fehlerfreien Ablauf. Dabei wird das Entfernen von Fehlern aus Skripten als Skriptanalyse (engl. Debugging) bezeichnet.

Selbst, wenn Sie schon Hunderte von Skripten geschrieben haben, machen Sie sicher ab und zu einen Fehler. Sie schreiben ein Wort falsch, oder Sie vergessen eine Funktion einzutippen. Deshalb kommt es trotz aller Sorgfalt beim Schreiben Ihres Skripts immer wieder vor, dass es nicht wie gewünscht funktioniert und fehlerfrei ausgeführt wird. Diese Probleme, die bewirken, dass ein Skript nicht oder nur fehlerhaft läuft, werden als Bugs, zu deutsch Ungeziefer, bezeichnet. Sie können jedoch beruhigt sein, Sie sind nicht allein. Jedes Programm enthält Fehler (Bugs), einschließlich der Betriebsysteme. Viele Fehler sind meist harmlos. Sie beeinträchtigen die korrekte Funktionsweise Ihres Skripts nicht direkt, sondern führen höchstens dazu, dass Ihr Projekt an der einen oder anderen Stelle langsamer läuft. Grössere Fehler haben ernsthaftere Folgen. So könnte eine Endlos-Schleife Ihr gesamtes Projekt zum erliegen bringen und damit eine Ausführung unmöglich machen.

Sie haben jedoch die Möglichkeit Fehler zu vermeiden!

PHP-Fehlerkonzept

Fehlerprävention

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fehlerprävention

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fehlerprävention

Hier eine kurze Checkliste um Fehler zu vermeiden, diese Liste soll Ihnen die Fehlerprävention erleichtern:
. Sie sollten allen Variablen, Arrays, Funktionen und Objekten eindeutige Namen zuordnen. (Eine Ausnahme stellen lediglich die lokalen Variablen in Schleifen oder Funktion dar)
. Verwenden Sie die Anweisung foreach, um die Eigenschaften von Objekten zu durchlaufen.
. Achten Sie darauf, dass while, do-while, for- und foreach-Schleifen korrekt beendet werden, um Endlos Schleifen zu vermeiden.
. Prüfen Sie, ob alle Gültigkeitsbereiche stimmen.

Sie sollten sich nochmals im klaren darüber sein, dass niemand perfekt ist. Deshalb können Sie, selbst wenn Sie die oben aufgeführten Ratschläge beachten, keine hundertprozentige Garantie geben, dass Ihr Projekt fehlerfrei läuft. Selbst erfahrene Informatiker sind davor nicht gefeit. Fehler gehören halt zum Leben, wie Ungeziefer in den Keller. Sie werden es wohl kaum schaffen sie auszurotten, aber Sie können versuchen so viele wie möglich aus Ihrem Keller rauszuhalten.

Wie kommt es eigentlich, dass Fehler als Bugs bezeichnet werden. Diese Frage soll hier kurz beantwortet werden, so dass Sie jederzeit bei einem netten Gespräch unter Entwicklern eine Anekdote parat haben.

Hierfür müssen Sie zu den Anfängen des Computerzeitalters zurück kehren. Der erste Computer wurde mit mechanischen Relais betrieben, an elektronische Bauteile war noch nicht zu denken. Eines Tages blieb der Computer ohne ersichtlichen Grund stehen und ignorierte jegliche Eingabe. Die Entwickler prüften ihre Programme und mussten feststellen, dass sie eigentlich fehlerfrei funktionieren sollten. Die Stromversorgung war ebenfalls gesichert und auch die Drähte im Computer waren ordnungsgemäss angeschlossen. Einer der Entwickler entdeckte jedoch, dass eine Wanze (engl. Bug) in einem der Relais zerquetscht worden war, was dazu geführt hatte, dass sich das Relais nicht mehr vollständig schliessen konnte. Diese Wanze hatte den Computer lahmgelegt und das ist auch der Grund wieso seitdem Fehler als Bugs bezeichnet werden. Sie können von Glück reden, dass nichts Anderes zerquetscht wurde.

Syntaxanalyse

Fehlerarten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fehlerarten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fehlerarten

Fehler werden grundsätzlich in drei Gruppen eingestuft:
. Syntaxfehler
. Laufzeitfehler
. Logische Fehler

Syntaxfehler

Gerade als Programmierneuling sind Fehler oft unvermeidlich und diese tauchen immer dann auf, wenn Sie sie nicht erwarten. Die meisten Fehler beruhen auf einer fehlerhaften Syntax, diese werden auch als Syntaxfehler bezeichnet. Sie lassen sich recht einfach aus der Welt schaffen, indem Sie sich Ihre Codezeilen nach der Fehlerausgabe genauer betrachten. Hier einige Beispiele häufig vorkommender Syntaxfehler:

Fehlerhafte Bezeichner, welche nicht den Regeln entsprechen.

Beispiel

$über = 10 ;
$erster Wert = 10;

Die Anweisungsblöcke von Funktionsdefinition bzw. Kontrollstrukturen sind nicht korrekt beendet.

// Ergebnis: Fehlermeldung
function meineFunktion () {
        $zahlEins += 10;
        $zahlZwei *= 10;

// Ergebnis: Fehlermeldung
if ($signal) {
    $aktiv = true;
else {
    $aktiv = false;
}

Fehler die bei der Eingabe von Flieskommazahlen auftauchen, hier könnten Sie sagen typisch deutsch.

Beispiel

// Lösung: 1.95
$preis = 1,95;

Sollte Ihr PHP-Skript nach der Entfernung aller Syntaxfehler ausgeführt werden, wissen Sie, dass es keine Syntaxfehler mehr enthält. Nun müssen Sie sich den Laufzeit- und Logischen Fehlern zuwenden.

Fehlende Klammern und Co.

Es wird Ihnen vor allem bei der Arbeit mit umfangreichen PHP-Skripten vorkommen, dass Sie Klammern eines Anweisungsblocks oder einer Schleife vergessen. In der Regle können Sie fehlende geschlossene Klammern daran erkennen, dass der PHP-Interpreter einen Fehler in der letzten Codezeile Ihres Skripts ausgibt.

Dies liegt daran, dass die abschliessende Klammer nicht gefunden wird und der Fehler erst am Ende des Skripts vom PHP-Interpreter bermerkt wird. Sie müssen in diesem Fall Ihr Skript sorgfältig durchgehen und nach der vergessenen Klammer suchen. Um dieses Problem von anfang an zu vermeiden, sollten Sie in solchen Fällen die Klammern von anfang an öffnen und schliessen und dann den benötigten Code einfügen.

Tipp: Sollten Sie eine Fehlermeldung zusammen mit einer Zeilennummer erhalten, bei der Sie sich sicher sind, dass sich dort kein Fehler befinden kann, dann betrachten Sie auch die Zeilen darüber und kontrollieren Sie diese. Vor allem bei nicht geschlossenen geht der PHP-Interpreter das gesamte PHP-Skript durch und gibt dann erst die letzte Zeile als Zeilennumer des Fehlers aus.

Laufzeitfehler

Ein Laufzeitfehler kommt immer dann vor, wenn Ihr Skript Daten erhält mit denen es nichts anfangen kann. Diese Fehlerart ist um einiges subtiler als Syntaxfehler. Ihr Skript kann eine Vielzahl von Laufzeitfehler besitzen, von denen Sie erst etwas merken, wenn Sie Ihr Skript ausführen. Ein Beispiel für einen Laufzeitfehler in einem Skript finden Sie in folgendem Beispiel:

function steuer() {
    $steuerSatz = $steuerSchulden/$einkommen;
}

Die Funktion führt normalerweise Ihre Anweisung fehlerfrei aus, solange das Einkommen grösser als 0 ist. Bei einem Einkommen von 0 gibt es ein Problem. Da die Division durch 0 nicht möglich ist, kommt es zu einem Fehler bzw. fehlerhafte Zuweisung. Um Laufzeitfehler zu entdecken, müssen Sie Ihr PHP-Skript mit jeder möglichen Eingabe testen, angefangen vom Drücken einer falschen Taste bis hin zu einer negativen Zahl, die ein Anwender als sein Einkommen eingibt. Dies bezeichnet man häufig als DAU Sicherung (DAU = Dümmster Anzunehmender User). Auch wenn diese Bezeichnung eines Anwender möglichst die heiligen vier Wände des Entwicklers nicht verlassen sollte.

Sie werden jedoch eines sehr schnell feststellen, da die Anzahl der Dinge, die schief gehen können, ins Endlose geht Murphy's Gesetz, verstehen Sie sicher, warum jedes Programm Bugs hat.

Logische Fehler

Neben den Syntax- und Laufzeitfehlern gibt es noch die Logischen Fehler. Diese Fehlerart tritt auf, wenn ein Skript deshalb nicht ordnungsgemäss funktioniert, weil Sie ihm die falschen Anweisungen oder die Anweisungen in der falschen Reihenfolge gegeben haben. Sie fragen sich wie das sein kann, wie Sie in einem Skript falsche Anweisungen ablegen können, wenn Sie doch selbst das Skript geschrieben haben. Glauben Sie es ruhig, es kommt vor!

Natürlich gehen Sie davon aus, dass Sie in all Ihren Skripten des Projekts die richtigen Anweisungen abgelegt haben. Sie haben zunächst keine Ahnung, warum Ihr Projekt nicht einwandfrei läuft. Jetzt gilt es die Stelle in den Skripten zu finden, an der Ihre Anweisungen nicht genau genug waren. Wenn Ihr Projekt recht umfangreich ist, kann das bedeuten, dass Sie in all Ihren Skripten Zeile für Zeile durchgehen müssen.

Wie Sie sehen, nicht gerade ein Zuckerschlecken, daher sollten Sie immer versuchen, den Überblick zu wahren. Ein Beispiel für einen Logischen Fehler darf nicht fehlen.

Beispiel

// Logischer Fehler (bei Schleifen)
// Ergebnis: Endlos Schleife
for ($i = 0;$i <= 100;$i--) {
    $summe += $i;
}

Fehlerprävention

Debugging

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Debugging

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Debugging

Vor allem die logischen Fehler können entweder sehr einfach oder sehr schwer zu beheben sein. Eines haben jedoch alle Fehler gemein, Sie müssen sie erst einmal finden, um Sie anschließend beheben zu können. Genau hierin liegt die Schwierigkeit!

Fehlersuche mit dem Maguma Studio Debugger

Die Werte von Variablen können Sie mit Hilfe des im Maguma Studio integrierten Debuggers, auf einfache Weise überwachen. Der wesentliche Vorteil gegenüber der PHP-Interpreter Ausgabe besteht darin, das die Überwachung in Echtzeit erfolgt und die Aktualisierung automatisch ,während das Skript abgearbeitet wird, durchgeführt wird. Der Debugger arbeitet in diesem Fall mit Hilfe von Breakpoints (Haltepunkte), die im Skript festgelegt werden können.

Maguma - Debugger samt Breakpoints

Tipp: Wir empfehlen Ihnen das Maguma Studio oder einen vergleichbaren Editor einzusetzen, da dies die Analyse und Fehlersuche in umfangreichen PHP-Projekten wesentlich erleichtert.

Fehlerarten

Fehlersuche und Fehlerfinden

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fehlersuche und Fehlerfinden

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fehlersuche und Fehlerfinden

In diesem letzten Abschnitt soll Ihnen aufgezeigt werden, wie sich die Fehlersuche darstellt. Die Fehlersuche und Beseitigung kann in drei Phasen unterteilt werden:
1. Erkennen, dass ein Fehler vorliegt.
2. Suchen und finden des Fehlers.
3. Beseitigen Sie den Fehler.

Erkennen, dass ein Fehler vorliegt

Der beste Weg, Fehler in Ihrem Projekt und Ihren Skripten zu entdecken, besteht darin freiwillige Testpersonen mit Ihrem Projekt arbeiten zu lassen. Dies wird in der Entwicklung als Testphase bezeichnet. In der Softwareindustrie auch als Betatest bekannt.

Beobachtung von Variablen zur Laufzeit

Sie können hierzu den Befehls echo() verwenden, indem Sie die Inhalte verdächtiger Variablen im Browser ausgaben. Oft sind nicht nur die aktuellen Werte der Variablen von Interesse, sondern auch ander Informationen über die Variablen, zu deren Abfrage in PHP eine Reihe von Funktionen zur Verfügung stehen.

Funktionen | Bedeutung
empty() | Ist die Variable leer?
gettype() | Ermittelt den Datentyp
is_array() | Ist Variable ein Array?
is_double() | Datentyp double?
is_float() | Datentyp float?
is_int() | Datentyp integer?
is_object() | Datentyp object?
is_real() | Datentyp real?
is_string() | Datentyp string?
isset() | Variable defniert?

Bahandlung von Laufzeitfehlern

Wie Sie bereits erfahren haben stellen vor allem die Laufzeitfehler oftmals ein grösseres Problem dar. Diese Fehler gilt es mit Hilfe von entsprechenden Fehlerbehandlungsroutinen abzufangen. Dies ist jedoch eher eine Frage des sauberen Programmierstils als des Debugging.

Eine einfache Möglichkeit auf Laufzeitfehler zu reagieren, besteht darin, die Skriptausführung kontrolliert abzubrechen. Hierzu stehen in PHP die Sprachkonstrukte exit und die() zur Verfügung.

Während exit die Skriptausführung sofort abbricht, gibt die() vor dem Abbruch noch eine Meldung an den Browser aus.

Beispiel

<?php
$file = "htdocs/daten.txt";
$fp = fopen($file, "r") or die("Datei nicht gefunden: $file");
$dat = fread($fp, filesize($file));
fclode($fp);
?>

Ausgabe

Warning: fopen(htdocs/daten.txt) [function.fopen]: failed to open stream: No such file or directory in C:\php5xampp-dev\htdocs\php5\debugtest.php on line 3
Datei nicht gefunden: htdocs/daten.txt

Sollte die mit der Variablen $file referenzierte Datei nicht gefunden werden, wird die Skriptausführung beendet und zuvor noch eine entsprechende Meldung ausgegeben. Um die Interpreter eigene Warnung zu unterdrücken steht, wie Sie ja wissen das @-Zeichen zur Verfügung.

Beispiel

<?php
$file = "htdocs/daten.txt";
$fp = @fopen($file, "r") or die("Datei nicht gefunden: $file");
$dat = fread($fp, filesize($file));
fclode($fp);
?>

Ausgabe

Datei nicht gefunden: htdocs/daten.txt

Suchen und finden des Fehlers

Wenn Sie festgestellt haben, dass ein Fehler vorliegt, müssen Sie diesen suchen und finden. Einen Fehler zu finden ist häufig der schwierigste Teil. Die einfachste, aber auch zeitaufwendigste Methode einen Fehler zu finden besteht darin, Ihr Projekt auszuführen und Ihre Skripte Zeile für Zeile zu untersuchen. Zu dem Zeitpunkt, an dem der Fehler auftaucht, wissen Sie genau, welche Codezeile diesen verursacht. Diese Methode eignet sich jedoch lediglich bei kleineren Projekten. So vorzugehen, um ein komplexes und grosses Projekt nach Fehlern zu durchsuchen, wäre abwegig.

Die Alternative, die wesentlich schneller zum Ziel führt, wäre folgende: Sie sollten nur in Teilen des Projekts nach dem Fehler suchen, in denen Sie diesen vermuten. Wenn in Ihrem Projekt beispielsweise die Formularüberprüfung, für eines in Ihrem Projekt angelegten Formular nicht richtig durchgeführt wird, steckt der Fehler wahrscheinlich in dem Skript, in dem Sie die Methoden zur Überprüfung definiert haben.

Tipp: Denken Sie daran, bei der Fehlersuche stehen Ihnen in PHP selbst nicht sehr viele Hilfsmittel zur Verfügung, jedoch bietet Ihnen das Maguma Studio ein hervorragendes Hilfmittel, nämlich den integrierten Debugger. Dieser kann Ihnen beim Auffinden der Fehler nur dann behilflich sein, wenn Sie diesen auch einsetzen.

Sobald Sie den Fehlerhaften Teil isoliert haben, müssen Sie herausfinden, was den Fehler verursacht.

Beseitigen Sie den Fehler

Nun da Sie den Fehler gefunden haben, können Sie die Ursache und damit den Fehler beseitigen. Gehen Sie dabei vorsichtig vor! Oft genug kommt es vor, dass die Fehlerkorrektur, unbeabsichtigt, neue Fehler hervorruft. Daher ist es meist einfacher, einen grossen Anweisungsblock neu zu schreiben, als zu versuchen, einen Fehler in diesem zu korrigieren.

Debugging

Counter - der Besucherzähler

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


MAMP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MAMP

Das Motto der Entwicklerschmiede webEdition, "Installieren Sie Apache, PHP und MySQL mit wenigen Klicks unter MacOS X", klingt zu gut um wahr zu sein - keineswegs. Die Entwickler von MAMP, das Kürzel steht für Macintosh, Apache, Mysql und PHP, haben eine optimale Lösung für einen vollfunktionsfähigen Web-server für MacOS X basierte Systeme realisiert. Darüberhinaus ist die MAMP Distribution, wie die meisten Installationkits kostenlos.

MAMP lässt sich, wie die XAMPP Distribution, sehr einfach installieren und hat dabei keine nachteiligen Auswirkungen auf eine bereits aktivierte Apache Installation. Ohne ein Installationsroutine zu starten oder Einstellungen im zu ändern oder vorzunehmen, werden Apache, PHP und MySQL installiert.

MacOS X

Das Distribution setzt sich aus folgenden Komponenten zusammen:

. Apache 2.0.50
. MySQL 4.0.20
. PHP 4.3.8

Eine weitere Besonderheit sollten Sie MAMP nicht mehr benötigen, genügt es einfach, den MAMP Ordner zu löschen und alles ist wie gehabt!

MAMP Distribution

Sollten Sie nach einer aktuellen Distribution von MAMP fahnden, empfiehlt es sich einen Blick auf www.webedition.de zu werfen. Dort finden Sie die jeweils aktuelle Distribution.

WAMP5

Installationkits und Sicherheit

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Textcounter

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Textcounter

Das erforderliche Skript zur Umsetzung des Counters stellt sich, wie folgt dar:

<?php

// Simple Counter v1.0
// Für die korrekte Funktionsweise des Counters ist darauf zu
// achten, daß die entsprechenden Schreibrechte auf dem
// Webserver gesetzt sind.

// Counterdateiname
$datei="counter.txt";

// Anzahl der führenden Nullen
$stellen = 5;

if(file_exists($datei)){
  // Falls die Datei existiert, wird sie ausgelesen und
  // der dort enthaltene Wert um Eins erhöht.
  $fp=fopen($datei,"r+");
  $zahl=fgets($fp,$stellen);
  $zahl++;
  rewind($fp);
  flock($fp,2);
  fputs($fp,$zahl,$stellen);
  flock($fp,3);
  fclose($fp);
}else{
  // Die Datei counter.txt existiert nicht, sie wird
  // neu angelegt und mit dem Wert 1 gefüllt.
  $fp=fopen($datei,"w");
  $zahl="1";
  fputs($fp,$zahl,$stellen);
  fclose($fp);
}

// Diese Funktion sorgt für die Formatierung
// in diesem Fall für die führenden Nullen
$zahl=sprintf("%0".$stellen."d",$zahl);

?>

Wir empfehlen Ihnen dieses Skript in eine Datei Namens counter.php abzuspeichern. Durch die if-Anweisung wird entweder eine vorhandene Textdatei counter.txt ausgelesen und deren Wert anschliessend um eins erhöht oder eine neue Textdatei counter.txt angelegt und der Wert mit 1 initialisiert. Die Variable $fp enthält den Dateizeiger (engl. FilePointer), welcher auf die entsprechende Datei verweist. Die Funktion rewind() sorgt dafür das der Dateizeiger wieder an die Anfangsposition zurückgesetzt wird, um anschliessend mit der Funktion fputs() den in der Variablen $zahl enthalten Wert zu verwenden und den bisherigen Inhalt der Datei zu überschreiben. Mit Hilfe der Funktion flock() wird sicher gestellt, dass die Datei während des Schreibvorgangs verriegelt wird. Dies ist notwendig um beispielsweise einen simultanen Zugriff auf die Datei zu verhindern, durch diesen könnte die Datei möglicherweise zerstört werden.

Im letzten Schritt wird der Inhalt der Variablen $zahl formatiert und zwar, so dass eine festgelegt Zahl von führenden Nullen hinzugefügt wird. Die Funktion sprintf() dient hierbei der formatierten Ausgabe von Zeichenketten. Der Aufruf des Counters kann anschliessend aus jedem beliebigen PHP-Skript Ihrer Website erfolgen und zwar, wie folgt:

<?php

include("counter.php");
echo $zahl;

?>

Ausgabe

00001

Natürlich steht es Ihnen frei die Ausgabe des Counters mit Hilfe von HTML-Tags zu formatieren.

Beispiel

<html>
<head>
<title>Simple Counter</title>
</head>
<body>
<font face=Arial color=blue size=5>Besucher:</font>
<?php

include("counter.php");
echo "<font face=Arial color=blue size=5>$zahl</font>";

?>
</body>
</html>

Counter - der Besucherzähler

Grafikcounter

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Grafikcounter

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Grafikcounter

Nachdem Sie nun den Textcounter entworfen haben, wäre es sicher interessant zu erfahren, wie sich eine auf Grafik basierte Lösung darstellt. Hierbei werden Sie feststellen, dass Sie das vorhandene Skript des Textcounter lediglich um einige Codezeilen anpassen müssen.

Das erforderliche Skript zur Umsetzung des Counters stellt sich, wie folgt dar:

<?php

// Grafik Counter v1.0
// Für die korrekte Funktionsweise des Counters ist darauf zu
// achten, daß die entsprechenden Schreibrechte auf dem
// Webserver gesetzt sind.

// Counterdateiname
$datei="counter.txt";

// Anzahl der führenden Nullen
$stellen = 5;

// Festlegen der Bild-Dimensionen
$breite="15";
$hoehe="19";

if(file_exists($datei)){
  // Falls die Datei existiert, wird sie ausgelesen und
  // der dort enthaltene Wert um Eins erhöht.
  $fp=fopen($datei,"r+");
  $zahl=fgets($fp,$stellen);
  $zahl++;
  rewind($fp);
  flock($fp,2);
  fputs($fp,$zahl,$stellen);
  flock($fp,3);
  fclose($fp);
}else{
  // Die Datei counter.txt existiert nicht, sie wird
  // neu angelegt und mit dem Wert 1 gefüllt.
  $fp=fopen($datei,"w");
  $zahl="1";
  fputs($fp,$zahl,$stellen);
  fclose($fp);
}

// Diese Funktion sorgt für die Formatierung
// in diesem Fall für die führenden Nullen
$zahl=sprintf("%0".$stellen."d",$zahl);

// Hier wird dann der Zähler aus Bildern zusammengesetzt
for($i=0;$i<$stellen;$i++){
$bild_counter=$bild_counter . "<img src=bilder/" . substr($zahl,$i,1) . ".gif align=absmiddle width=$breite height=$hoehe>";
}

?>

Wie Sie selbst feststellen werden wurden für die grafische Lösung lediglich die Beiden Variablen $breite und $hohe hinzugefügt, welche die Bild-Dimension festlegen. Die einzelnen Bilder aus denen sich der Counter zusammensetzt werden mit Hilfe der for-Schleife festgelegt. Hierbei ist darauf zu achten, dass die einzelnen Grafiken von 0.gif bis 9.gif im angegebenen Verzeichnis bilder vorliegen müssen.

Nun betrachten Sie sich die Codezeile innerhalb der for-Schleife etwas genauer. Die Variable $bild_counter, welche immer an sich selbst angehängt wird, erzeugt mit Hilfe der for-Schleife die benötigten <img>-Tags, die auf die Bilder für entsprechenden Stellen der Zahl verweisen. Ist die erste Stelle beispielsweise eine Zwei, dann lautet der korrekte Hyperlink:

<img src=bilder/2.gif align=absmiddle width=15 height=19>

Um den Wert der Stelle und damit des Namens der Bilddatei zu ermitteln, die die entsprechende Ziffer enthält, wird die Funktion substr() verwendet. Diese sucht aus einer Zeichenkette ein oder mehrere Zeichen heraus, je nachdem, welche Parameter an die Funktion übergeben wurden. Der erste Parameter enthält die zu untersuchende Zeichenkette ($zahl). Der zweite Parameter gibt die Position innerhalb der Zeichenkette an, an der die Funktion ansetzen soll ($i), dieser legt damit auch den Startwert fest. Der dritte Parameter legt fest, wie viele Zeichen ab dem Startwert zurückgegeben werden sollen (1). Der Startwert muss nacheinander die Wert 0 bis $stellen durchlaufen, um sämtliche Stellen von $zahl zu untersuchen.

Natürlich können Sie auch JPEG-Bilder verwenden, hierzu müssen Sie lediglich die Codezeile innerhalb der for-Schleife, wie folgt anpassen.

$bild_counter=$bild_counter . "<img src=bilder/" . substr($zahl,$i,1) . ".jpg align=absmiddle width=$breite height=$hoehe>";

Auch in diesem Fall empfehlen wir Ihnen, das Skript in eine seperate Datei abzuspeichern, wie z.B. grafikcounter.php. Der Aufruf des Counters kann anschliessend aus jedem beliebigen PHP-Skript Ihrer Website erfolgen und zwar, wie folgt:

<?php

include("grafikcounter.php");
echo $bild_counter;

?>

Textcounter

Counter mit IP-Sperre

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Counter mit IP-Sperre

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Counter mit IP-Sperre

Die dritte und letzte Variante eines Besucherzählers die wir Ihnen vorstellen wollen, ist der Besucherzähler, welcher eine IP-Sperre besitzt. Diese IP-Sperre ermöglicht es Ihnen den jeweiligen Besucher lediglich ein einziges mal pro Besuch zu registrieren und zwar für eine festgelegte Zeit. Natürlich stellt dies keinen absoluten Schutz vor Refresh Aufrufen dar, aber immer hin lässt sich hiermit der Besucherzähler wesentlich sinnvoller betreiben.

Das erforderliche Skript zur Umsetzung des Counters stellt sich, wie folgt dar:

<?

/////////////////////////////////////////
// Counter + Reloadsperre v1.0
/////////////////////////////////////////

// 0=keine Reloadsperre, 1=Reloadsperre
$aktiv = 1;
// Zeit der Reloadsperre in Minuten
$zeit = 1;
// IP-Datei
$ipdatei = "ips.txt";
// Counterdatei
$datei = "counter.txt";
// Anzahl der führenden Nullen
$stellen = 5;
// Festlegen der Bild-Dimensionen
$breite="15";
$hoehe="19";

/////////////////////////////////////////
// IP-Reloadsperre
/////////////////////////////////////////

function pruf_IP($rem_addr) {
  global $ipdatei,$zeit;
  @$ip_array = file($ipdatei);
  $reload_dat = fopen($ipdatei,"w");
  $this_time = time();
  for ($i=0; $i<count($ip_array); $i++) {
    list($ip_addr,$time_stamp) = explode("|",$ip_array[$i]);
    if ($this_time < ($time_stamp+60*$zeit)) {
      if ($ip_addr == $rem_addr) {
        $gefunden=1;
      }
      else {
        fwrite($reload_dat,"$ip_addr|$time_stamp");
      }
    }
  }
  fwrite($reload_dat,"$rem_addr|$this_time\n");
  fclose($reload_dat);
  return ($gefunden==1) ? 1 : 0;
}

/////////////////////////////////////////
// Counter-Abfrage
/////////////////////////////////////////

if (file_exists($datei) && ($aktiv==0 || ($aktiv==1 && pruf_IP($REMOTE_ADDR)==0))) {
  // Falls die Datei existiert, wird sie ausgelesen und
  // der dort enthaltene Wert um Eins erhöht.
  $fp=fopen($datei,"r+");
  $zahl=fgets($fp,$stellen);
  $zahl++;
  rewind($fp);
  flock($fp,2);
  fputs($fp,$zahl,$stellen);
  flock($fp,3);
  fclose($fp);
}else if (!file_exists($datei) && ($aktiv==0 || ($aktiv==1 && pruf_IP($REMOTE_ADDR)==0))) {
  // Die Datei counter.txt existiert nicht, sie wird
  // neu angelegt und mit dem Wert 1 gefüllt.
  $fp=fopen($datei,"w");
  $zahl="1";
  fputs($fp,$zahl,$stellen);
  fclose($fp);
} else {
  // Die Datei existiert zwar, jedoch handelt
  // es sich wahrscheinlich um den gleichen Besucher
  $fp=fopen($datei,"r");
  $zahl=fgets($fp,$stellen);
  fclose($fp);
}

$zahl=sprintf("%0".$stellen."d",$zahl);

?>

Wie Sie sehen setzt sich diese Lösung ähnlich zusammen, wie der Text- bzw. Grafikcounter. Es ist lediglich eine Funktion pruf_IP() hinzugekommen, die Sie in die Lage versetzt die jeweilige IP-Adresse des Besuchers und die Besuchszeit zu speichern. Hierzu wird eine Textdatei ips.txt angelegt, in dieser befinden sich sämtliche Besucher-IPs samt Besuchszeiten. Die Reloadsperre ist für jeden Besucher 1 Minute lang aktiv, dies lässt sich mit Hilfe der Variablen $zeit natürlich ohne weiteres raufsetzen. Die durch die Funktion erzeugten Einträge innerhalb der ips.txt Datei setzen sich, wie folgt zusammen ipadresse|besuchszeit.

Beispiel - Zeile aus der ips.txt Datei

127.0.0.1|1075942181

Die Counter-Abfrage als auch die Ausgabeformatierung sind in Ihren wesentlichen Bestandteilen identisch mit den vorherigen Lösungen. Der Aufruf des Counters kann anschliessend aus jedem beliebigen PHP-Skript Ihrer Website erfolgen und zwar, wie folgt:

Beispiel - Textcounter

<?php

include("counter.php");
echo "<font face=Arial color=blue size=5>$zahl</font>";

?>

Beispiel - Grafikcounter

<?php

include("counter.php");

// Hier wird dann der Zähler aus Bildern zusammengesetzt
for($i=0;$i<$stellen;$i++){
$bild_counter=$bild_counter . "<img src=bilder/" . substr($zahl,$i,1) . ".gif align=absmiddle width=$breite height=$hoehe>";
}

echo $bild_counter;

?>

Tipp: Nehmen Sie sich genügend Zeit um sich mit der IP-Sperre zu befassen. Diese Funktion kann Ihnen auch für weitere Anwendungen, wie beispielsweise bei einem Gästebuch nützliche Dienste erweisen, um doppelte Einträge zu vermeiden.

Grafikcounter

Gästebuch

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installationkits und Sicherheit

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installationkits und Sicherheit

Sämtliche aufgeführten Installationkits eignen sich lediglich für lokale Entwicklungsumgebungen. Sie sollten aus Sicherheits- und Performancegründen davon absehen ein solches Installationkit-Paket auf einem Produktionsserver zu installieren.

MAMP

Syntax der Init-Datei

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


GET und POST

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

GET und POST

Die sinnvollste Methode für die jeweilige Web-Anwendung einzusetzen liegt in den Händen des Entwicklers, daher sollten einige Hintergrundinformationen zu den beiden Übertragungsmethoden vorhanden sein.

POST

Die POST-Methode wird vorwiegend eingesetzt, um dem Server mitzuteilen, dass eine Anforderung des Clients weitere Daten enthält. POST bietet in diesem Zusammenhang folgende Funktionen an:
. Übertragung eines Datenblocks, dazu gehören auch die Inhalte eines Formulars.
. Übertragung von Nachrichten auf eine Nachrichtengruppe, Mailingliste, etc.
. Mitteilung existierender Ressourcen

Die aktuell durch POST ausgelöste Aktion wird durch den Server festgelegt und ist abhängig von der Request-URI. Der gesendete Datenblock stellt hierbei einen Bestandteil dieser URI dar, ähnlich wie eine Datei Bestandteil eines Verzeichnisses ist. Der durch POST ausgelöste Prozess muss nicht direkt an eine Ressource gerichtet sein, die durch den URI adressiert wird. In diesem Fall wird entweder 200 (OK) oder 204 (No Content) als Statusmeldung übertragen. Um an dieser Stelle die Theorie auf den Punkt zu bringen, praktisch gesehen dient POST dazu Formulardaten vom Browser zum Server zu übertragen.

GET

Die GET-Methode ist in der Lage Informationen, jeglicher Art mit Hilfe der Ergebnis-URI zu identifizieren. Wenn der URI auf einen Prozess basiert, welcher Daten zurückgibt, besteht dieser aus den erzeugten Daten. Die vollständige URI besteht aus der URL, einem Fragezeichen als Trennzeichen und den Daten.

Beispiel

www.meinedomain.de/ausgabe.php?inhalt=Hallo Besucher

Es ist ebenfalls möglich, eine GET-Anforderung mit Bedingungen zu senden, beispielsweise If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, If-Range. In diesen Fällen werden die Daten nur dann übertragen, wenn die Bedingungen erfüllt sind.

Unterschiede und Gemeinsamkeiten von GET und POST

Die vorliegenden Informationen haben sicher einige Unterschiede aufführen können. Für den Einsatz in PHP basierten Web-Anwendungen ist lediglich eines von Interesse:
. Die POST-Methode überträgt die Daten im Körper (Body) der Nachricht. Damit sind die Daten ein Teil der Nachricht, welche aus Kopf (Header) und Körper (Body) zusammengesetzt ist. In diesem Fall ist der Platz übrigens nicht beschränkt.
. Die GET-Methode nutzt die URI zur Übertragung der Daten und hängt diese quasi an die URL mit an. Die Länge der URL ist jedoch bestimmten Beschränkungen von Seiten der Browser unterworfen. Daher sollte die Datenmenge möglichst eine Grösse von 2 Kilobytes nicht überschreiten. Dies ist im übrigen schnell erreicht, da neben den eigentlichen Daten auch jedes Trennzeichen und jeder Variablen- bzw. Feldname mit übertragen wird.

Mit POST umgehen Sie die Beschränkungen von Seiten der Browser. Als einziger Nachteil könnte in Performance ortientierten Systemen, der grössere Zeitaufwand zur Übertragung der Nachricht angesehen werden. Dieser Nachteil kommt dadurch zu stande, da der Server zusätzlich zum Kopf auch den gesamten Körper der Nachricht übertragen muss.

Besser GET oder POST?

Hier einige handfeste Hilfestellung für die Entscheidung, welche Übertragungsmethode Sie einsetzen sollten.

Allgemein betrachtet ist es besser, die Methode GET zu verwenden: Formulare sind wesentlich leichter zu debuggen und der Anwender kann sich ein fertig ausgefülltes Formular mit Parametern in die Bookmarks oder einen Hyperlink legen - das ist besonders bequem und ergonomisch.

Enthält das Formular Werte, die nicht in der URL angezeigt werden sollen und die auch nicht Bestandteil des Referer sein sollen und nicht in Proxy-Logs auftauchen sollen, dann ist die Verwendung von POST anzuraten. Dies ist zum Beispiel immer dann der Fall, wenn ein Eingabeelement Password verwendet wird.

Ebenfalls sollte POST verwendet werden, wenn die Länge von Eingabeelementen nicht nach oben begrenzt ist, also immer dann, wenn ein TEXTAREA verwendet wird.

Schließlich ist die Verwendung von POST zwingend notwendig, wenn ein File-Upload durchgeführt werden soll, einmal wegen der prinzipiell unbegrenzten Länge, aber auch weil das notwendige Attribut ENCTYPE="multipart/form-data" nur in Verbindung mit POST funktioniert.

Formulare und PHP

Ermitteln von Formulardaten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Ermitteln von Formulardaten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Ermitteln von Formulardaten

Die Daten eines Formulars innerhalb eines PHP-Skripts weiter zu verarbeiten stellt wohl eine der grundlegenden Aufgaben einer Vielzahl von Web-Anwendungen dar.

HTML-Formulare

Mit Hilfe von HTML-Formulare sind Sie in der Lage, Daten vom Browser zum Server zu übermitteln. Ein Formular setzt sich aus dem <form>-Tag und den enthaltenen Formularelementen, wie Textfelder, Checkboxen, Auswahlisten, etc. zusammen.

Achtung: Bei der Realisierung von HTML-Formulare sollten Sie darauf achten, dass die Formularelemente, nur innerhalb des <form></form>-Container existieren. Ausserhalb werden Sie von den meisten Browsern gar nicht erste angezeigt oder falsch dargestellt. Zusätzlich verlieren Sie Ihre Funktionalität.

Die wohl einfachste Form eines Formular stellt sich, wie folgt dar:

<html>
<head>
<title>Kontaktformular</title>
</head>
<body>
<form action="mailto:matthiask@atomicscript">
  <p>
    Betreff: <input type="text" name="Betreff" size="30">
  </p>
  <p>
    E-Mail: <input type="text" name="email" size="30">
  </p>
  <p>
    Kommentar: <input type="text" name="nachricht" size="30">
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
    <input type="reset" name="Reset" value="Reset">
  </p>
</form>
</body>
</html>

Das Formular ist in der Lage eine E-Mail zu versenden. Dieser Vorgang läuft jedoch Clientseitig ab. Voraussetzung ist, dass neben dem Browser auch ein E-Mail-Client zur Verfügung steht, welcher vom Browser gesteuert werden kann.

Sollte dies nicht gegeben sein ist der Einsatz eines serverseitigen Skripts notwendig, welches unabhängig vom Browser E-Mails versenden kann. Hierfür ist innerhalb des Formulars lediglich eine Zeile anzupassen:

<form action="mail.php" method="post">

Wie Sie sehen wird, zum einen als auszuführender Befehl für den <form>-Tag keine lokale Anweisung mehr verwendet, sondern auf ein Skript, welches sich auf dem Server befindet, verwiesen. Zum anderen wird explizit auf die zu verwendende Übertragungsmethode verwiesen. Im vorliegenden Fall handelt es sich um POST.

Einsatz von Formularelemente

Im vorherigen Beispiel haben Sie bereits zwei Formularelement kennen gerlernt, es handelte sich um das Eingabetextfeld und die Schaltfläche. In HTML stehen Ihnen weit aus mehr Formularelemente zur Verfügung. Das wohl vielfältigste Tag innerhalb eines HTML-Formular ist das <input>-Tag.

Übersicht der HTML-Formularelemente

Die folgenden Formularelemente sind Bestandteile des <input>-Tag. Wir haben diese in der folgenden Tabelle für Sie aufgelistet.

Element | Attribute | Bedeutung
text | size,value,name,maxlength | Erzeugt ein einzeiliges Eingabetextfeld.
radio | value,checked,name | Erzeugt eine Optionsschaltfläche. Im Gegensatz zu einer Checkbox kann lediglich eine Schaltfläche innerhalb einer Gruppe aktiviert werden. Die Radiobuttons werden zu einer Gruppe verknüpft sobald Sie den selben Namen besitzen, welcher mit Hilfe des name Attribut festgelegt wird.
checkbox | value,checked,name | Erzeugt ein Auswahlkasten. Das Attribut value wird zum Server übertragen sobald die Checkbox aktiviert wurde. Mit Hilfe des Attribut checked kann die Checkbox bereits beim Aufruf des Formulars aktiviert werden. Checkboxen ermöglichen auch bei Zugehörigkeit zur selben Gruppe eine Mehrfachauswahl.
password | size,value,name | Bewirkt, dass die eingegebenen Zeichen als Sternchen im Eingabefeld erscheinen.
hidden | value,name | Erzeugt ein unsichtbares Feld, welches dazu dient, versteckte Statusinformationen zu übermitteln.
button | value,name | Erzeugt eine Schaltfläche.
image | src,name,width,height,alt | Erzeugt ein Bild, welches beispielsweise eine Schaltfläche ersetzt.
file | name,size,maxlength,accept | Erzeugt eine Eingabefeld samt Schaltfläche zum Übertragen von Dateien.
submit | name,value | Erzeugt einen Sendeschalter. Diese Schaltfläche überträgt beim Anklicken den Inhalt des Formulars an das im -Tag mit dem Attribut action angegebene Skript.
reset | name,value | Erzeugt eine Schaltfläche zum zurücksetzen der Eingaben innerhalb der Formularelemente.

Die Attribute haben folgende Bedeutung:
. name - Name, nach dem das Element im Skript identifiziert werden kann. Entspricht dem Variablennamen innerhalb von PHP-Skripten. Element die kein Namensattribut besitzen werde nicht übertragen.
. value - Vorbelegter Wert oder Beschriftung. Dieser Wert wird ebenfalls versendet. Entspricht dem Variableninhalt (Wert) innerhalb von PHP-Skripten.
. size - Lägt die Feldgrösse in Standardzeichen fest.
. checked - Aktiviert das jeweilige Element. Entspricht true (aktiv).
. src - Verweist auf den Ort des verknüpften Bildes.
. maxlength - Legt die Anzahl der Zeichen fest, die in einem Feld eingegeben werden können

Hinweis: Bei der Verarbeitung des <input>-Tag sollte Sie darauf achten, dass die Variable auch Anführungszeichen enthalten könnten, was wiederum das Ende des value Attribut kennzeichnen würde. Um dies zu verhindern, sollte man sie mit Hilfe der Funktion htmlspecialchars() umwandeln lassen.

Zusätzlich stehen Ihnen noch zwei weitere Formularelemente zur Verfügung, welche es Ihnen beispielsweise ermöglichen Auswahllisten, Sprungmenüs oder mehrzeilige Texteingaben zu erstellen.
. <select> - Dieses Element stellt eine Auswahlliste in Form eines Dropdown-Menüs dar. Jedes Element wird durch ein weiteres Tag, <option>, eingeleitet.
. <textarea> - Mit diesem Element werden mehrzeilige Textfeldeingaben möglich. Da es im Unterschied zum <input>-Tag einen Anfangs- und Endtag besitzt.

GET und POST

Auswertung von Formulare

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Auswertung von Formulare

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Auswertung von Formulare

Die Auswertung und Übergabe der Formulardaten in PHP ist recht einfach. PHP erkennt selbständig angehängte Daten, gleich ob diese mit GET innerhalb der URI oder mit POST innerhalb des Körper der Nachricht versandt wurden. Jedes Formularelement ist durch das Attribut name gekennzeichnet und eindeutig identifizierbar. Er erscheint in PHP als Variable mit dem Namen des Elements, gefüllt mit den eingegebenen Werten. Durch Bilder erzeugte Schaltflächen übermitteln in den Variablen $name_x und $name_y die Position des Mauszeigers, relativ zur linken oberen Ecke des Bildes.

Beispiel

<html>
<head>
<title>Kontaktformular</title>
</head>
<body>
<?php

if (!$gesendet && !$name) {

?>
<form method="POST" action="<?php echo $PHP_SELF ?>">
  <p>Name:
    <input type="text" name="name" size="30">
  </p>
  <p>E-mail:
    <input type="text" name="email" size="30">
  </p>
  <p>Buchbewertung: 1
    <input type="radio" name="bewertung" value="1">
    2
    <input type="radio" name="bewertung" value="2">
    3
    <input type="radio" name="bewertung" value="3">
    4
    <input type="radio" name="bewertung" value="4">
    5
    <input type="radio" name="bewertung" value="5">
    6
    <input type="radio" name="bewertung" value="6">
  </p>
  <p>Kommentar:
    <textarea name="kommentar" cols="30" rows="5"></textarea>
  </p>
  <p>Lieblingsthema:
    <select name="auswahl">
      <option value="PHP">PHP</option>
      <option value="MySQL">MySQL</option>
      <option value="JAVA">JAVA</option>
      <option value="ASP">ASP</option>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
    <input type="reset" name="reset" value="Reset">
    <input type="hidden" name="gesendet" value="1">
  </p>
</form>
<?php

} else {
echo "
 Folgende Daten wurden übermittelt:<p>
 <b>Name:</b> $name<br>
 <b>E-Mail:</b> $email<br>
 <b>Buchbewertung:</b> $bewertung<br>
 <b>Kommentar:</b> $kommentar<br>
 <b>Lieblingsthema:</b> $auswahl
 <p>
 <form method=POST action=$PHP_SELF>
 <input type='submit' name='Submit' value='Noch einen Kommentar?'>
 </form>
 </p>
";
}

?>
</body>
</html>

Sie sollten sich das Beispiel genauer betrachten:
. Das Skript ruft sich selbst auf, der eigene Name wird der vordefinierten Variablen $PHP_SELF entnommen.
. Das Skript ist zweigeteilt, es enthält sowohl das HTML-Formular zum Senden als auch das Skript zum Auswerten.
. Die Überprüfung, ob es sich um die Darstellungs- oder Auswertungsphase handelt, wird anhand der Variablen $gesendet und $name vorgenommen.
. PHP wertet gefüllte Formularelemente (Variablen) als true, ungefüllte oder nicht vorhandene als false.
. In der Auswertungsphase werden die Daten wiedergegeben. Das Formular kann erneut aufgerufen werden, indem ein neues Formular gesendet wird.

Das vorliegende Beispiel war vergleichsweise einfach. Es gibt jedoch Formularelemente, die mehr als einen Wert zurückgeben können. So ist es in HTML prinzipiell erlaubt, mehrere Elemente mit dem selben Namen zu belegen. Natürlich sollten Sie dies möglichst vermeiden, sollte solch eine Situation vorkommen, wäre es jedoch nicht schlecht darauf angemessen reagieren zu können. Eine typische Anwendung sind mehrere Checkboxen in einer Gruppe:

<input type="checkbox" name="thema" value="Autos">
<input type="checkbox" name="thema" value="Filme">
<input type="checkbox" name="thema" value="Essen">
<input type="checkbox" name="thema" value="Sport">

Es gibt auch Fälle, in denen Mehrfachangaben ausdrücklich erwünscht sind. So können Sie beispielsweise bei <select> mit dem Attribut multiple eine Mehrfachauswahl zulassen:

<select name="thema" size="4" multiple>
    <option value="Autos">Autos</option>
    <option value="Filme">Filme</option>
    <option value="Essen">Essen</option>
    <option value="Sport">Sport</option>
</select>

Bei der Auswertung steht Ihnen diese Auswahl nur in einer einzigen Variablen zur Verfügung. Was passiert mit den Werten? Es könnte sein, das PHP diese als Array erkennt. Aber was geschieht, wenn Sie die Variable abrufen?

<html>
<head>
<title>Mehrfach Auswahl</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
  <p>
    <select name="thema" size="4" multiple>
      <option value="Autos">Autos</option>
      <option value="Filme">Filme</option>
      <option value="Essen">Essen</option>
      <option value="Sport">Sport</option>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>

<?php
    if ($thema) echo "Thema enthält: $thema";
?>

</body>
</html>

Wie Sie sehen werden, wird im Fall der Mehrfachauswahl lediglich immer nur der letzte ausgewählte Wert der Auswahlliste angezeigt. Offensichtlich wird kein Array gebildet, denn die Auswahl $thema[0] verweist nicht, wie vermutet auf den ersten Eintrag der ausgewählten Elemente; die Zeichenkette wird als Array erfasst und lediglich der erste Buchstabe wird ausgegeben.

Wie sieht nun die Lösungs des Problems aus? Sie müssen PHP bereits mit dem Namen der Variablen mitteilen, dass ein Array verwendet werden soll, hierzu müssen Sie folgende Stelle im Skript anpassen:

<select name="thema[]" size="4" multiple>

Sie kennzeichnen den Namen mit eckigen Klammern [], die in HTML keine weitere Bedeutung haben. PHP nimmt nun an, dass mehr als ein Wert folgt und erzeugt ein Array. Dies geschieht natürlich auch dann, wenn tatsächlich nur ein Wert vorliegt. Die Auswertung kann dann recht komfortabel mit Hilfe einer Schleife durchgeführt werden:

<?php
    if ($thema) {
        echo "Es sind folgende Themen enthalten:<br>";
        foreach($thema as $element) {
            echo "$element<br>";
        }
    }
?>

Mit der Funktion count($thema) ermitteln Sie die Anzahl der Elemente, welche anschliessend einzeln durch die Schleife ermittelt werden.

Ermitteln von Formulardaten

Formularelemente auf Existenz prüfen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Formularelemente auf Existenz prüfen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Formularelemente auf Existenz prüfen

Im vorherigen Beispiel wurde bereits davon gebrauch gemacht, dass nicht vorhandene oder nicht ausgefüllte Formularelemente gezielt ausgewertet werden können. Daher ist es äusserst wichtig zu wissen, wie sich einzelne Formularelemente verhalten.

Radio

Radiobuttons dienen der Auswahl aus einer fest begrenzten Anzahl von Werten. Gruppen entstehen, in dem mehrere dieser Felder den selben Namen erhalten. Wird keines der Felder ausgewählt, erscheint es nicht als Variable. Wird eines ausgewählt, wird der Wert übertragen. Sie können die Angabe eines Wertes erzwingen, indem eine Option mit dem Attribut checked gesetzt wird.

Checkbox

Chekboxen übertragen den Wert des Attributes value. Sollte value nicht angegeben sein, wird die aktivierte Checkbox übertragen. Eine nicht aktivierte Checkbox überträgt nichts.

Text, Hidden und Textarea

Textfelder in allen drei Varianten geben immer wenigstens eine leere Zeichenkette zurück und damit auch den Namen. Bei text und hidden bestimmt der Inhalt des Attributs value, was standardmässig gesendet wird. Bei <textarea> steht der Standardtext zwischen den Tags.

Select

Auswahllisten können völlig unselektiert bleiben, dann wird jedoch nichts übertragen. Sie können aber eine Standardauswahl erzwingen, indem das Attribut default, innerhalb des <option>-Tag, gesetzt wird.

Submit

Sendeschaltflächen werden nicht übertragen, solange value nicht ausgefüllt wurde. Die Schaltfläche verwendet normalerweise value als Bezeichner. Wird nichts angegeben, erscheint der Standardtext "Submit" oder "Anfrage absenden", dieser wird aber nicht gesendet.

Besonderheit

Die Formularelemente eines verschickten Formular werden beim Aufrufen der Empfängerseite, welche im action-Attribut angegeben wurde, automatisch in Variablen gleichen Namens umgewandelt, auf die man im Verlauf des jeweiligen Skripts direkt zugreifen kann. Sollten Sie auf solche Variablen auch in Funktionen zugreifen wollen, ohne sie global definieren zu müssen, können Sie seit PHP 4.2 die superglobalen Arrays $_GET , $_POST oder $_REQUEST, je nach Übertragungsmethode, verwenden.

Hinweis: In älteren PHP-Versionen befinden sich diese Arrays in $HTTP_GET_VARS, $HTTP_POST_VARS oder $http_REQUEST_VARS und müssen außerhalb des Skripts explizit als global deklariert werden.

Auswertung von Formulare

Dynamische Formulare

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dynamische Formulare

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dynamische Formulare

Die Formularelemente samt der Angabe der Werte wurden in den bisherigen Beispielen stetst fest in die Formulare eingebunden. Es wäre sicher jedoch wesentlich praktischer, wenn man dies automatisieren könnte und bestimmte Formularelemente dynamisch erzeugen könnte.

Es wäre sicherlich einen Versuch wert, die Auswahlliste dynamisch mit Hilfe einer Schleife zu erzeugen:

<html>
<head>
<title>Dynamische Mehrfach-Auswahl</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
  <p>
  <?php
    $themen = array("Autos","Filme","Essen","Sport");
  ?>
    <select name="thema[]" size="4" multiple>
  <?php
    foreach ($themen as $element) {
        echo "<option value=$element>$element</option>";
    }
  ?>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>

<?php
    if ($thema) {
        echo "Es sind folgende Themen enthalten:<br>";
        foreach($thema as $element) {
            echo "$element<br>";
        }
    }
?>
</body>
</html>

Dynamisches Formular samt Ausgabe

Sollten Sie assoziative Arrays verwenden, können Sie die Indizes als Werte für die <option>-Tags einsetzen und den zugewiesenen Wert für die Anzeige verwenden.

Beispiel

<html>
<head>
<title>Dynamische Mehrfach-Auswahl</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
  <p>
  <?php
    $themen = array(
         "AU"=>"Autos",
       "FI"=>"Filme",
         "ES"=>"Essen",
         "SP"=>"Sport",
         "CO"=>"Computer"
        );
  ?>
    <select name="thema[]" size="<?php echo count($themen)?>" multiple>
  <?php
    foreach ($themen as $key=>$element) {
        echo "<option value=$key>$element</option>";
    }
  ?>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>

<?php
    if ($thema) {
        echo "Es sind folgende Themen enthalten:<br>";
        foreach($thema as $element) {
            echo "$element<br>";
        }
    }
?>
</body>
</html>

Die Auswahlliste wurde übrigens zusätzlich in der Länge (size) auf die Anzahl der Elemente angepasst.

Zur besseren Übersicht lassen sich solche dynamischen Bestandteile eines Formulars auch in externe Skripte auslagern.

Beispiel - function.inc.php

<?php

// Auswahlisten Funktion für Hobbies
function setze_hobbies() {
    $themen = array(
        "AU"=>"Autos",
      "FI"=>"Filme",
        "ES"=>"Essen",
        "SP"=>"Sport",
        "CO"=>"Computer"
        );
    foreach ($themen as $key=>$element) {
        echo "<option value=$key>$element</option>";
    }
}

// Ausgabe der ausgewählten Werte mit Hilfe des globalen
// Arrays $_POST
function form_ausgabe() {
    if ($_POST['thema']) {
        echo "Es sind folgende Themen enthalten:<br>";
        foreach($_POST['thema'] as $element) {
            echo "$element<br>";
        }
    }
}
?>

Die eigentliche Formular-Datei, nennen wir sie dynform.php, stellt sich nun wesentlich übersichtlicher dar:

<?php include("./function.inc.php"); ?>
<html>
<head>
<title>Dynamische Mehrfach-Auswahl</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
  <p>
    <select name="thema[]" size="<?php echo count($themen)?>" multiple>
    <?php setze_hobbies(); ?>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>
<?php echo form_ausgabe(); ?>
</body>
</html>

Sie sollten vor allem auf die korrekte Schreibweise der erste Codezeile der dynform.php Datei achten.

Hinweis: Wesentlich interessanter wird die Erzeugung von dynamischen Formularen in Verbindung mit Datenbanken. Hierzu erfahren Sie mehr in dem Kapitel "PHP & MySQL Anwendungen".

Formularelemente auf Existenz prüfen

Formulare über mehrere Seiten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Formulare über mehrere Seiten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Formulare über mehrere Seiten

Wer von Ihnen bereits komplexe Formulare erstellt hat, der kennt das Problem. Bei Formularen, die sich über mehrere Seiten erstrecken, müssen die jeweiligen Eingaben von Formular zu Formular übergeben werden. Dies kann recht aufwendig sein, da dies meist über versteckte Formularfelder geschieht. Mit einer kleinen PHP Funktion kann man die versteckten Formularfelder dynamisch erzeugen.

Beispiel - function.inc.php

<?php
function form_daten() {
    if (isset($_POST)) {
        foreach ($_POST as $key => $element) {
            echo "<input type=\"hidden\" name=\"$key\" value=\"$element\">";
        }
    }
    else {
        foreach ($_GET as $key => $element) {
            echo "<input type=\"hidden\" name=\"$key\" value=\"$element\">";
        }
    }
}
?>

Die Funktion form_daten() ist recht einfach aufgebaut. Die Bedingung prüft mit Hilfe der Funktion isset(), ob die jeweiligen Arrays gesetzt wurden. Anschliessend wird das entsprechende superglobale Array $_POST oder $_GET, durch die foreach-Schleife weiter verarbeitet. Mit ihr wird der Schlüssel, oder Index des Arrays, sowie der zugewiesene Wert ermittelt, und dann im versteckten Formularfeld wieder ausgegeben, sodass die Daten erneut an das nächste Skript verschickt werde können.

Beispiel - form1.php

<html>
<head>
<title>Formular - 1</title>
</head>
<body>
<form method="post" action="form2.php">
  <p>
    Vorname: <input type="text" name="vorname"><br>
    Nachname: <input type="text" name="nachname"><br>
    Strasse: <input type="text" name="strasse"><br>
    Ort: <input type="text" name="ort"><br>
    Plz: <input type="text" name="plz"><br>
  </p>
  <p>
    <input type="submit" name="Submit" value="Weiter...">
  </p>
  </form>
</body>
</html>

Beispiel - form2.php

<?php include("./function.inc.php"); ?>
<html>
<head>
<title>Formular - 2</title>
</head>
<body>
<form method="post" action="senden.php">
  <p>
    Kreditinstitut: <input type="text" name="bank"><br>
    BLZ: <input type="text" name="blz"><br>
    Konto-Nr.: <input type="text" name="kto_nr"><br>
    <?php form_daten(); ?>
  </p>
  <p>
    <input type="submit" value="absenden">
  </p>
</form>
</body>
</html>

Natürlich können Sie das Beispiel ohne weiteres erweitern!

Dynamische Formulare

Fragen zu Formularelemente

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fragen zu Formularelemente

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fragen zu Formularelemente

In diesem Abschnitt wollen wir einige der Formularelemente genauer betrachten.

Verarbeitung von Checkboxen

Wenn die Checkboxen nicht markiert sind, werden sie überhaupt nicht übermittelt. Andernfalls haben sie den im Attribut value angegebenen Wert. Man kann die Elemente auf die folgenden beiden Arten erzeugen:

# Fall 1: Verschiedene Namen, gleicher Wert
<input type="checkbox" name="cb[1]" value="yes" />
<input type="checkbox" name="cb[2]" value="yes" />

# Fall 2: "Gleiche" Namen, verschiedene Werte
<input type="checkbox" name="cb[]" value="1" />
<input type="checkbox" name="cb[]" value="2" />

Die Abfrage erfolgt in beiden Fällen mit:

if (isset($_REQUEST['cb'])) {
  reset($_REQUEST['cb']);
  foreach ($_REQUEST['cb'] as $key=>$element) {
    echo "$key: $element<br>";
  }
} else {
  echo "Keine Checkboxen<br>";
}

Im Fall 1 wertet man die Variable $key aus, im Fall 2 die Variable $element. Entscheidend ist auch hier, dass der Variablennamen bei mehr als einer Checkbox mit [] endet, damit in PHP ein Array zur Verfügung steht.

Verarbeitung von Radiobuttons

Radio-Buttons verhalten sich analog zu Checkboxen, mit der Ausnahme, dass hier eine Mehrfachauswahl nicht möglich ist. Beim Erstellen des HTML-Codes sollte darauf geachtet werden, dass zusammengehörige Buttons den gleichen Namen haben müssen.

<?php
  $farben = array(
    array('name' => 'grün', 'value' => 'g'),
    array('name' => 'blau', 'value' => 'b'),
    array('name' => 'rot',  'value' => 'r')
);
foreach ($farben as $element) {
    echo
    printf('<input type="radio" name="farbe" value="%s" %s/> %s<br />',
        $element['value'],
        (isset($_REQUEST['farbe']) and $_REQUEST['farbe'] == $element['value']) ? 'checked="checked" ' : '',
        $element['name']
    );
}
?>

Verarbeitung von Submit

Um die Aktivierung einer Submit-Schaltfläche zu überprüfen muss dieser über einen Namen verfügen.

<input type="submit" name="submit" value="Senden">

Anschliessend ist bei einem Mausklick oder einem Tastendruck auf die Submit-Schaltfläche eine Variable mit dem Namen der Schaltfläche vorhanden:

if (isset($_REQUEST['submit'])) { ... }

Soll es um die Verarbeitung von mehr als einer Submit-Schalfläche gehen, stehen Ihnen mehrere Optionen zur Verfügung:
. Haben die Schaltflächen den gleichen Namen, kann man den value auswerten; die PHP-Variable heißt so wie die Schaltfläche ($_REQUEST['submit']).
. Haben die Schaltflächen unterschiedliche Namen, erhält man je nach betätigter Schaltfläche eine Variable mit anderem Namen registriert; mit isset() kann man prüfen, ob eine bestimmte Variable vorhanden ist, d.h. ob eine bestimmte Schaltfläche angeklickt wurde.
. Benennt man die Schaltflächen in der Array-Schreibweise, z.B. name="submit[0]", wobei zwischen den eckigen Klammern eindeutige Werte stehen müssen, erhält man in PHP ein Array mit genau einem Element; der Schlüssel (Key) dieses Elements ist die aktivierte Schaltfläche.

Verarbeitung von Reset

Zunächst sollte man überlegen, ob man überhaupt einen Reset-Schalter benötigt. Bei einer HTML-Reset-Schaltfläche setzt der Browser alle Eingabefelder auf den Anfangszustand zurück; da damit kein Request an den Server verbunden ist, kriegt PHP davon nichts mit. Möchte man einen Button realisieren, der Eingabeelemente mit vordefinierten Inhalten wirklich löscht, muss man eine Submit-Schaltfläche verwenden:

<?php
  if (isset($_REQUEST['loeschen'])) {
      unset($_REQUEST['eingabe']);
  }
?>

<form method="post" action="<?php echo $PHP_SELF ?>" >
<input type="text" name="eingabe" value="<?php @print $_REQUEST['eingabe']; ?>">
<input type="submit" name="submit" value="Absenden">
<input type="reset" value="Reset">
<input type="submit" name="loeschen" value="Löschen">
</form>

Formulare über mehrere Seiten

Prüfen auf fehlende oder fehlerhafte Eingaben

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Prüfen auf fehlende oder fehlerhafte Eingaben

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Prüfen auf fehlende oder fehlerhafte Eingaben

Die Überprüfung von Formulareingaben ist in Hinblick auf die Sicherheit eines Skriptes ein nicht zu unterschätzender Faktor.

Erkennen fehlender Eingaben

Die Länge einer Textfeldeingabe lässt sich mit der PHP-Funktion strlen() ermitteln. Leere Strings sind in PHP false, d.h. durch eine Überprüfung (if ($_REQUEST['textfeldname'])) lässt sich feststellen, ob der Anwender eine Eingabe gemacht hat.

Textfelder generell

Wenn ein Textfeld nur bestimmte Zeichen enthalten darf, ist es oft am einfachsten zu überprüfen, ob der übermittelte String Zeichen enthält, die nicht erlaubt sind.

if (preg_match('/[^0-9a-z_.-]/i', $_REQUEST['textfeldname'])) {
    echo "Ungültige Zeichen im Textfeld.";
}

Zahlenfelder

Um zu überprüfen, ob ein Textfeld eine Zahl enthält, eignet sich die Funktion is_numeric(). Diese Funktion akzeptiert allerdings auch Zeichen, die nicht Ziffern sind (z.B. -1.6e-12). Sollen nur Ziffern akzeptiert werden, helfen wieder Reguläre Ausdrücke:

if (preg_match('/\D/', $_REQUEST['textfeldname']))
    echo "'Ungültige Zeichen im Zahlenfeld.";
}

URLs

Zum Überprüfen einer URL reicht es meist aus, deren Anfang zu analysieren:

if (! preg_match('=(https?|ftp)://[a-z0-9]([a-z0-9-]*[a-z0-9])?\.[a-z0-9]=i', $_REQUEST['textfeldname']))
    echo "Ungültige URL im Adressfeld.";
}

Diese Überprüfung soll nur ein Ansatz sein und lässt sich beliebig erweitern bzw optimieren. Die tatsächliche Erreichbarkeit gewährleistet diese Vorgehensweise allerdings nicht. Mit Hilfe der Funktion fopen() lässt sich die momentane Erreichbarkeit einer URL feststellen.

Fragen zu Formularelemente

Formulardaten und globale Servervariablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Formulardaten und globale Servervariablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Formulardaten und globale Servervariablen

Sofern in der Konfigurationsdatei php.ini die Option track_vars aktiviert ist, werden GET, POST und COOKIE-Variablen, in den superglobalen Arrays $_GET, $_POST, $_COOKIE abgelegt. Dies erfolgt selbst dann, wenn die Konfigurationsoption gpc_order der automatische Variablenimport vollständig deaktiviert wurde.

Im Gegensatz zur Verwendung der automatisch generierten Importvariablen, hat das Auslesen von Formulardaten über globale Servervariablen den Vorteil eine bessere Kontrolle darüber zu haben, woher die Variablen stammen und welchen Einfluss Sie auf den Programmablauf nehmen könnten.

Sie sollten sich folgendes Beispiel betrachten:

<html>
<head>
<title>Servervariablen und Formulare</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF ?>">
  <p>Vorname:
    <input type="text" name="vorname">
  </p>
  <p>Nachname:
    <input type="text" name="nachname">
  </p>
  <p>Ort:
    <input type="text" name="ort">
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>
<?php

if (isset($_POST)) {
    reset($_POST);
    foreach($_POST as $key=>$element) {
        echo "$key: $element<br>";
    }
}

?>
</body>
</html>

Ausgabe - globale Servervariablen

Hinweis: Ein ähnliches Beispiel haben wir Ihnen bereits im Abschnitt Formulare über mehrere Seiten vorgestellt.

Eine mögliche Variante, wie die Formulardaten, an automatisch erzeugte Variablen übergeben werden können, zeigt das folgende Beispiel, welches auf demselben Formular basiert.

<html>
<head>
<title>Servervariablen und Formulare</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF ?>">
  <p>Vorname:
    <input type="text" name="vorname">
  </p>
  <p>Nachname:
    <input type="text" name="nachname">
  </p>
  <p>Ort:
    <input type="text" name="ort">
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>
<?php

if (isset($_POST)) {
    reset($_POST);
    foreach($_POST as $key=>$element) {
        ${"form_$key"} = $element;
    }
    echo "Vorname: $form_vorname<br>";
    echo "Nachname: $form_nachname<br>";
    echo "Ort: $form_ort<br>";
}
?>
</body>
</html>

Prüfen auf fehlende oder fehlerhafte Eingaben

Daten via URL

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Syntax der Init-Datei

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Syntax der Init-Datei

Die Syntax der Init-Datei ist recht einfach. Wichtig ist, dass bei der Benennung der Optionen Gross- und Kleinschreibung zu beachten ist. Die in der Init-Datei häufig verwendeten Schlüsselwörter sind On, Off, Yes, No, True, False.

Beispiel - Syntax:

;Abschnitt

[Abschnittsbezeichnung]

Option = Wert oder Schlüsselwort ; Kommentar

Anstatt True oder False kann auch 1 oder 0 verwendet werden. Bei der Angabe der Schlüsselwörter spielt im Gegensatz zu den Optionen, die Gross- bzw. Kleinschreibung keine Rolle. Erläuternde Kommentare, die mit einem Semikolon eingeleitet werden, sowie Abschnittsbezeichnungen, die in eckigen Klammern eingeschlossen sind, bleiben unberücksichtigt. Änderungen in php.ini werden erst nach einem Neustart des Webservers wirksam.

Installationkits und Sicherheit

Sprachoptionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Kodierung von Daten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kodierung von Daten

Solange Sie lediglich Nummern übertragen, wird diese Form einwandfrei funktio-nieren. Sie sollten sich folgende Codezeile näher betrachten:

<a href="skript.php?name=Ihr Name?">Ihr Name?</a>

Wenn der Eintrag "Ihr Name?", z.B. aus einem Formular übernommen wurde, kann das Skript nicht richtig funktionieren. Leezeichen sind an dieser Stelle nicht zulässig. Die Daten müssen daher auf ein Format gebracht werden, in dem die Sonderzeichen tatsächlich als Sonderzeichen erkannt werden.

Sie können hierfür die Funktionen urlencode() und urldecode() einsetzen.
. Mit urlencode() ersetzten Sie diese Zeichen durch die Zeichenfolge %HH, wobei HH den Hexcode des betreffenden Zeichens im ASCII-Zeichensatz darstellt.
. Mit urldecode() wandeln Sie eine so codierte URL wieder um.

Wenn Sie eine URL erzeugen, sollten Sie folgenden Code verwenden:

$kodiert = urlencode($name);

Anschliessend setzten Sie den Wert in den entsprechend Hyperlink ein:

echo "<a href="skript.php?name=$name">Ihr Name?</a>

Daten via URL

Achtung - Escape-Zeichen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Achtung - Escape-Zeichen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Achtung - Escape-Zeichen

Bei der Kodierung und Dekodierung können diverse Probleme austreten, vor allem, wenn die Daten mehrfach weiterverarbeitet werden.

PHP besitzt im Abschnitt [Data Handling] der Konfigurationsdatei php.ini den folgenden Eintrag:

magic_quotes_gpc = On

In diesem Fall werden einfache und doppelte Anführungszeichen mit dem Escape-Zeichen (\) versehen. Auch der Backslash selbst wird so gekennzeichnet, als doppelter Backslash. Die Zeichenfolge "Matze's "Mail!"" würde sich, wie folgt darstellen:

Matze\'s \"Mail!\"

Sollten Sie mit Datenbanken arbeiten, ist dieser Effekt erwünscht, denn oft werden zeichenbasierte Daten mit Anführungszeichen umgeben. Für die Ausgabe in HTML stört das. Sie müssen den Escape-Effekt ausschalten. Wenn Sie generell diese Funktion nicht nutzen, lohnt die Deaktivierung in der Date php.ini:

magic_quotes_gpc = Off

Wollen Sie lediglich gelegentlich die Angabe der Escape-Zeichen unterdrücken, können Sie die Funktion stripslashes() einsetzen:

echo stripslashes($name);

Kodierung von Daten

Arbeiten mit dem $QUERY_STRING

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Arbeiten mit dem $QUERY_STRING

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Arbeiten mit dem $QUERY_STRING

Ein anderes Problem tritt auf, wenn Sie Formularfelder und Variablen im URL mit denselben Namen verwenden. In solchen Fällen wird vorrangig die URL dekodiert. Sie können dennoch auf den Inhalt der Variablen zugreifen.

In diesem Fall steht Ihnen die globale Variable $QUERY_STRING zur Verfügung, die den gesamten Teil nach dem ?-Zeichen enthält. Hier müssen Sie sich zwar selbst um die Analyse der einzelnen Elemente kümmern, umgehen damit jedoch die automatische Auswertung des PHP-Interpreters. Da Ihnen der Zugriff auf die Formularvariable verwehrt ist, bleibt auch hier die Nutzung der Servervariablen. Das folgende Beispiel zeigt die Anwendung:

<html>
<head>
<title>Formular</title>
</head>
<body>
<?php
echo "Daten aus gesendet: $gesendet<p>";
echo "Daten aus $QUERY_STRING: $QUERY_STRING<P>";
if (is_array($_POST)) {
    foreach($_POST as $key=>$element) {
        echo "<b>$key</b>: $element<br>";
    }
}
?>
<form action="<?php echo $PHP_SELF?>?gesendet=ja" method="post">
<input type="hidden" name="gesendet" value="no">
<input type="submit">
</form>
</body>
</html>

Ausgabe

Daten aus gesendet: no

Daten aus $QUERY_STRING: gesendet=ja

gesendet: no

Sie sehen zusätzlich, wie Sie die URL zur Datenübertragung auch innerhalb eines Formulars nutzen können. Interessant ist die Reaktion bei der Anwendung der Übertragungsmethode GET im Formular:

<form action="<?php echo $PHP_SELF?>?gesendet=ja" method="get">
<input type="hidden" name="gesendet" value="no">
<input type="submit">

Ausgabe

Daten aus gesendet: no

Daten aus $QUERY_STRING: gesendet=no

In diesem Fall nehmen die Formularelemente den Platz der Daten im URL ein, die bereits im action-Attribut angelegten Parameter werden ignoriert. Dieses Verhalten hat nichts mit PHP zu tun, sondern basiert auf HTTP und den Vorschriften zur Verarbeitung von Daten mit Hilfe der Methoden GET und POST.

Beim weiterreichen von Daten ist die Anwendung von $QUERY_STRING sogar besonders bequem. Wenn Sie auf Cookies verzichten müssen und eine Anwendung erstellen, die aus mehreren Skripten besteht, ist eine "Verfolgung" des Anwenders unerlässlich. Es werden dann meist so genannte Session-IDs verwendet, welche per Zufallsprinzip aus zufällig erzeugten Nummern und Zeichenfolgen zusammengesetzt sind, die den Anwender immer wieder eindeutig zuordnen.

Hinweis: Zu den Themen Cookies und Sessions erfahren Sie im Abschnitt Cookies und Sessions-Management mehr.

Achtung - Escape-Zeichen

Gleichlautende Variablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Gleichlautende Variablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Gleichlautende Variablen

Bei der automatischen Generierung von Daten kann es vorkommen, dass mehrere gleichlautende Variablen unterschiedliche Werte enthalten:

<a href="liste.php?x=1&x=2&x=3">Liste</a>

In diesem Fall extrahiert PHP nur die letzte Variable und den dazugehörigen Wert. Die Ausgabe von echo $x; würde im vorliegenden Beispiel 3 ausgeben. Wenn Sie sich jedoch alle Daten mit Hilfe von $QUERY_STRING ausgeben lassen:

echo $QUERY_STRING;

Werden Sie feststellen, das tatsächlich sämtliche Daten übertragen wurden. Sie müssten in diesem speziellen Fall die Daten selbst mit Hilfer der Funktion explode() dekodieren. Die Funktion zerlegt eine Zeichenkette anhand eines Trennzeichens in ein eindimensionales Array. Anschliessend erfolgt die nochmalige Trennung anhand der Gleichheitszeichens.

Beispiel - link.php

<html>
<head>
<title>Verweis</title>
</head>
<body>
<a href="liste.php?x=1&x=2&x=3">Liste</a>
</form>
</body>
</html>

Beispiel - liste.php

<?php

$daten = explode("&",$QUERY_STRING);

foreach ($daten as $element) {
    $werte[] = explode("=",$element);
}

foreach ($werte as $element) {
    echo "$element[0]: $element[1]<br>";
}

?>

Ausgabe

x: 1
x: 2
x: 3

Hinweis: Sie sollten gleichnamige Variablen möglichst vermeiden und es erst gar nicht zu einer solchen Situation kommen lassen.

Arbeiten mit dem $QUERY_STRING

Cookies via PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Spezifikation von Cookies

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Spezifikation von Cookies

Cookies unterliegen der Spezifikation, die durch Netscape festgelegt wurden. In der Regel, erzeugt der Server mit Hilfe eines CGI-Skripts als Reaktion auf einen URL-Zugriff ein Cookie, indem er einen Set-Cookie HTTP-Header als Teil einer HTTP-Response im folgenden Format an den Client sendet:

SET-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure

Hinweis: Bis auf das Attribut NAME sind sämtliche Angaben im Header optional.

NAME

Das Attribut NAME ist eine Zeichenkette, die das Cookie benennt, und in der mit Ausnahme von Strichpunkt, Komma und Leerzeichen alle anderen Zeichen erlaubt sind. In der Client-Anwendung stehen die Daten des Cookie dann unter diesem Namen zur Verfügung.

EXPIRES

Das Attribut expires spezifiziert das Verfallsdatum des Cookie; wobei das folgende Format zu verwenden ist:

Wochentag, DD-Mon-YYYY HH:MM:SS GMT

Beispiel

Tuesday, 27-Jan-04 01:25 GMT

Die einzig zulässige Zeitzone ist GMT. Wird expires nicht angegeben, verfällt das Cookie am Ende der Sitzung (Session).

PATH

Das Attribut path legt den Pfad fest, an die der Browser das Cookie übermitteln soll, die hierarchisch darunter liegenden Verzeichnisse sind dabei mit eingeschlossen. Fehlt die Angabe, gilt der Pfad der ursprünglichen Anfrage.

DOMAIN

Das Attribut domain gibt die Domain an, für welche ein Cookie gesendet werden darf. Auf diese Weise ist sichergestellt, dass in einem Cookie enthaltene Informationen nur an den Webserver weitergegeben werden, der hierzu beim Anlegen des Cookie durch Eintrag der Internetdomäne und des URL-Pfades autorisiert wurde.

SECURE

Das Attribut secure legt fest, ob eine Übermittlung des Cookie lediglich über eine SSL-Verbindung (Secure Socket Layer) erfolgen darf.

Hier eine tabellarische Übersicht der Attribute:

Attribut | Beispiel | Beschreibung
name | Auf 'cookiename' wird mittels $_COOKIE['cookiename'] zugegriffen. | Der Name des Cookies.
value | Ist der name z.B. 'cookiename', so erhält man den Wert mittels $_COOKIE['cookiename']. | Der Wert des Cookies. Dieser Wert wird auf dem Client gespeichert.
expire | time()+60*60*24*30 wird das Cookie in 30 Tagen ablaufen lassen. Ist der Parameter nicht gesetzt, verfällt das Cookie am Ende der Session, sobald der Browser geschlossen wird. | Der Zeitpunkt, wann das Cookie verfällt. Dies ist ein Unix Timestamp, also die Anzahl Sekunden seit der Unix-Epoche. Sie können diesen Wert mittels der Funktion time() oder mktime() und der Anzahl Sekunden bis zum gewünschten Ablauf des Cookies setzen.
path | Ist dieser auf '/' gesetzt, wird das Cookie innerhalb der gesamten Domain verfügbar. Ist dieser auf '/verzeichnis/' gesetzt, wird das Cookie nur innerhalb des Verzeichnisses /verzeichnis/ der domain, sowie allen Unterverzeichnissen wie z.B. /verzeichnis/nocheins/ verfügbar sein. | Der Pfad zu dem Server, auf welchem das Cookie verfügbar sein wird. Der Standardwert ist das Verzeichnis, in dem das Cookie gesetzt wurde.
domain | Um das Cookie für all Sub-Domains von atomiscript.de verfügbar zu machen, setzen Sie es auf '.atomicscrupt.de'. Der . ist zwar nicht erforderlich, erhöht aber die Kompatibilität zu den Browsern. Ein Setzen auf www.atomicscript.de macht das Cookie nur in der www Sub-Domain verfügbar. | Die Domain, der das Cookie zur Verfügung steht.
secure | 0 oder 1 | Gibt an, dass das Cookie nur über eine sichere HTTPS - Verbindung übertragen werden soll. Ist es auf 1 gesetzt, wird das Cookie nur gesendet, wenn eine sichere Verbindung besteht. Der Standardwert ist 0.

Cookies via PHP

Cookies in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Cookies in PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Cookies in PHP

Cookies können mit PHP durch die Funktion setcookie() erzeugt werden. Die Syntax lautet, wie folgt:

setcookie(name[, value[, expires[, path[, domain[, secure]]]]]);

Da Cookies Bestandteile eines HTTP-Headers sind, muss diese Funktion, genau so wie dies bei der Funktion header() der Fall ist, aufgerufen werden, noch bevor irgendeine andere Ausgabe an den Browser erfolgt.

Im folgenden Beispiel wird mithilfe des Funktion setcookie() eine Cookie gesetzt:

Beispiel

<?php

// Inhalt festlegen
$inhalt = "Ich bin dein Cookie!";

// Cookie erzeugen
setcookie("cook_first_one",$inhalt, time()+600);

// Prüfen
if (!$cook_first_one) {
    echo "Cookie ist nicht vorhanden!";
} else {
    echo $cook_first_one;
}

?>

Sie haben auch die Möglichkeit das Cookie mit Hilfe der globalen Servervariablen $_COOKIE auszulesen.

Beispiel

<?php

// Inhalt festlegen
$inhalt = "Ich bin dein Cookie!";

// Cookie erzeugen
setcookie("cook_first_one",$inhalt, time()+600);

// Prüfen
if (!$_COOKIE["cook_first_one"]) {
    echo "Cookie ist nicht vorhanden!";
} else {
    echo $_COOKIE["cook_first_one"];
}

?>

Die Funktion erzeugt ein Cookie mit dem Namen cook_first_one und dem Inhalt aus der Variablen $inhalt. Der Parameter expires, der die Lebensdauer des Cookie in Sekunden nach dem 1.1.1970 angibt, wird durch die Funktion time() und einem Offset von 600 Sekunden erzeugt. Die Funktion time() gibt dabei den aktuellen UNIX-Zeitstempel zurück, sodass auf diese Weise für das Cookie eine Lebensdauer von zehn Minuten festgelegt wird. Wird keine Zeit angegeben, ist das Cookie solange gültig, bis der Browser geschlossen wird.

Die übrigen Parameter für path, domain und secure wurden nicht gesetzt.

Beim Aufruf der Seite, wird das entsprechende Cookie gesetzt. Sofern Sie Ihren Browser entsprechend konfiguriert haben, wird vor dem Setzen von Cookies eine entsprechende Meldung angezeigt, aus der Sie alle wesentlichen Daten des Cookie entnehmen können.

Darüber hinaus passiert zunächst gar nichts. Beim nächsten Aufruf derselben Seite kann die im Cookike abgelegte Information verwendet werden. Dem verarbeitenden Skript steht das Cookie in Form einer Variablen $cook_first_one zur Verfügung. Der Inhalt wird mit Hilfe des echo-Befehls ausgegeben.

Hinweis: Beachten Sie, dass der Wertebereich des Cookies automatisch URL-konform codiert (urlencoded()) wird, sobald sie das Cookie senden, und wenn es gelesen wird, wird es automatisch URL-konform decodiert (urldecode()) und einer Variablen zugewiesen, die den selben Namen wie das Cookie trägt.

Namenskonflikte

Da das Auslesen der Cookies durch Übergabe des Inhalts in eine gleichlautende Variable erfolgt, kann es Namenskonflikte mit GET- oder POST-Daten geben. Welche Datenquelle den Vorrang besitzt, kann in der Konfigurationsdatei php.ini festgelegt werden. Suchen Sie den folgenden Eintrag im Abschnitt [Data Handling]:

gpc_order = gpc;

Wenn der Eintrag nicht existiert, fügen Sie ihn hinzu. Der Reihenfolge wird durch das Argument bestimmt:
. g steht für GET
. p für POST
. c für Cookie

Mit gpc ist also die Reihenfolge GET->POST->Cookie gemeint. Um solche Konflikte zu vermeiden sollten Sie Cookies konsequent nach einem bestimmten Schema benennen, z.B. cook_xxxxx oder co_xxxx. Dann können Namenskonflikte erst gar nicht entstehen und vermieden werden.

Sollte diese Methode nicht ausreichend Flexibilität bieten, können Sie die Cookies auch direkt aus der globalen Servervariablen $_COOKIE ($HTTP_COOKIE_VARS) auslesen. Im folgenden Beispiel wird die globale Servervariable verwendet um sämtliche Cookies auszugeben:

<?php

foreach ($_COOKIE as $key=>$element) {
    echo "$key: $element<br>";
}

?>

Ausgabe

cook_first_one: Ich bin dein Cookie!

Cookies mit mehreren Variablen

In der Praxis werden im Attribut value eines Cookie in der Regel die Inhalte mehrerer Variablen untergebracht. Hierzu sind einige Techniken erforderlich, bei denen die bereits beschriebenen Array-Funktionen von PHP eingesetzt werden können.

Um die Inhalte von mehreren Variablen einem Cookie zu übergeben, kann wie folgt vorgegangen werden. Zunächst werden die Variablen mit der Funktion array() an ein Array übergeben.

Anschliessend wird dieses Array mit der Funktion implode() in eine Zeichenfolge konvertiert. Diese Zeichenfolge wird dann dem Attribut value des Cookie als Wert zugewiesen.

Beispiel

<html>
<head>
<title>Personalisierte Website</title>
</head>
<body>
<?php

// Prüfen - Cookie vorhanden?
if (isset($_COOKIE['cook_besucher'])) {
    // Cookie Daten extrahieren
    $cook_daten = explode("&",$_COOKIE['cook_besucher']);
    // Extrahierte Cookie Daten ausgeben und an dynamische
    // Variablen übergeben.
    foreach ($cook_daten as $key=>$element) {
        echo "$key: $element<br>";
        ${"co_$key"} = $element;
    }
    // Formatierte Ausgabe
    echo "<p><font color=$co_2>Herzliche Willkommen $co_0 $co_1<br>
    Ihre Lieblingsfarbe ist: $co_2</font>";
} else {
    // Formular aufrufen
    eingabe_form();
}

// Eingabe Formular + Cookie Generierung
function eingabe_form() {
  if (!$_POST['Submit']) {
      echo "<form method='post' action='$PHP_SELF'>
      <p>Vorname:
        <input type='text' name='vorname'>
      </p>
      <p>Nachname:
        <input type='text' name='nachname'>
      </p>
      <p>Hintergrund:
        <select name='farbe'>
          <option value='#FF0000'>Rot</option>
          <option value='#00FF00'>Gr&uuml;n</option>
          <option value='#0000FF'>Blau</option>
        </select>
      </p>
      <p>
        <input type='submit' name='Submit' value='Sichern'>
      </p>
    </form>";
  } else {
    $daten = array($_POST["vorname"],$_POST["nachname"],$_POST["farbe"]);
    $daten_string = implode("&",$daten);
    setcookie("cook_besucher", $daten_string, time()+600);
    echo "Cookie wurde gesetzt!";
    unset($_POST['Submit']);
  }
}

?>
</body>
</html>

Schritt 1: Eingabe-Formular

Schritt 2: Cookie wurde gesetzt

Schritt 3: Cookie Daten werden ausgegeben

Um die im Cookie enthalten Daten verwenden zu können, müssen diese entsprechend behandelt werden. Hierzu überführen wir die Zeichenfolge des Cookie in die einzelnen Variablen $co_0, $co_1 und $co_2. Die Funktion die Ihnen hierbei behilflich ist, ist explode(). Mit ihr und dem in der Cookie-Zeichenfolge enthaltenen Trennzeichen werden die Bestandteile in das Array $cookie_daten überführt.

Die in diesem Array abgelegten Werte können dann aus dem Array ausgelesen und direkt ausgelesen werden oder auch in die entsprechenden Variablen $co_0 bis $co_2 umgewandelt und dann weiterverwendet werden.

Hinweis: Diese Vorlage kann Ihnen dazu dienen, Ihre eigene Website zu personalisieren. Ihre Besucher werden es Ihnen sicher danken.

Cookies im Array

Sie können auch ein Array an Cookies setzen, in dem sie die Array-Schreibweise verwenden. Hierdurch werden so viele Cookies gesetzt, wie Ihr Array Elemente hat. Sobald das Cookie von ihrem Skript gelesen wird, werden sämtliche Werte in ein einziges Array mit dem Cookie-Namen eingelesen:

<?php
// Coookies im Array erzeugen
setcookie ("cookie[eins]", "Erster");
setcookie ("cookie[zwei]", "Zweiter");
setcookie ("cookie[drei]", "Dritter");

// Nach dem Neuladen der Seite wieder ausgeben
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $key=>$element) {
        echo "$key : $element<br>";
    }
}
?>

Ausgabe

eins : Erster
zwei : Zweiter
drei : Dritter

Spezifikation von Cookies

Cookies Löschen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Cookies Löschen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Cookies Löschen

Natürlich können Sie Cookies auch entfernen. Hierbei handelt es sich jedoch weniger um einen üblichen Löschvorgang, als viel mehr ein bearbeiten des Verfallsdatum, welches im Attribut expires festgelegt wurde.

Beim Löschen eines Cookies sollten Sie daher sicherstellen, dass das Verfallsdatum in der Vergangenheit liegt, um den Mechanismus zum Löschen des Cookies im Browser auszulösen.

Beispiel

<?php
// Setzen des Verfallsdatum um 1 Stunde vorher
setcookie ("first_one", "", time() - 3600);
?>

Cookies in PHP

Session-Management via PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Konfiguration des Session-Moduls

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Konfiguration des Session-Moduls

Das Session-Modul von PHP lässt sich über Optionen innerhalb der Konfigurationsdatei php.ini konfigurieren.

Die wichtigsten dieser Optionen und deren Standardeinstellungen sind in der nachfolgenden Tabelle enthalten:

Option Bedeutung
session.save_handler = files | Handle, welches auf das eingesetzte Speichermodul verweist. Bei Standardeinstellung (files) wird das Dateisystem des Servers verwendet. Zusätzliche Einstellungsmöglichkeiten sind: mm (Prozessorspeicher) und user (benutzerdefiniert).
session.save_path = /tmp | Werden zum Speichern der Sessiondaten Dateien verwendet, kann deren Pfad angegeben werden.
sessions.use_cookies = 1 | Zum Speichern der Session-ID werden standardmässig Cookies verwendet.
session-name = PHPSESSID | Name der Session, wird auch als Name des Cookies verwendet.
session.auto_start = 0 | Startet das Session-Modul bei jedem Request automatisch.
session.cookie_lifetime = 0 | Lebensdauer der Cookies in Sekunden (0 bedeutet bis zum nächsten Browser start).
session.cookie_path = / | Pfad, für den das Cookie Gültigkeit besitzt.
session.cookie_domain = | Domain, für die das Cookie Gültigkeit besitzt.
session.serialize_handler = php | Verweise auf den Serialisierer. Gegenwärtig wird ein internes PHP-Format (php) und WDDX (wddx) unterstützt. WDDX steht nur zur Verfügung, wenn PHP mit WDDX support kompiliert wurde.
session.gc_probability = 1 | Wahrscheinlichkeit (0..1), dass die Routine zum Aufräumen (garbage collection) des Speichers bei jeden Session-Start gestartet wird.
session.gc_maxlifetime = 1440 | Zeit in Sekunden, nach der alle Sessiondaten zerstört werden.

Session-ID/PHPSESSID

Die Session-ID (PHPSESSID) stellt wohl eines der interessantesten Bestandteile dar. Die sog. Session-ID ist ein zufällig ausgewählter Schlüssel, der die Sessiondaten auf dem Server eindeutig identifiziert. Dieser Schlüssel kann z.B. über Cookies oder als Bestandteil der URL an ein anderes Skript übergeben werden, damit dieses die Sessiondaten auf dem Server wiederfinden kann.

Erzeugen einer eindeutigen Benutzer-ID

Zur Erzeugung einer eindeutigen Benutzer-ID können Sie due Funktion uniqid() einsetzen. Diese erwartet als Argument eine Zeichenfolge, die der ID als Präfix vorangestellt wird.

Beispiel

<?php
echo uniqid("Session");
?>

Ausgabe

Session401804f3d8f96

Sie können natürlich auch andere Zeichenfolgen voranstellen oder darauf verzichten. In diesem Fall ist eine leer String als Argument zu übergeben. Diese ID können Sie dann in Hyperlinks oder versteckten Feldern verwenden.

Eine ID lässt sich auch mit Hilfe eines Zufallszahlengenerators erzeugen. Im Grunde stellt dies jedoch lediglich die Arbeitsweise der Funktion uniqid() dar. Die von der Funktion gelieferte ID basiert auf der aktuellen Zeit in Mikrosekunden. Sie ist damit nur eingeschränkt als "eindeutig" zu bezeichnen.

Es empfiehlt sich daher eine komplexere ID zu bilden, bei der beispielsweise als Argument der uniqid()-Funktion die Zufallszahlenfunktion rand() verwendet wird.

Beispiel

<?php
$u_id = uniqid ("");
$besser_id = uniqid (rand());

echo $u_id . "<br>";
echo $besser_id . "<br>";
?>

Ausgabe

401806dc1432f
19439401806dc14352

Wenn sie eindeutige IDs benötigen und beabsichtigen, diese über das Internet an den Anwender weiter zu leiten, beispielsweise als Session-Cookies, ist es ratsam, wie folgt vorzugehen:

<?php
$u_id = md5 (uniqid (""));
$besser_id = md5 (uniqid (rand()));

echo $u_id . "<br>";
echo $besser_id . "<br>";
?>

Ausgabe

bf5fce050c14b8bf73aaefd1f87609c8
b31da72fe23ea7f329011da0f4ab4e15

Hierdurch wird eine 32-Zeichen-ID (128 Bit-Hex-Wert) erzeugt, die nur sehr schwer vorhersehbar ist.

Session-Management via PHP

Session-Funktionen in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Sprachoptionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Sprachoptionen

Der erste Abschnitt der PHP-Initialisierungsdatei betrifft diverse Sprachoptionen von PHP. Eine dieser Einstellungen ist der safe_mode. Sollte der safe_mode aktiviert sein, gelten verschiedene sicherheitsrelevante Einschränkungen, z.B., dass auf eine Datei oder ein Verzeichnis nur zugegriffen werden kann, wenn die Datei oder das Verzeichnis denselben Eigentümer hat wie das Skript.

Option | Bedeutung
engine = On | Mit diesem Schalter kann der PHP-Interpreter aktiviert oder deaktiviert werden.
short_open_tag = On | Falls aktiviert, ist zur Einbindung von PHP-Skripts in HTML-Code auch die Verwendung des -Tags erkannt.
asp_tags = Off | Falls aktiviert ist zur Einbindung von PHP-Skripts in HTML-Code auch die Verwendung der Tags <% %> (ASP-Stil) möglich.
precision = 14 | Anzahl der signifikanten Stellen bei Fliesskommazahlen.
y2k_compliance = Off | Schalter zur Aktivierung der Jahr-2000-Kompatibilität. Diese Option ist nur bei y2k-kompatiblen Browsern zu empfehlen.
output_buffering = Off | Falls aktiviert, ist das Senden von Headern, inkl. Cookies, auch nach der Übertragung des Seiteninhalts möglich, was jedoch zu einer Verlangsamung der Ausgabe führt.
safe_mode = Off | Falls aktiviert, wird PHP im sicheren Modus betrieben.
safe_moce_exec_dir = | Verzeichnis für ausführbare Programme im safe_mode.
higlight.comment = #FF8800 | Legt den Farbwert zur Farblichenkennzeichnung von Kommentaren fest.
higlight.keyword = #007700 | Legt den Farbwert zur Farblichenkennzeichnung von Schlüsselwörtern fest.
highlight.bg = #FFFFFF | Legt den Farbwert zur Farblichenkennzeichnung des Hintergrund fest.
highlight.default = #0000BB | Legt den Standard-Farbwert zur Farblichenkennzeichnung fest.
expose_php = On | Angabe, ob PHP auf dem Server installiert ist.

Syntax der Init-Datei

Leistungsbegrenzungen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Session-Funktionen in PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Session-Funktionen in PHP

Natürlich stellt Ihnen PHP eine Reihe von Funktionen zur Verfügung, welche speziell auf das Session-Management abgestimmt sind. In folgenden Tabelle haben wir die wichtigsten für Sie zusammengefasst:

Funktione Bedeutung
session_start() | Initialisiert bzw. startet eine Session.
session_cache_expire() | Liefert die aktuelle Cache-Verfallszeit.
session_cache_limiter() | Liefert die aktuelle Cacheverwaltung oder setzt die aktuelle Cacheverwaltung.
session_decode() | Dekodiert die Daten einer Session aus einer Zeichenkette.
session_destroy() | Beendet eine Session und entfernt sämtliche Sessiondaten.
session_encode() | Kodiert die Daten der aktuellen Session als Zeichenkette.
session_get_cookie_params() | Liefert die Session-Cookie Parameter.
session_id() | Liefert die aktuelle Session-ID oder öffnet die Session mit einer übergebenen ID.
session_is_registered() | Überprüft, ob eine globale Variable in einer Session registriert ist.
session_module_name() | Liefert das Session-Modul oder setzt das aktuelle Session-Modul.
session_name() | Liefert den Namen der aktuellen Session oder startet eine neue Session unter dem angegeben Namen.
session_regenerate_id() | Ersetzt die aktuelle Session-ID durch eine neu erzeugte.
session_register() | Registriert eine oder mehrere globale Variablen in der aktuellen Session.
session_save_path() | Liefert den aktuellen Speicherpfad der Session oder setzt den aktuellen Speicherpfad der Session.
session_set_cookie_params() | Setzt die Session-Cookie Parameter.
session_set_save_handler() | Setzt benutzerdefinierte Session-Speicherfunktionen.
session_unregister() | Hebt die Registrierung einer globalen Variablen in der aktuellen Session auf und löscht diese dadurch.
session_unset() | Löscht sämtliche Session-Variablen.
session_write_close | Speichert die Session-Daten und beendet die Session.

Einsatz von session_start()

Mit Hilfe der Funktion session_start() sind Sie in der Lage eine Session zu erzeugen oder Sie können die aktuelle Session wieder aufnehmen, die auf der Session-ID basiert, welche mit einer Anfrage, z.B. durch GET, POST oder ein Cookie, übermittelt wurde.

Beispiel - start.php

<?php

// Session Starten
session_start();

echo 'Willkommen auf Seite 1';

// Session Variablen setzen
$_SESSION['vorname'] = 'Caroline';
$_SESSION['alter'] = 25;
$_SESSION['zeit'] = time();

echo '<br><a href="seite2.php">Weiter</a><br>';

?>

Beispiel - seite2.php

<?php

session_start();

echo 'Willkommen auf Seite 2<br>';

echo $_SESSION['vorname']."<br>";
echo $_SESSION['alter']."<br>";
echo date('d.m.Y H:i:s', $_SESSION['zeit'])."<br>";

echo '<br><a href="start.php">Zum Anfang</a>';
?>

Ausgabe

Willkommen auf Seite 2
Caroline
25
27.01.2004 22:06:04

Sie können die Session-ID auch explizit mit Hilfe der Konstanten SID übergeben.

echo '<br><a href="seite2.php?' . SID . '">Seite 2</a>';

Nach dem Aufruf von start.php enthält automatisch auch die zweite Seite, seite2.php, die Session-Daten.

Hinweis: Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.

Achtung: Ab PHP 4.3.3 resultiert der Aufruf von session_start(), nachdem die Session schon gestartet wurde, in einem Fehler der Stufe E_NOTICE. Der zweite Session-Start wird in diesem Fall einfach ignoriert.

Einsatz von session_destroy()

Mit Hilfe der Funktion session_destroy() sind Sie in der Lage sämtliche auf die aktuelle Session bezogenen Daten zu löschen. Hierbei sollten Sie auf die beiden folgenden Methoden zurückgreifen:

Beispiel - Löschen einer Session

<?php

// Initialisierung der Session.
session_start();
// Löschen aller Session-Variablen.
session_unset();
// Zum Schluß, löschen der Session.
session_destroy();

?>

Löschen einer Session mit $_SESSION

<?php

// Initialisierung der Session.
session_start();
// Löschen aller Session-Variablen.
$_SESSION = array();
// Zum Schluß, löschen der Session.
session_destroy();

?>

Sollten Sie mit einer benannten Session arbeiten:

// Session Starten
session_name("Sitzung");
session_start();

Dürfen Sie beim Löschvorgang nicht vergessen die Funktion session_name() mit anzugeben.

Beispiel

<?php

// Initialisierung der Session.
session_name("Sitzung");
session_start();
// Löschen aller Session-Variablen.
session_unset();
// Zum Schluß, löschen der Session.
session_destroy();

?>

Session und Arrays

Das folgende Beispiel so Ihnen zeigen, dass der Mechanismus auch mit Arrays einwandfrei funktioniert.

Beispiel - startprodukte.php

<?php

// Session starten
session_start();

// Array erzeugen
$produkte = array("Brillen", "Autos", "Computer");

// Array mit der Session verknüpfen
$_SESSION["produkte"] = $produkte;

// oder mit session_register("produkte");

// Weiterleitung
echo "<a href=ausgabe.php>Ausgabe</a>";

?>

Beispiel - ausgabe.php

<?php

session_start();

$s_name = session_name();

echo "<b>Session-Name:</b> $s_name<br>";

foreach ($_SESSION["produkte"] as $element) {
        echo "$element<br>";
}

?>

Hinweis: Sollten der Einsatz von $_SESSION nicht möglich sein können Sie auch session_register() einsetzen. Dies wird jedoch seit PHP 4.1.0 nicht mehr empfohlen!

Einsatz von session_name()

In der Konfigurtaionsdatei php.ini wird der Name der Session in dem Parameter session.name festgelegt - standardmäßig auf PHPSESSID. Sollten Sie ohne Eingriff in die php.ini oder in die Webserverkonfiguration diesen Namen ändern wollen, steht die Funktion session_name() zu Verfügung. Diese Funktion muss vor dem (Re)initialisieren der Sessiondaten (session_start()) ausgeführt werden.

Beispiel

<?php
    // Einen anderen Namen für die Session festlegen
    session_name("meineSession");
    session_start();
?>

Konfiguration des Session-Moduls

Weitergabe der Session-ID über Cookies

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Weitergabe der Session-ID über Cookies

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Weitergabe der Session-ID über Cookies

Das Session-Modul von PHP versucht zunächst, die automatisch generierte Session-ID in einem Cookie abzulegen und sich im weiteren Verlauf zur Übertragung der ID auf die nächste Seite dieses Cookie zu bedienen. Dies ist jedoch nur möglich, wenn der Client das Setzen von Cookies zulässt. Die Übertragung der Session-ID mit Hilfe von Cookies ist die von PHP vorgesehene Standard-Methode, die den Anwender davon befreit, sich selbst um die Weiterleitung der ID auf die jeweils nächste Seite kümmern zu müssen. Für das zuvor erläuterte Beispiel kann dies anhand der Meldung des Browsers nachvollzogen werden. Natürlich nur dann wenn der Browser eine entsprechende Konfiguration aufweist.

Session-Funktionen in PHP

Weitergabe der Session-ID über GET/POST

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Weitergabe der Session-ID über GET/POST

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Weitergabe der Session-ID über GET/POST

Werden vom Client keine Cookies zugelassen, steht die aktuelle Session-ID über die Session-Konstante SID zur Verfügung, diese dann unter Verwendung der HTTP-Methoden GET oder POST bzw. über entsprechende Links oder der header()-Funktion auf die jeweils nächste Seite übertragen werden muss.

Ein entsprechender Hyperlink zur Weiterleitung der Session-ID könnte sich beispielsweise wie folgt darstellen:

Beispiel - start.php

<?php

session_start();
$_SESSION["vorname"] = "Matthias";
echo '<br><a href="ausgeben.php?' . SID . '">Zur Ausgabe</a>';
echo "<br>Session-ID: " . SID;

?>

Beispiel - ausgeben.php

<?php

session_start();
echo $_SESSION["vorname"];

?>

Ausgabe

Matthias

Weitergabe der Session-ID über Cookies

Weitergabe der Session-ID über header()

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Weitergabe der Session-ID über header()

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Weitergabe der Session-ID über header()

Ein weitere Möglichkeit zur Übertragung der Session-ID ist die Verwendung der header()-Funktion. Die Funktion header() sendet an den Browser einen HTTP-Header.

Im folgenden Beispiel wird der Location-Response-Header gesendet. Dieser Header kann zur Weiterleitung an einen anderen URL verwendet werden und enthält die exakte Adresse der Resource einschliesslich des Query-Strings, der im vorliegenden Fall die Session-ID enthält.

<?php

session_start();
$s_name = session_name();
$s_id = session_id();
header("Location: ausgeben.php?$s_name=$s_id");
$_SESSION["vorname"] = "Matthias";

?>

Achtung: Die header()-Funktioon muss aufgerufen werden noch, bevor irgendeine andere Ausgabe erfolgt.

Hinweis: Sie erfahren im übrigen noch einiges mehr über Sessions und Sicherheit im Kapitel "Referenzen".

Weitergabe der Session-ID über GET/POST

Überprüfung des Verbindungsstatus

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Überprüfung des Verbindungsstatus

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Überprüfung des Verbindungsstatus

Ein PHP-Skript ist in der Lage den Verbindungsstatus zu überprüfen und gegebenenfalls darauf zu reagieren. PHP unterscheidet zwischen drei Zuständen:

NORMAL = 0

ABBORTED = 1

TIMEOUT = 2

Der übliche Zustand während der Verarbeitung eines Skripts ist NORMAL. Wird die Verbindung jedoch unterbrochen, etwa clientseitig durch klicken des Abbruch-Schalters, liefert die entsprechende Funktion den Status ABBORTED. Bei Überschreitung eines festgelegten Zeitlimits bricht PHP die Ausführung eines Skripts auch selbständig ab. In diesem Fall wird der Status TIMEOUT übergeben. Zur Ermittlung und Bearbeitung des aktuellen Verbindungsstatus können Sie die folgenden Funktionen einsetzen:

Funktion | Bedeutung
connection_aborted() | Prüft, ob die Verbindung abgebrochen wurde.
connection_status() | Ermittelt den Status der Verbindung.
connection_timeout() | Prüft, ob die Verbindung das Zeitlimit überschritten hat und beendet wurde.
ignore_user_abort() | Arbeitet das Skript weiter ab, auch wenn der Anwender den Abbrechen-Schalter gedrückt hat. Es erfolgt hierbei jedoch keine Ausgabe an den Browser mehr.
register_shutdown_function() | Bestimmt eine Funktion, die beim Beenden eines PHP-Skripts ausgeführt wird.

Eine Unterbrechung auf Grund eines TIMEOUT kann beispielsweise auftreten, wenn das Skript auf die Antwort einer Datenbankabfrage warten muss. Voreingestellt sind 30 Sekunden. Sie können diesen Wert in der Konfigurationsdatei php.ini mit Hilfe der Option max_execution_time heraufsetzen. Wenn PHP nicht im sicheren Modus (safe mode) arbeitet, lässt sich zu diesem Zweck auch die Funktion set_time_limit() einsetzen.

Shutdown-Funktion

Bricht die Verbindung ab, da der Anwender den Abbrechen-Schalter gedrückt hat, wird üblicherweise auch die Ausführung des Skripts abgebrochen. Bei bestimmten Operationen kann es jedoch sinnvoll sein, das Skript vollständig abzuarbeiten, etwas um noch offene Dateien zu schliessen. Für Skripte, die solche kritischen Operationen enthalten, können Sie daher die Funktion ignore_user_abort() nutzen, um die weitere Abarbeitung des Skripts zu erzwingen. Alternativ besteht auch die Möglichkeit, mit register_shutdown_function() eine Funktion festzulegen, die beim Beenden eines Skripts ausgeführt wird. Diese benutzerdefinierte Funktion wird aufgerufen, wenn PHP den Abbruch der Verbindung durch den Anwender registriert oder das Skript regulär beendet wird.

Weitergabe der Session-ID über header()

Servervariablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


CGI-Umgebung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

CGI-Umgebung

Jeder Webserver liefert innerhalb der CGI-Umgebung eine ganze Reihe von Variablen, die in PHP problemlos abgerufen werden können. Die folgende Tabelle zeigt die wichtigsten CGI-Variablen:

Variable | Bedeutung
$AUTH_TYPE | Authentifizierungstyp bei gesicherten Sites.
$CONTENT_LENGTH | Länge des gesendeten Inhalts in Byte.
$CONTENT_TYPE | Angabe des Inhaltstyps, z.B. text/html.
$GATEWAY_INTERFACE | Bezeichnung der Schnittstelle, z.B. CGI/1.1.
$HTTP_ACCEPT | Was HTTP akzeptieren soll, normalerweise */*.
$HTTP_COOKIE | Eventiell vorhandene Cookie-Daten.
$HTTP_REFERER | Die letzte Adresse, von welcher der Browser kam.
$HTTP_USER_AGENT | Kennung des Browsers, z.B. Mozilla/4.0.
$PATH_INFO | Informationen zum Pfad des Skripts.
$PATH_TRANSLATED | Physischer Pfad.
$REMOTE_ADDR | Die IP-Adresse des Clients, z.B. 192.168.200.1
$REMOTE_HOST | Name des Clients, welcher die Anfrage gestartet hat, z.B. www.atomicscript.de.
$REMOTE_USER | Anmeldename des Anwenders bei gesicherten Seiten.
$REMOTE_IDENT | Identifikator.
$REMOTE_METHOD | Die Art der Anfrage, bei einem Seitenaufru meist GET, bei einem Formular auch POST.
$QUERY_STRING | GET-Daten, z.B. varname=varvalue&session=1234.
$SCRIPT_NAME | Pfad und Name zum Skript, z.B. /cgi-bin/ausgabe.php
$SERVER_NAME | Name des Hosts, z.B. www.selfas.de
$SERVER_PORT | Der Serverport, über den das Skript aufgerufen wurde, im WWW meist 80.
$SERVER_PROTOCOL | Protokoll des Servers, z.B. HTTP/1.1.
$SERVER_SOFTWARE | Beschreibung der auf dem Server verfügbaren Software.So meldet sich der Server, z.B. Apache/2.0.13.

Der Aufruf erfolgt in Form normaler Variablen:

<?php
echo $SERVER_NAME;
?>

Hinweis: Die genaue Anzahl und Verfügbarkeit der Variablen hängt vom verwendeten Webserver ab!

Servervariablen

Erzeugen von eigenen Logfiles

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Erzeugen von eigenen Logfiles

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Erzeugen von eigenen Logfiles

Mit Hilfe der Servervariablen lassen sich auf einfache Weise auch eigene Logfiles erzeugen. Üblicherweise sind die meisten Webserver so eingestellt, dass solche Logfiles automatisch angelegt werden. Sie als Entwickler haben jedoch nicht bei jedem Provider einen direkte Zugriff auf diese Logfiles.

In diesem Fall kann Ihnen PHP behilflich sein, in dem Sie Ihre eigenen Logfiles anlegen. Sie werden natürlich nicht sämtliche Servervariablen in Ihr Logfile aufnehmen müssen. Es empfiehlt sich folgende Servervariablen zu erfassen:
. $REMOTE_ADDR
. $REQUEST_METHOD
. $PHP_SELF
. $HTTP_USER_AGENT
. $HTTP_REFERER

Zusätzlich sollten Sie noch mit Hilfe der date() und time()-Funktion das Datum und die Uhrzeit des Aufrufs erfassen.

Sie sollten sich nun den benötigten Codezeilen zuwenden und folgendes Skript in die Datei logfile.php übertragen:

<?php

$logdatei=fopen("logs/logfile.txt","a");
fputs($logdatei,
    date("d.m.Y, H:i:s",time()) .
    ", " . $REMOTE_ADDR .
    ", " . $REQUEST_METHOD .
    ", " . $PHP_SELF .
    ", " . $HTTP_USER_AGENT .
    ", " . $HTTP_REFERER ."\n"
    );
fclose($logdatei);

?>

Wie Sie sehen werden die Serverdaten in die Datei logfile.txt im Verzeichnis logs gespeichert. Sie müssen lediglich dafür sorgen, dass das Verzeichnis existiert und die entsprechenden Zugriffsrechte gesetzt wurden um eine Datei zu erzeugen.

Mit Hilfe der Funktion fopen() wird die Datei geöffnet und in den entsprechenden Modus versetzt (a = append, hinzufügen). In dieser geöffneten Datei wird nun mit Hilfe von fputs() eine Zeichenfolge geschrieben, die das aktuelle Datum und die aktuelle Uhrzeit enthält, gefolgt von der IP-Adresse des Client-Rechners, anschliessend die Art der Anfrage, der Name des aufgerufenen Skripts, Informationen über den Browser und die Seite, welche der Browser vorher besucht hat. Was Sie nicht vergessen sollten ist noch ein Zeilenvorschub hinzuzufügen \n, damit gewährleistet werden kann das jeder Aufruf in einer eigenen Zeile angelegt wird. Die Einträge der einzelne Aufrufe werden jeweils durch ein Komma voneinander getrennt, sodass die Daten auch leicht in Programme, wie Access oder Excel eingelesen werden können.

Am Ende des Skripts wird noch dafür gesorgt, dass die Datei mit Hilfe von fclose() wieder geschlossen wird.

Hinweis: Nähere Informationen zu fopen(), fclose(), etc. erfahren Sie im Abschnitt Dateisystem via PHP.

Einsatz der logfile.php

Um für jede Seite Ihrer Website die logfile.php automatisch mit aufrufen zu lassen und somit einsetzen zu können, bietet es sich an, die Datei im Header einer jeden Seite mit Hilfe einer include()-Anweisung einzubinden.

Beispiel

<?php
include("logfile.php");
?>

Dies führt dazu, dass bei jedem Seitenaufruf eine neue Zeile in der Datei logfile.txt mit den entsprechenden Daten erzeugt wird.

Diese Daten können Sie nun mit nach belieben mit anderer Software bearbeiten. Sie können auch wahlweise zusätzliche Servervariablen hinzufügen und damit die Aussagekraft ihrer Logfiles erweitern.

CGI-Umgebung

Dateisystem via PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Informationen über Dateien und Verzeichnisse

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Informationen über Dateien und Verzeichnisse

Für die Arbeit mit Dateien und Verzeichnissen sollten Sie ausreichend Informationen über die vorliegenden Pfadstrukturen, einzelne Verzeichnisse und Dateien erlangen. PHP stellt Ihnen eine Reihe nützlicher Funktionen zur Verfügung, einige davon haben wir in der folgenden Tabelle für Sie zusammengefasst:

Funktion | Beispiel | Bedeutung
basename (path [,suffix]) | basename ($path,".php"); | Liefert aus einer Pfadangabe den Namen einer Datei inklusive der Dateiendung. Wird der Optionale Parameter suffix gesetzt wird die Endung aus dem Dateinamen entfernt.
chgrp (filename, group) | chgrp ("/verzeichnis/datei", " Mitarbeiter "); | Ändert die Gruppenzugehörigkeit einer Datei.
chmod (filename, mode) | chmod ("/verzeichnis/datei", 0755); | Ändert die Zugriffsrechte einer Datei.
chown (filename, user) | chown ("/verzeichnis/datei", "fred"); | Ändert den Eigentümer der Datei. Nur der Superuser kann den Eigentümer einer Datei ändern.
dirname(path) | dirname ($path); | Liefert aus einer Pfadangabe den Pfad ohne den Dateinamen.
disk_free_space(directory) | disk_free_space("/"); | Liefert den freien Speicherplatz in einem Verzeichnis.
disk_total_space(directory) | disk_total_space("/"); | Liefert die Gesamtgröße eines Verzeichnisses.
file_exists(filename) | file_exists($filename); | Prüft, ob eine bestimmte Datei vorhanden ist.
file_get_contents (filename [, use_include_path [, context]]) | file_get_contents($filename); | Liest die gesamte Datei in einen String. Diese Funktion ist mit der Funktion file() identisch, außer dass file_get_contents() die Datei in einem String zurückgibt.
file_put_contents (filename, data [, flags [, context]]) | file_put_contents($filename); | Schreibt eine Zeichenfolge in eine Datei.
fileatime (filename) | fileatime($filename); | Liefert das Datum des letzten Zugriffs für eine Datei.
filegroup (filename) | filegroup($filename); | Liefert die Gruppenzugehörigkeit einer Datei.
filemtime (filename) | filemtime ($filename); | Liefert Datum und Uhrzeit der letzten Dateiänderung.
fileowner (filename) | fileowner ($filename); | Liefert den Eigentümer der Datei.
fileperms (filename) | fileperms ($filename); | Liefert die Zugriffsrechte (Dateiattribute) einer Datei.
filesize (filename) | filesize ($filename); | Liefert die Grösse einer Datei in Byte.
filetype (filename); | filetype ($filename); | Liefert den Typ einer Datei (file, dir).
is_dir (filename) | is_dir ($filename); | Prüft, ob der Dateiname ein Verzeichnis ist.
is_executable (filename) | is_executable ($filename); | Prüft, ob eine Datei ausführbar ist bzw. es sich um eine ausführbare Datei handelt.
is_file (filename) | is_file ($filename); | Prüft, ob der Dateiname eine reguläre Datei ist.
is_link (filename) | is_link ($filename); | Prüft, ob der Dateiname ein symbolischer Link ist.
is_readable (filename) | is_readable ($filename); | Prüft, ob eine Datei gelesen werden kann.
is_uploaded_file (filename) | is_uploaded_file ($filename); | Prüft, ob die Datei mittels HTTP POST upgeloaded wurde.
is_writable (filename) | is_writable ($filename); | Prüft, ob in eine Datei geschrieben werden kann.
touch (filename [, time [,atime]]) | touch ($filename); | Setzt Datum und Uhrzeit der letzten Änderung und des letzten Zugriffs der durch filename angegebenen Datei auf den durch time angegebenen Wert.
umask(mask) | umask(0022); Ändert die aktuelle umask, die | Zugriffsrechte bzw. Berechtigung.

Die meisten Funktionen erwarten eine Pfadangabe als Argument. Diese muss sich in der Regel auf eine existierende Datei beziehen. Den beiden Funktionen basename() und dirname() genügt ein String, der einen Pfad bezeichnet. Ob Datei und Verzeichnis existieren, ist hierbei nicht relevant, wie die folgenden Codezeilen beweisen:

<?php
// Dateiname samt Endung
echo basename("C:\php5xampp-dev\php5\php.exe");

// Pfad ohne Dateiname
echo dirname("C:\php5xampp-dev\php5\php.exe");
?>

Ausgabe

php.exe
C:\php5xampp-dev\php5

Die folgenden Anweisungen erwarten jedoch, dass der im Argument angegebene Pfad existiert:

<?php

// (True oder False)
echo file_exists("C:\php5xampp-dev\php5\php.exe") . "<br>";

// Grösse
echo filesize("C:\php5xampp-dev\php5\php.exe") . "<br>";

// Typ
echo filetype("C:\php5xampp-dev\php5\php.exe") . "<br>";

?>

Ausgabe

1
45056
file

Sollte der Pfad nicht existieren geben die Funktionen den Wert false zurück. Dies gilt auch für Funktionen wie is_file(), is_dir(), is_writable(), usw. Im Erfolgsfall erhalten Sie den Wert true.

Beispiel

<?php

echo is_dir("C:\php5xampp-dev\php5") . "<br>";
echo is_executable("C:\php5xampp-dev\php5\php.exe") . "<br>";
echo is_file("C:\php5xampp-dev\php5\php.exe") . "<br>";

?>

Ausgabe

1
1
1

Die Funktionen eignen sich übrigens hervorragend für den Einsatz in IF-Anweisungen.

Beispiel

<?php

if (is_dir("C:\php5xampp-dev\php5")) {
    echo "Verzeichnis ist vorhanden!";
}

?>

Ausgabe

Verzeichnis ist vorhanden!

Achtung: Die Pfadangaben dürfen keinen abschliessenden Backslash enthalten, z.B. C:\php5xampp-dev\. Dies würde zu einer Fehlermeldung führen!

Dateisystem via PHP

Verzeichnisoperationen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Leistungsbegrenzungen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Leistungsbegrenzungen

In diesem Abschnitt sind Festlegungen zur maximalen Grösse und Ausführungszeit von PHP-Skripten möglich.

Option | Bedeutung
max_execution_time = 30 | Maximale Ausführungszeit eines Skripts in Sekunden. Lediglich für Unix-Systeme verfügbar.
memory_limit = 8388608 | Maximale Skriptgrösse (8 MB).

Sprachoptionen

Fehlerbehandlung und Protokollierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Verzeichnisoperationen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verzeichnisoperationen

Für die Verwaltung des Verzeichnissystems und dessen Manipulation stellt Ihnen PHP ebenfalls eine Reihe von Funktionen zur Verfügung. Die wichtigsten Funktionen haben wir für Sie in der folgenden Tabelle zusammengefasst:

Funktion | Beispiel | Bedeutung
chdir(directory) | chdir ($directory); | Wechselt das aktuelle Verzeichnis.
getcwd () | echo getcwd (); | Liefert das aktuelle Arbeitsverzeichnis.
mkdir (path,mode) | mkdir ($path, 0700); | Erzeugt ein Verzeichnis mit dem angegebenem Namen. Mode ist standardmäßig 0777 was den weitest möglichen Zugriff bedeutet.
rmdir (directory) | rmdir ($directory); | Löscht ein Verzeichnis.

Hinweis: Wir werden in den folgenden Beispielen lediglich den Schrägstrich (/) als Trennzeichen für Verzeichnisse verwenden. Dieses Zeichen wird von UNIX und inzwischen auch von Windows akzeptiert. Der auf DOS-Systemen übliche Backslash wird hingegen nur von Windows unterstützt.

Die Funktionen erwarten als Argument eine Pfadangabe. Hierbei kann es sich um einen relativen oder um einen absoluten Pfad handeln:

<?php

if (chdir("C:/php5xampp-dev")) {
    echo "Verzeichnis gewechselt!";
}

?>

Im Erfolgsfall wird der Wert true zurückgegeben, andernfalls false. Sinnvoll ist die Funktion, wenn sie in anderen Funktionen relative Pfade einsetzen wollen. Die folgende Anweisung liefert, wenn die Datei existiert, immer den Wert true:

echo file_exists("C:\php5xampp-dev\php5\php.exe");

Das gilt jedoch nicht für folgende Schreibweise, die keine Pfadangabe enthält:

echo file_exists("php.exe");

Hier müssen Sie zuvor mit der Funktion chdir() das aktuelle Verzeichnis setzen um anschliessend mit file_exists() die Datei zu prüfen.

Einsatz von mkdir() und rmdir()
Mit Hilfe der Funktionen mkdir() sind Sie in der Lage ein neues Verzeichnis anzulegen. Die Funktion rmdir() dagegegn löscht Verzeichnisse. Auch diese beiden Funktionen beziehen sich, wenn keine vollständigen Pfade übergeben werden, auf das aktuelle Verzeichnis. Sicherer ist natürlich die Angabe vollständiger Pfade:

<?php
echo mkdir("C:/php5xampp-dev/neu",0700);
?>

Um dieses Verzeichnis zu löschen können Sie die Funktion rmdir() einsetzen:

<?php
echo rmdir("C:/php5xampp-dev/neu");
?>

Beide Funktionen liefern bei fehlerfreier Ausführung den Wert true, andernfalls wird eine Fehlermeldung ausgegeben.

Informationen über Dateien und Verzeichnisse

Berechtigungen von Dateien und Verzeichnissen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Berechtigungen von Dateien und Verzeichnissen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Berechtigungen von Dateien und Verzeichnissen

Sowohl die Funktion chmod() als auch das zweite Argument der Funktion mkdir() ermöglichen die Vergabe von Berechtigungen für Dateien und Verzeichnisse. Diese Zahl setzt sich aus vier Stellen zusammen.
. Die erste Stelle kann eine Spezialeinstellung für die jeweilige Datei sein, wie setuid (4), setgid (2) oder sticky (1).
. Die zweite Stelle stellt die Benutzerberechtigungen des Dateieigentümers dar.
. Die dritte Stelle steht für die Gruppenberechtigung, was Benutzer der Gruppe, der die Datei angehört, mit ihr machen können.
. Die vierte Stelle steht für die globalen Berechtigungen, was alle Benutzer mit der Datei machen dürfen.

Um den korrekten Wert für jede Stelle zu berechnen, addieren Sie die von Ihnen für die jeweilige Stelle gewünschten Berechtigungen anhand der Werte der folgenden Tabelle:

Wert | Berechtigung | Spezialeinstellung
4 | Lesen | setuid
2 | Schreiben | setgid
1 | Ausführen | sticky

Ein Berechtigungswert von 0755 bedeutet:

Spezialeinstellung:

Keine (0)

Dateieigentümer:

Kann die Datei: Lesen, Schreiben und Ausführen

4 = lesen + 2 = schreiben + 1 = ausführen => 7

Benutzer der Gruppe:

Können die Datei: Lesen und Ausführen

4 = lesen + 1 = ausführen => 5

Alle anderen Benutzer:

Können die Datei: Lesen und Ausführen

4 = lesen + 1 = ausführen => 5

Die Berechtigung neu erstellter Dateien und Verzeichnisse sind von der Einstellung umask abhängig. Dies ist ein Berechtigungswert, welcher von der Default-Berechtigung einer Datei (0666) bzw. eines Verzeichnis (0777) entfernt bzw. ausmaskiert wird. Wenn die umask beispielsweise 0022 ist, ist 0644 die Standardberechtigung für eine neue mit fopen() erstellte Datei und 0755 die Standardberechtigung für eine neues Verzeichnis, das mit mkdir() erstellt wird.

Einsatz von umask()
Mit Hilfe der Funktion umask() können Sie die umask abfragen und einstellen. Diese gibt die aktuelle umask zurück und ändert sie auf den Wert des übergebenen Arguments, falls vorhanden. Im folgenden Beispiel wird lediglich der Eigentümer und der Superuser in der Lage sein, auf die Datei zuzugreifen:

$alte_umask = umask(0077);

touch("privat.txt");

umask($alte_umask);

Der erste Aufruf von umask() maskiert sämtliche Berechtigungen für die Gruppe und aller anderen Benutzer. Wenn die Datei erstellt ist, stellt der Aufruf umask() die umask auf die vorherigen Einstellungen zurück.

Hinweis: Wenn PHP als Server-Modul läuft, stellt es die umask am Ende jedes HTTP-Requests auf seinen Standardwert zurück.

Achtung: Die Funktion umask() funktioniert nicht unter Windows!

Verzeichnisoperationen

Auslesen von Verzeichnissen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Auslesen von Verzeichnissen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Auslesen von Verzeichnissen

Zu den wichtigsten Aufgaben der Dateifunktionen gehört das auslesen der Bestandteile, wie Dateien und Verzeichnisse, eines Verzeichnisses. Für diese Aufgabe stehen Ihnen folgende Funktionen zur Verfügung:

Funktion | Beispiel | Bedeutung
closedir (dir_handle) | closedir ($handle); | Löscht einen Verweis (Handle) auf ein Verzeichnis.
dir (directory) | dir ("/etc"); | Liefert ein Objekt, das für ein Verzeichnis steht.
opendir (path) | opendir ($path); | Erzeugt ein Verweis (Handle) auf ein Verzeichnis.
readdir (dir_handle) | readdir ($handle); | Ermittelt den jeweils nächsten Datei- oder Verzeichnisnamen aus einem Verzeichnis.
rewinddir (dir_handle) | rewinddir ($handle); | Positioniert den readdir-Zeiger wieder auf dem ersten Eintrag eines Verzeichnisses.
scandir (directory [, sorting_order]) | scandir ($directory); | Listet sämtliche Dateien und Verzeichnisse eines angegebenen Pfades auf. Die Sortierreihenfolge ist alphabetisch aufsteigend. Sollte der optionale Parameter sorting_order verwendet werden, wird die Sortierreihenfolge alphabetisch absteigend sein.

Im Grunde verbergen sich hinter den oben vorgestellten Funktionen zwei Konzepte für den Zugriff auf Verzeichnisse und das Auslesen von Dateien:
. Zugriff über einen Verweise (Handle, Referenz).
. Zugriff über ein Objekt, das Sie mit der Funktion dir() erhalten. Auf dieses Objekt lassen sich dann Eigenschaften und Methoden anwenden.

Zugriff via Verweise

Einen Verweis erhalten Sie mit Hilfe der Funktion opendir(). Das folgenden Beispiel zeigt, wie Sie Dateien aus einem Verzeichnis auslesen:

<?php

$handle=opendir ('.');
echo "Verzeichnis-Handle: $handle<br>";
echo "Dateien:<br>";

while (false !== ($file = readdir ($handle))) {
    echo "$file<br>";
}

closedir($handle);

?>

Ausgabe

Verzeichnis-Handle: Resource id #2
Dateien:
.
..
konstanten.php

Beachten sie, dass readdir() auch die Einträge "." und ".." zurück gibt. Wollen sie das nicht, müssen sie diese ausschliessen:

<?php

$handle=opendir ('.');
echo "Verzeichnis-Handle: $handle<br>";
echo "Dateien:<br>";

while ($file = readdir ($handle)) {
    if ($file != "." && $file != "..") {
        echo "$file<br>";
    }
}

closedir($handle);

?>

Ausgabe

Verzeichnis-Handle: Resource id #2
Dateien:
konstanten.php

Zugriff via Objekt

Kommen wir nun zum zweiten Konzept, nämlich den Zugriff mit Hilfe des dir-Objekt. Es handelt sich hierbei um ein Pseudo-Objekt, d.h. es stellt eine Mischung aus Funktion und objektorientierter Lösung dar. Dem Objekt stehen diverse Eigenschaften und Methoden zur Verfügung, welche in folgender Tabelle aufgeführt sind:

Funktion | Bedeutung
handle | Diese Eigenschaft liefert einen Verweis, welcher sich mit den weiter oben vorgestellten Funktionen nutzen lässt.
path | Diese Eigenschaft liefert den Pfad des dir-Objekts.
close() | Diese Methode gibt das Objekt wieder frei.
read() | Diese Methode liefert bei jedem Aufruf den jeweils nächsten Verzeichniseintrag.
rewind() | Diese Methode setzt den internen Zeiger für die read-Operationen wieder auf den ersten Eintrag.

Das Auslesen eines Verzeichnisses entspricht den bereits vorgestellten Beispielen. Lediglich die Syntax stellt sich etwas anderes dar:

<?php

$verzeichnis = dir(".");
echo "Verzeichnis-Handle: $verzeichnis<br>";
echo "Dateien:<br>";

while ($file = $verzeichnis->read()) {
        echo "$file<br>";
}

$verzeichnis->close();

?>

Ausgabe

Verzeichnis-Handle: Object id #1
Dateien:
.
..
konstanten.php

Hinweis: Dieses Pseudo-Objekt bzw. diese spezielle Syntax wird vor allem beim objektorientierten Anwendungen eingesetzt.

Berechtigungen von Dateien und Verzeichnissen

Dateioperationen und Dateifunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dateioperationen und Dateifunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateioperationen und Dateifunktionen

In diesem Abschnitt befassen wir uns mit der Verarbeitung von Dateien. Sie lernen Funktionen kennen, die es Ihnen ermöglichen Dateien zu:
. Erzeugen
. Öffnen
. Schreiben
. Lesen
. Kopieren
. Umzubenennen

In der folgenden Tabelle finden Sie eine Aufstellung der wichtigsten Funktionen:

Funktion Beispiel Bedeutung
file (filename [, use_include_path]) | file ($filename); | Liest den Inhalt einer Datei in ein Array ein.
fclose(handle) | fclose($dateihandle); | Schliesst einen offenen Dateizeiger und damit auch die Datei.
fgetc (handle) | fgetc($dateihandle); | Liest das Zeichen, auf welches der Dateizeiger zeigt.
fgetcsv (handle, length [, delimiter [, enclosure]]) | fgetcsv($dateihandle); | Liest eine Zeile von der Position des Dateizeigers und prüft diese auf durch Kommata getrennte Werte (CSV - comma separated values).
fgets (handle [, int length]) | fgets($dateihandle); | Liest eine Zeile von der Position des Dateizeigers.
fgetss (handle int length [, string allowable_tags]) | fgetss($dateihandle); | Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
flock ((handle, operation [, wouldblock]) | flock($dateihandle,2); | Sperrt eine Datei für schreibende und lesende Zugriffe.
fopen (filename, mode [, use_include_path [, zcontext]]) | $handle = fopen ("/home/matze/file.txt", "r"); | Öffnet eine bestehende oder erzeugte eine neue Datei.
fputs (handle, str [, length]) | fputs($dateihandle); | Schreibt eine Zeil ein eine Datei.
fread (handle, length) | fread ($dateihandle, filesize ($filename)); | Liest eine bestimmte Anzahl von Bytes aus einer Datei.
fwrite (handle, str [, length]) | fwrite($dateihandle, $somecontent) | Schreibt eine bestimmte Anzahl von Bytes in eine Datei.
readfile (filename [, use_include_path]) | echo readfile($filename); | Liest den Inhalt einer Datei und schreibt ihn in den Ausgabepuffer.

Einsatz von file() und readfile()

Der Einsatz der Funktionen file() und readfile() ermöglicht es Ihnen recht einfach auf den kompletten Inhalt einer Datei zu zugreifen. Die Funktion readfile() sendet den Inhalt direkt an den Browser und file() schreibt den Inhalt in ein Array.

Die folgende Anweisung reicht aus um die Datei info.txt im Browser anzuzeigen:

readfile("info.txt");

Die Funktion gibt im Erfolgsfall die Zahl der übertragenen Zeichen zurück. Sollte es nicht funktionieren, liefert sie den Wert false. Wenn Sie auf eine Pfadangabe verzichten, muss sich die Datei im selben Verzeichnis befinden, wie das Skript, das die Anweisung enthält. Die Funktion eignet sich hervorragend zur Einbindung von HTML-Dateien!

Mit Hilfe der Funktion file() kommen Sie ebenfalls an den Inhalt einer Datei. Sie müssen hierbei lediglich beachten, dass der Inhalt in ein Array überführt wird:

<?php

$datei = file("info.txt");

foreach($datei as $zeile) {
    echo "$zeile<br>";
}

?>

Auslesen von Verzeichnissen

Lesen und Schreiben von Dateien

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Lesen und Schreiben von Dateien

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Lesen und Schreiben von Dateien

Um eine Datei zu öffnen, benötigen Sie die Funktion fopen(). Diese erwartet zwei Argumente:
. Name der Datei
. Dateiattribut

Die Funktion liefert als Rückgabewert einen Verweis (Handle) auf die Datei. Diesen Verweis benötigen Sie für Lese- und Schreiboperationen, beispielsweise in Verbindung mit fread().

Beispiel

<?php

$datei = fopen("info.txt","r");
echo fread($datei,1000);
fclose($datei);

?>

oder

<?php

// Fehlermeldung wird unterdrückt und die eigene angezeigt
@$datei = fopen("info.txt","r") or die("Kann info.txt nicht öffnen!");
echo fread($datei,1000);
fclose($datei);

?>

Das Dateiattribut, welches sich im zweiten Argument der fopen() Funktion befindet, ist "r" und stellt die Datei lediglich zum Lesen zur Verfügung.

In der folgenden Tabelle haben wir Ihnen die zur Verfügung stehenden Modis aufgelistet:

Modus | Bedeutung
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.

Sie sollten vor allem auf die Angaben "w" und "w+" achten. Damit sind Sie in der Lage Dateien zu löschen oder zu erzeugen. Die Angabe "a" (append) sollten Sie verwenden, wenn Sie an eine bereits bestehende Datei weitere Daten anhängen wollen.

Wir haben Ihnen eine weitere Tabelle zusammengestellt, die Ihnen die Entscheidung, welcher Modus es beim verarbeiten von Dateien sein soll, erleichtert:

Modus | Lesbar? | Schreibbar? | Dateizeiger | Kürzen? | Erzeugen?
r | Ja | Nein | Anfang | Nein | Nein
r+ | Ja | Ja | Anfang | Nein | Nein
w | Nein | Ja | Anfang | Ja | Ja
w+ | Ja | Ja | Anfang | Ja | Ja
a | Nein | Ja | Ende | Nein | Ja
a+ | Ja | Ja | Ende | Nein | Ja

Dateien von einem entfernten Server

Sollten Sie Dateien von einem entfernten Server öffnen wollen, zu der Sie via HTTP oder FTP Zugang haben, dann können Sie hierfür ebenfalls fopen() einsetzen:

$datei = fopen("www.selfas.de/info.txt","r");

Um mit Hilfe von fopen() Dateien zu öffnen, die einen Benutzernamen und ein Passwort voraussetzen, platzieren Sie die Authentifizierungsinformationen wie folgt in die URL:

$datei = fopen("ftp://benutzername:passwort@ftp.selfas.de/pub/info.txt","r");

$datei = fopen("benutzername:passwort@www.selfas.de/info.txt","r");

Die Dateien werden mit Hilfe des URL-fopen-Wrapper übertragen. In der Standardkonfiguration ist dieser freigegeben, lässt sich jedoch durch die Option allow_url_fopen in Ihrer php.ini sperren. Wenn Sie Dateien auf einem entfernten Server nicht mit fopen() öffnen können, sollten Sie Ihre Server-Konfiguration überprüfen.

Einsatz von fgets()

Neben dem bereits vorgestellten fread() steht Ihnen zum Auslesen einer Datei auch noch fgets() zur Verfügung. Sie unterscheiden sich in einem wesentlichen Punkt: fread() liest immer so viele Zeichen, wie im zweiten Argument angegeben werden, fgets() liest nur bis zum nächsten Zeilenumbruch, auch wenn im zweiten Argument ein grösserer Wert angegeben wurde.

Hinweis: fread() ignoriert beim Auslesen einer Datei die enthaltenen Zeilenumbrüche.

Beispiel - Inhalt von info.txt

Matthias
Caroline

Beispiel - auslesen.php mit fread()

<?php

$datei = fopen("info.txt","r");
echo fread($datei,1000);
fclose($datei);

?>

Ausgabe

Matthias
Caroline

Beispiel - auslesen.php mit fgets()

<?php

$datei = fopen("info.txt","r");
echo fgets($datei,1000);
fclose($datei);

?>

Ausgabe

Matthias

Wie wäre es noch mit folgender Variante:

<?php

$datei = fopen("info.txt","r");
echo fread($datei,1000);
echo fgets($datei,1000);
fclose($datei);

?>

Ausgabe

Matthias
Caroline

Das vorliegende Beispiel zeigt, wie die Funktionen arbeiten. Bei jedem Aufruf setzen sie den internen Dateizeiger an das Ende des eingelesenen Abschnitts. Bei fgets() ist das in der Regel eine Zeile. Sollte jedoch eine Zeile länger sein als im zweiten Argument angegeben, wird lediglich ein Teil der Zeile eingelesen. Sie sollten die Funktion fgets() in einer Schleife einsetzen, um nacheinander sämtliche Zeilen auszugeben. Wie wäre es die Ausgabe durch HTML-Angaben zu formatieren:

<?php

$datei = fopen("info.txt","r");
$zeile = true;
while ($zeile) {
    $zeile = fgets($datei, 100);
    echo "<b>$zeile<b><br>";
}
fclose($datei);

?>

Ausgabe

Matthias
Caroline

Da fgets() ein Leerzeichen zurückgibt und dieses von der while-Schleife als false interpretiert wird, können Sie den Rückgabewert als Abbruchkriterium einsetzen. Die Schleife endet automatisch, wenn in der Datei keine weiteren Zeilen vorkommen.

Zählen von Zeilen und Absätze

Die Funktion fgets() kann Ihnen auch dabei behilflich sein, eine Datei zu analysieren, wie beispielsweise die Anzahl der Zeilen oder Absätze zu ermitteln.

Beispiel - Ermitteln der Anzahl von Zeilen

<?php

$zeilen = 0;

if ($datei = fopen("daten.txt","r")) {
  while (!feof($datei)) {
    if (fgets($datei,1048576)) {
      $zeilen++;
    }
  }
}

echo $zeilen;

fclose($datei);

?>

Beispiel - Ermitteln der Anzahl von Absätzen

<?php

$absaetze = 0;

if ($datei = fopen("daten.txt","r")) {
  while (! feof($datei)) {
    $z = fgets($datei,1048576);
    if (("\n" == $z) || ("\r\n" == $z)) {
      $absaetze++;
    }
  }
}
echo $absaetze;

fclose($datei);

?>

Hinweis: Der Wert für das zweite Argument in fgets() wurde bewusst so hoch gesetzt um möglichst sämtliche Zeichen pro Zeile zu erfassen.

Sonderfall - Datensätze

Eine Datei, welche Datensatz ähnliche Strukturen aufweist, wie Trennzeichen kann ebenfalls auf diese Weise analyisiert werden.

Inhalt der db.txt Datei

Matthias Kannengiesser
-*-
Caroline Kannengiesser
-*-
Gülten Kannengiesser
-*-

Beispiel - Ermitteln der Anzahl von Datensätze

<?php

$dsatz = 0;
$dsatz_trenner = '-*-';

if ($datei = fopen('db.txt','r')) {
  while (! feof($datei)) {
    $z = rtrim(fgets($datei,1048576));
    if ($z == $dsatz_trenner) {
      $dsatz++;
    }
  }
}

echo $dsatz;

fclose($datei);

?>

Bearbeiten einzelner Worte einer Datei

Um mit Hilfe der Funktion fgets() einzelne Wörter bearbeiten bzw. erfassen zu können sollten Sie zusätzlich reguläre Ausdrücke mit der Funktion preg_split() verarbeiten.

Inhalt - daten.txt

Matthias ist dort
Caroline ist hier

Beispiel

<?php

$datei = fopen('daten.txt','r');
while (! feof($datei)) {
    if ($z = fgets($datei,1048576)) {
        // Zeile nach Worte durchsuchen
        $worte = preg_split('/\s+/',$z,-1, PREG_SPLIT_NO_EMPTY);
        // Alle Wörter einer Zeile bearbeiten
        foreach ($worte as $wort) {
            echo "<b>$wort</b><br>";
        }
        // Nächste Zeile (als Absatz)
        echo "<p>";
    }
}

fclose($datei);

?>

Ausgabe

Matthias
ist
dort

Caroline
ist
hier

Quelltext Ausgabe

<b>Matthias</b><br><b>ist</b><br><b>dort</b><br><p><b>Caroline</b><br><b>ist</b><br><b>hier</b><br><p>

Der Code verwendet das Metazeichen \s der der Perl-kompatiblen Regular Expression Engine. Hiermit werden Leerzeichen (Whitespace) jeglicher Art verarbeitet, wie Leerzeichen, Tabulatoren, Zeilenvorschübe, Wagenrückläufe und Seitenvorschübe.

Dateioperationen und Dateifunktionen

Erzeugen und Schreiben von Dateien

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Erzeugen und Schreiben von Dateien

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Erzeugen und Schreiben von Dateien

Eine neue Datei anzulegen stellt sich mit Hilfe der Funktionen fopen() und fwrite() recht einfach dar.

Beispiel

<?php

$datei = fopen("daten.txt","w");
echo fwrite($datei, "Hallo Welt",100);
fclose($datei);

?>

Ausgabe

10

Wie Sie sehen gibt die Funktion die Anzahl der Zeichen zurück, welche in die neue Datei daten.txt geschrieben wurden. Das letzte Argument von fwrite() ist übrigens optional, sollte die Anzahl der Zeichen aus der Zeichenfolge den Wert überschreiten wird die Zeichenfolge auf den festgelegten Wert gekürzt. Zusätzlich ist zu beachten, dass fwrite() den internen Dateizeiger weitersetzt. Dieser steht nach der Ausführung hinter dem letzten geschriebenen Zeichen. Sollten sie fwrite() erneut aufrufen, wird die neue Zeichenfolge an den vorhanden Text angefügt.

In eine vorhandene Datei schreiben

Beim schreiben in eine vorhandene Datei kommt es vor allem darauf an, mit welcher Zugriffsmethode Sie die Datei öffnen. Hierbei sind folgende Situationen zu unterscheiden:
. Sie wollen weitere Daten an die Datei anfügen. In diesem Fall wählen Sie den Wert "a" (bzw. "a+"). Die Datei wird dann so geöffnet, dass ein schreibender Zugriff nur am Ende der Datei erfolgen kann.
. Sie wollen an einer beliebigen Stelle Daten in die Datei schreiben. Die an dieser Stelle befindlichen Daten werden dann jedoch überschrieben. In diesem Fall öffnen Sie die Datei mit der Einstellung "r+". Der Dateizeiger steht dann am Anfang der Datei. Um an einer beliebigen Stelle zu schreiben, muss der Dateizeiger mit der Funktion fseek() positioniert werden.
. Sie wollen eine bestehende Datei ganz neu schreiben, also keine bestehenden Daten übernehmen. In diesem Fall wählen Sie den Zugriffsmodus "w" (bzw. "w+"). Im Grunde wird die Datei hierdurch gelöscht und mit dem gleichen Namen neu erzeugt.

Die interessanteste Methode stellt wohl die zweite Variante dar. Hierbei handelt es sich um einen Zugriff auf eine bereits bestehende Datei, jedoch an einer beliebigen Stelle und nicht am Anfang oder am Ender der Datei. Hierfür benötigen Sie Funktionen mit denen Sie die Position des Dateizeigers abfragen und setzen können. Diese haben wir in der folgenden Tabelle für Sie zusammengefasst:

Funktion | Beispiel | Bedeutung
feof (handle) | echo feof($dateihandle); | Prüft, ob der Dateizeiger am Ende der Datei steht.
fseek (handle, offset [,postion]) | fseek ($dateihandle, 10, SEEK_CUR); | Positioniert den Dateizeiger auf eine beliebige Stelle innerhalb der Datei.
ftell (handle) | echo ftell($dateihandle); | Ermittelt die aktuelle Position des Dateizeigers.
rewind(handle) | rewind($dateihandle); | Positioniert den Dateizeiger an den Anfang der Datei.

Die Funktion fseek() benötigt einen offset (Versatzwert), um den Dateizeiger ausgehend von einer festgelegten Position neu zu positionieren. Auf welche Startposition sich der Versatz bezieht, bestimmen Sie im letzten Argument. Dieses Argument ist optional.

Wenn Sie darauf verzichten, zählt der Versatzwert vom Anfang der Datei. Die Startposition lässt sich mit Hilfe einer folgenden Konstanten bestimmen:
. SEEK_SET - Als Startposition wird der Dateianfang angenommen. Der Versatzwert steht dann auch für die absolute Position. Diese Konstante entspricht dem Standardwert und muss daher nicht unbedingt angegeben werden.
. SEEK_CUR - Als Startposition wird die aktuelle Position angenommen. Der Versatzwert bezieht sich dann auf diese Position.
. SEEK_END - Als Startposition wird das Dateiende angenommen. Das bedeutet, dass der Dateizeiger auch nach dem eigentlichen Ende der Datei positioniert werden kann. Diese Eigenschaft macht es möglich, eine strukturierte Datei mit Datensätzen fester Länge zu erzeugen. Die Datei muss hierzu nicht mit SEEK_END geöffnet werden.

Die aktuelle Position können Sie mit der Funktion ftell() auslesen. Das folgende Beispiel kombiniert beide Funktionen und stellt die relative Positionierung mit SEEK_CUR dar:

<?php

$datei = fopen("daten.txt","r+");
fseek($datei, 50, SEEK_CUR);
echo ftell($datei) . "<br>";
fseek($datei, 15, SEEK_CUR);
echo ftell($datei) . "<br>";
fclose($datei);

?>

Ausgabe

50
65

Beachten Sie, dass die Datei mit dem Zugriffsmode "r+" geöffnet wurde. Der Dateizeiger lässt sich dann auch für das Schreiben frei positionieren. Verwenden Sie hingegen den Modus "a" (bzw. "a+") werden sämtliche Daten an das Ende der Datei angefügt, unabhängig davon, wo gerade der Dateizeiger steht. Die Positionierung mit fseek() können Sie dann lediglich für das Auslesen nutzen.

Lesen und Schreiben von Dateien

Kopieren, umbenennen und löschen von Dateien

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Kopieren, umbenennen und löschen von Dateien

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kopieren, umbenennen und löschen von Dateien

Zusätzlich zu den bisherigen Funktionen stehen Ihnen noch die Funktionen copy(), rename() und unlink() zur Verfügung, mit deren Hilfe Sie Dateien kopieren, umbenennen und löschen können.

Beispiel - kopieren

<?php

if (@copy("daten.txt", "datenkopie.txt")) {
    echo "Kopiert";
} else {
    echo "Fehler!";
}

?>

Beispiel - umbennen

<?php

if (@rename("datenkopie.txt", "datenumbenannt.txt")) {
    echo "Umbenannt";
} else {
    echo "Fehler!";
}

?>

Beispiel - löschen

<?php

if (@unlink("datenumbenannt.txt")) {
    echo "Gelöscht";
} else {
    echo "Fehler!";
}

?>

Hinweis: Das @-Zeichen dient zur Fehlerunterdrückung!

Erzeugen und Schreiben von Dateien

Serialisierung von Daten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Serialisierung von Daten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Serialisierung von Daten

Funktionen, wie file() oder file_get_contents() sorgen dafür, dass der Inhalt einer Datei eingelesen wird. Diese Daten werden anschliessend deserialisiert. Eine Variable können Sie mit Hilfe von serialize() in ein speicherbares Format übertragen.

Einsatz von serialize() und unserialize()

Die serialize()-Funktion gibt eine Zeichenfolge zurück, die eine Byte-Stream entsprechende Wiedergabe von einer Variablen enthält und beliebig abgespeichert werden kann. Diese Funktion dient der Speicherung oder Übergabe von PHP-Werten, ohne dass diese ihren Wert oder ihre Struktur verlieren.

Beispiel

<?php

$personen = array(
            "Matthias",
            "Caroline",
            "Gülten"
            );
$daten = serialize($personen);
echo $daten;

?>

Ausgabe

a:3:{i:0;s:8:"Matthias";i:1;s:8:"Caroline";i:2;s:6:"Gülten";}

Einen solche Zeichenfolge können Sie mit Hilfe der Funktion unserialize() wieder in eine gültige Variable umwandeln.

Beispiel

<pre>
<?php

$daten = 'a:3:{i:0;s:8:"Matthias";i:1;s:8:"Caroline";i:2;s:6:"Gülten";}';
$personen = unserialize($daten);
print_r ($personen);

?>
</pre>

Ausgabe

Array
(
    [0] => Matthias
    [1] => Caroline
    [2] => Gülten
)

Kopieren, umbenennen und löschen von Dateien

Verriegelung von Dateien

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Verriegelung von Dateien

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verriegelung von Dateien

Jeder Schreibvorgang innerhalb einer Web-Anwendung birgt ein Risiko, nämlich dass Daten überschrieben werden. Sie können sich durch ein in PHP zur Verfügung gestelltes Verriegelungsverfahren davor schützen, so dass Inhalte einer Datei nicht ungewollt verändert werden können.

Eine Datei wird hierbei durch ein sog. Lock geschützt. Dieses von den meisten Betriebsystemen unterstützte Verfahren sperrt eine Datei, so dass ein ungewollter Zugriff ausgeschlossen werden kann. Die Funktion die Ihnen für die Verriegelung zur Verfügung steht ist flock().

Diese Funktion erwartet neben dem Datei-Handler, als zweites Argument einen Integerwert für die durchzuführende Verriegelungsoperation. Ihnen stehen folgende Verriegelungs-Konstanten zur Verfügung:

Konstante | Wert | Bedeutung
LOCK_SH | 1 | lock shared, verteilt lesende Verriegelung, andere Prozesse können lesend zugreifen.
LOCK_EX | 2 | lock exclusive, keinem anderen Prozess den Zugriff ermöglichen.
LOCK_UN | 3 | lock unlock, Verriegelung aufheben, sowohl lesend als auch schreibend.
LOCK_NB | 4 | lock non-blocking, in Verbindung mit LOCK_EX und LOCK_UN, beendet den Zugriffsversuch, ohne zu warten, bis die Datei für Zugriffe frei ist.

Um eine Datei zu sperren, benötigt die Funktion einen Datei-Handler, den Sie mit Hilfe der Funktion fopen() erhalten. Als Operation können Sie entweder einen verteilten oder einen exklusiven Zugriff erlauben oder eine Verriegelung wieder aufheben. Die Option LOCK_NB legt fest, wie reagiert werden soll, wenn eine Datei gesperrt vorgefunden wird. Um diesen anzugeben, notieren Sie nach der Operation einen Senkrechten Strich und danach die Konstante. Sie sollte diese nur dann einsetzen, wenn Sie Zugriffe während der Verriegelung durch flock() zulassen wollen.

Der Einsatz einer Verriegelung macht jedoch nur dann Sinn, wenn alle Programme die gleiche Art und Weise der Verriegelung nutzen. Eine Verriegelung von Dateien wird im übrigen lediglich empfohlen. Solange Sie kein flock() verwenden, um den Verriegelungstatus einer Datei festzulegen, können Sie auf diese bequem lese/schreib-Zugriffe ausführen.

Serialisierung von Daten

Auslesen von CSV-Dateien

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Auslesen von CSV-Dateien

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Auslesen von CSV-Dateien

Abschliessend wollen wir Ihnen noch die Funktion fgetcsv() vorstellen. Vorab jedoch noch eine kurze Einführung in die Struktur von CSV-Dateien (comma separated values). Hierbei handelt es sich um Textdateien, deren Einträge in Zeilen und Spalten (Felder) unterteilt sind. Die Zeilen werden durch Zeilenumbrüche gekennzeichnet und die Felder durch Kommata oder andere Trennzeichen. Für das Auslesen solcher Dateien können Sie die Funktion fgetcsv() einsetzen. Die Funktion erwartet eine Textdatei, die beispielsweise wie folgt strukturiert ist:

1, erster Mitarbeiter, Matthias, Kannengiesser

2, zweiter Mitarbeiter, Caroline, Kannengiesser

Jeder Aufruf von fgetcsv() liefert die jeweils nächste Zeile. Die Funktion benötigt mindestens zwei Argumente:
. Dateihandle
. Maximale Anzahl der auszulesenden Zeichen

Beispiel

<?php

$datei = fopen("csvdaten.txt", "r");
$daten = fgetcsv($datei, 1000);
while ($daten) {
    echo implode(" - ", $daten) . "<br>";
    $daten = fgetcsv($datei, 1000);
}
?>

Ausgabe

1 - erster Mitarbeiter - Matthias - Kannengiesser
2 - zweiter Mitarbeiter - Caroline - Kannengiesser

Das optionale dritte Argument kann ein anderes Trennzeichen für die Felder enthalten. Das Komma stellt den Standardwert für das dritte Argument dar.

Verriegelung von Dateien

Nützliche Dateioperationen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fehlerbehandlung und Protokollierung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fehlerbehandlung und Protokollierung

Dieser Abschnitt betrifft Optionen zur Steuerung der Fehlerausgabe und der Fehler-protokollierung.

error_reporting = 7 | Bit-Wert für die Steuerung der Fehlerausgabe, der Bit-Wert wird als Summe der folgenden Werte ermittelt: 1 = Normale Fehler 2 = Normale Warnungen 4 = Parser-Fehler 8 = Hinweise bzw. Warnungen
display_errors = On | Ermöglicht die Fehlerausgabe an die Konsole, sprich Kommandozeile oder Browser.
log_errors = Off | Falls aktiviert, erfolgt die Fehlerausgabe in ein Fehlerausgabe-Protokoll.
track_errors = Off | Falls aktiviert, wird der letzte aufgetretene Fehler in der Systemvariablen $php_errormsg abgelegt.
error_prepend_string = "" | HTML-Tag, der vor einer Fehlermeldung ausgegeben wird, beispielsweise der -Tag zur Farbeinstellung.
error_append_string = "" | HTML-Tag, der nach einer Fehlermeldung ausgegeben wird.
error_log = dateiname | Datei für die Fehlerausgabe.
error_log = syslog | Für die Fehlerausgabe wird unter Windows das Ergebnisprotokoll genutzt nur Windows NT, unter Unix wird SYSLOG verwendet.
warn_plus_overloading = Off | Falls aktiviert, erfolgt eine Warnung bei der Verwendung des +-Operators anstatt des .-Operators bei Zeichenkettenoperationen.

Leistungsbegrenzungen

Datenbehandlung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Nützliche Dateioperationen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Nützliche Dateioperationen

Hier haben wir noch einige nützliche Codeschnipsel zur Verarbeitung von Dateien.

Zeilen gezielt auslesen

Die Zeilen einer Datei gezielt auszulesen kann mit einigen Handgriffen umgesetzt werden. Sie können hierbei entweder die Funktion file() oder fgets() einsetzen. Die Funktion file() setzt voraus das genügen freier Arbeitsspeicher zur Verfügung steht, da in ihrem Fall die Datei vollständig eingelesen wird.

Beispiel - file()

<?php

$daten = file("daten.txt");
// Zweite Zeile ausgeben
echo $daten[1];

?>

Beispiel - fgets()

<?php

$zeilen_zaehler = 0;
$ziel_zeile = 2;

$datei = fopen('daten.txt','r');
while ((! feof($datei)) && ($zeilen_zaehler < $ziel_zeile)) {
    if ($zeile = fgets($datei,1048576)) {
        $zeilen_zaehler++;
    }
}
fclose($datei);

echo $zeile;

?>

Inhalt einer Datei rückwärts einlesen

Nun werden Sie sicher denken, wozu soll das gut sein. Da hätten wir einen kleinen Tipp - denken Sie mal ein Gästebuch. Es ist recht simpel, neue Beiträge mit Hilfe fopen() und dem Anhängmodus "a" (append) ans Dateiende anzuhängen. Aber wie sieht es mit der Ausgabe aus - der neueste Eintrag soll schliesslich an den Anfang der Ausgabe. Hierfür haben wir eine einfache und praktische Lösung für Sie.

Beispiel

<?php

$daten = file("daten.txt");
$daten = array_reverse($daten);

foreach ($daten as $eintrag) {
    echo "$eintrag<br>";
}

?>

Natürlich können Sie anstatt sämtliche Zeilen rückwärtig auszugeben, lediglich eine festgelegte Anzahl von Zeilen ausgeben, wie wäre es mit den letzten 10 Zeilen.

Beispiel

<?php

$daten = file('daten.txt');
$anzahl = 10;

for ($i = 0, $j = count($daten); $i <= $anzahl; $i++) {
    echo $daten[$j - $i] . "<br>";
}

?>

Zeile per Zufall - Spruchgenerator

Wie wäre es mit einem Spruchgenerator, welcher bei jedem Aufruf zufällig eine Zeile ausliest.

<?php

// Zufallsgenerator
function gen_zahl($max = 1) {
  $faktor = 1000000;
  return ((mt_rand(1,$faktor * $max)-1)/$faktor);
}

// Spruchgenerator
function gen_spruch($dateiname) {
$zeilen_nr = 0;

$datei = fopen($dateiname,'r');
while (! feof($datei)) {
    if ($z = fgets($datei,1048576)) {
        $zeilen_nr++;
        if (gen_zahl($zeilen_nr) < 1) {
            $spruch = $z;
        }
    }
}
fclose($datei);
return $spruch;
}

// Ausgabe
echo gen_spruch("daten.txt");

?>

Wie Sie feststellen werden haben wir es uns erlaubt die Zufallszahlen-Funktion gen_zahl() von der Spruchgenerator Funktion gen_spruch() zu trennen, so haben Sie die Möglichkeit die Zufallszahlen-Funktion auch für andere Zwecke zu nutzen.

Sie können es natürlich auch etwas einfacher haben halten, wenn Sie die Funktion file() und anschliessend die Funktion shuffle() einsetzen.

Beispiel

<?php

// Spruchgenerator
function gen_spruch($dateiname) {
    $daten = file($dateiname);
    shuffle ($daten);
    return $daten[0];
}

// Ausgabe
echo gen_spruch("daten.txt");

?>

Datei ohne eine temporäre Datei ändern

Stellen Sie sich vor Sie wollen an einer Datei Änderungen vornehmen, dies jedoch ohne eine temporäre Datei zwischenzuspeichern. In diesem Fall öffnen Sie eine Datei mit dem Modus "r+" und korrigieren nach dem Schreiben der Änderungen die Länge der Datei mit Hilfe der Funktion ftruncate(). Diese ist in der Lage eine Datei auf eine angegebene Länge zu kürzen.

Beispiel

<?php

// Datei zum Lesen und Schreiben öffnen
$datei = fopen('daten.txt','r+');

// Gesamte Datei einlesen
$daten = fread($datei,filesize('daten.txt'));

// Konvertiert *Wort* zu <b>Wort</b>
$daten = preg_replace('@\*(.*?)\*@i','<b></b>',$daten);

// Konvertiert /Wort/ zu <u>Wort</u>
$daten = preg_replace('@/(.*?)/@i','<u></u>',$daten);

// Dateizeiger an den Anfang zurücksetzen
rewind($datei);

// Neue Daten in die Datei schreiben
if (-1 == fwrite($datei,$daten)){
    echo "Fehler!";
}

// Dateilänge auf die tatsächliche Datengrösse anpassen
ftruncate($datei,ftell($datei));

// Datei schliessen
fclose($datei);

?>

Ihre daten.txt könnte folgende Daten enthalten:

/Matthias/ ist dort
*Caroline* ist hier

Nach der Änderung stellt sich der Inhalt, wie folgt dar:

<u>Matthias</u> ist dort
<b>Caroline</b> ist hier

Schreiben und Lesen von komprimierten Dateien

Um Daten in komprimierter Form als Datei anlegen zu können steht Ihnen in PHP die zlib-Erweiterung zur Verfügung.

Beispiel - Schreiben

<?php

$datei = gzopen('daten.gz','w');
$daten = "Hier der Text";

if (-1 == gzwrite($datei,$daten))   {
    echo "Fehler!";
} else {
    echo "Datei erzeugt!";
}

gzclose($datei);

?>

Beispiel - Lesen

<?php

$datei = gzopen('daten.gz','r');

while ($zeile = gzgets($datei,1024)) {
    echo $zeile;
}

gzclose($datei);

?>

Die zlib-Erweiterung enthält zahlreiche Dateizugriffsfunktionen wie gzopen(), gzread() und gzwrite(), welche in der Lage sind Daten beim Schreiben zu komprimieren und beim Lesen zu dekomprimieren. Der von zlib verwendete Kompressions-Algorithmus ist mit den Tools gzip und gunzip kompatibel.

Datei nach einem Muster durchsuchen

Um ein bestimmtes Muster innerhalb einer Datei zu finden und die betroffenen Zeilen auszugeben, sollten Sie sich auf reguläre Ausdrücke und den Funktionen preg_grep(), file() oder fgets() stützen.

Entweder Sie lesen die Datei vollständig mit Hilfe von file() in den Speicher oder Sie gehen Zeilenweise vor in dem Sie die Funktion fgets() einsetzen.

Wir verwenden folgende textdatei:

Inhalt - daten.txt

ActionScript Praxisbuch
ActionScript Profireferenz
MySQL Praxisbuch
PHP 5 Praxisbuch

Beispiel - file()

<?php

// Nur Praxisbücher
$muster = "/\bpraxisbuch\b/i";

// Liste der gefundenen Einträge
$prasix_buecher = preg_grep($muster, file('daten.txt'));

// Ausgabe
foreach ($prasix_buecher as $buch) {
    echo "$buch<br>";
}

?>

Ausgabe

ActionScript Praxisbuch
MySQL Praxisbuch
PHP 5 Praxisbuch

Beispiel - fgets()

<?php

// Nur Praxisbücher
$muster = "/\bpraxisbuch\b/i";

// Datei öffnen
@$datei = fopen('daten.txt', 'r') or die("Fehler!");

// Durchsuchen der Datei - Zeilenweise
while (!feof($datei)) {
    $zeile = fgets($datei, 4096);
    if (preg_match($muster, $zeile)) {
        $prasix_buecher[] = $zeile;
    }
}

// Ausgabe
foreach ($prasix_buecher as $buch) {
    echo "$buch<br>";
}

// Datei schliessen
fclose($datei);

?>

Ausgabe

ActionScript Praxisbuch
MySQL Praxisbuch
PHP 5 Praxisbuch

Sie sollten noch vollgendes berücksichtigen, die erste Methode ist ungefähr drei- bis viermal schneller als die zweite. Die Zweite Methode benötigt für die Suche jedoch weniger Speicher. In diesem Fall müssen Sie als Entwickler entscheiden, was Ihnen wichtiger ist. Und noch etwas gilt es zu berücksichtigen, die zweite Methode ist nicht in der Lage Zeichenfolgen, die sich über mehrere Zeilen erstrecken, zu finden, da in ihrem Fall der reguläre Ausdruck auf jede Zeile einzeln angewendet wird.

Dateidownload mit PHP

Grundsätzlich können Sie einen Dateidownload auf zwei verschiedene Arten realisieren:
. Man schreibt ein PHP-Skript, das einen Redirect auf die zu ladende Datei generiert.
. Man startet den Download durch das PHP-Skript.

Die Methode mit dem Redirect hat den Nachteil, dass Anwender die Ziel-URL des Redirect mitbekommen und später dann direkt und ungeschützt auf diese Datei zugreifen können.

Will man dies verhindern, muss der Download innerhalb von PHP abgewickelt werden. Die zu ladenden Dateien liegen dann außerhalb der Document Root des Webservers und besitzen somit keine URL. Sie sind lediglich durch PHP abzurufen. In PHP sendet man den passenden MIME-Typ als Header und schickt dann die gewünschte Datei hinterher. Natürlich kann man vorher noch einen Downloadzähler aktualisieren oder überprüfen, ob der Anwender überhaupt für den Download autorisiert ist.

<?php

// $download sei der Bezeichner für die zu ladende Datei
$download = $_GET['download'];

// Dieses Verzeichnis liegt ausserhalb des Document Root und
// ist nicht per URL erreichbar.
$basedir = "/home/www/download";

// Übersetzung von Download-Bezeichner in Dateinamen.
$dateiliste = array(
  "file1" => "area1/datei1.zip",
  "file2" => "area1/datei2.zip",
  "file3" => "area2/datei1.zip"
);

// Einbruchsversuch abfangen.
if (!isset($dateiliste[$download])) die("Datei $download nicht vorhanden.");

// Vertrauenswürdigen Dateinamen erzeugen.
$datei = sprintf("%s/%s", $basedir, $dateiliste[$download]);

// Passenden Datentyp erzeugen.
header("Content-Type: application/octet-stream");

// Passenden Dateinamen im Download-Requester vorgeben,
// z.B. den Original-Dateinamen
$speicher_name = basename($dateiliste[$download]);
header("Content-Disposition: attachment; filename=\"$speicher_name\"");

// Datei ausgeben.
readfile($datei);

?>

Auslesen von CSV-Dateien

Nützliche Verzeichnisoperationen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Nützliche Verzeichnisoperationen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Nützliche Verzeichnisoperationen

In diesem Abschnitt haben wir noch einige nützliche Codeschnipsel zur Verarbeitung von Verzeichnissen.

Wie wäre es beispielsweise mit Hilfe eines Musters eine Liste von Dateinamen auszugeben.

Beispiel - nur dateinamen die .jpg enthalten

<?php

@$verzeichnis = dir(".") or die("Fehler!");
echo "Dateien:<br>";

while ($datei = $verzeichnis->read()) {
     if (preg_match('/.jpg/',$datei)) {
        echo "$datei<br>";
    }
}

$verzeichnis->close();

?>

Das Muster lässt sich auf recht einfach auf jedes Dateiformat anpassen. Übrigens um die gefundenen Bilder auszugeben bedarf es lediglich einer kleinen Anpassung der echo-Anweisung: echo "
";.

Bearbeiten sämtlicher Dateien eines Verzeichnisses

Wie wäre es sämtliche Dateien eines Verzeichnisses und dessen Unterverzeichnisse samt Dateien aufzulisten und bearbeiten zu können, ist dies ohne weiteres machbar. Die Antwort auf diese Fragen lässt sich recht einfach mit Hilfe einer Rekursion klären. Hierfür haben wir eine nützliche Funktion, die Sie jederzeit einsetzen und auf Ihre Bedürfnisse anpassen können:

<?php

// Sämtliche Dateien in und unterhalb des Verzeichnisses erfassen
function lese_verzeichnisse($v_name,$funk_name,$max_tiefe = 10,$tiefe = 0) {
    if ($tiefe >= $max_tiefe) {
          error_log("Maximale Tiefe $max_tiefe von $v_name.");
        return false;
    }
    $sub_vers = array();
    $files = array();
    if (is_dir($v_name) && is_readable($v_name)) {
        $verzeichnis = dir($v_name);
        while (false !== ($datei = $verzeichnis->read())) {
            // . und .. nicht ausgeben
            if (('.' == $datei) || ('..' == $datei)) {
                continue;
            }
            // Verzeichnisse und Symbolische Links
            if (is_dir("$v_name/$datei")) {
                array_push($sub_vers,"$v_name/$datei");
            } else {
                $funk_name("$v_name/$datei");
            }
        }
        $verzeichnis->close();
        // Rekursiver durchlauf um die jeweiligen
        // Unterverzeichnisse zu erreichen
        foreach ($sub_vers as $sub_ver) {            lese_verzeichnisse($sub_ver,$funk_name,$max_tiefe,$tiefe+1);
        }
    }
}

// Funktion zur Formatierung der Ausgabe
function printatime($p_datei) {
    print "<a href=$p_datei>".basename($p_datei)."</a><br>";
}

lese_verzeichnisse('.','printatime');

?>

Die Funktion bearbeiten sämtliche gefundenen Dateien, indem Sie der Ausgabe einen Hyperlink hinzufügt, so dass sich die Dateien einzeln ansprechen lassen.

Besonderheit

Da is_dir() true zurückgibt, wenn es auf einen symbolischen Link trifft, der auf ein Verzeichnis verweist, folgt die Funktion auch symbolischen Links. Sollten Sie den symbolischen Links nicht folgen wollen, ändern Sie die Codezeile:

if (is_dir("$v_name/$datei")) {

in:

if (is_dir("$v_name/$datei") && (! is_link("$v_name/$datei"))) {

Nützliche Dateioperationen

Dateiupload via HTML-Formular

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dateiupload via HTML-Formular

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateiupload via HTML-Formular

Sollten Sie Ihren Kunden die Pflege Ihrer Daten überlassen, ist es in den meisten Fällen erforderlich einen Dateiupload bereitzustellen. Eine sinnvolle, wenn auch nicht immer effektive Alternative zum FTP Zugriff, ist der Upload von Dateien mit Hilfe von Formularen.

Aufbau des Formulars

Damit der Browser eine Datei vom Client zum Server überträgt, benötigen Sie ein <input>-Feld vom Typ file und das Attribut enctype="multipart/form-data" des <form>-Tag. Zusätzlich ist die Übertragungsmethode POST zwingend erforderlich, damit der Dateiupload fehlerfrei durchgeführt werden kann. Es können sowohl Text- als auch Binärdaten hochgeladen werden.

Beispiel - Formular (up_form.html)

<html>
<head>
<title>Dateiupload</title>
</head>
<body>
<p><font face="Arial, Helvetica, sans-serif" size="6">Dateiupload via HTML </font></p>
<form method="post" action="upload.php" enctype="multipart/form-data">
  Datei:
  <input type="hidden" name="MAX_FILE_SIZE" value="100000">
  <input type="file" name="datei" size="40" maxlength="100000">
  <input type="submit" name="Submit" value="Senden">
</form>
</body>
</html>

PHP stellt Ihnen die Möglichkeit zur Verfügung, über ein im Formular definiertes verstecktes-Feld, mit dem Namen MAX_FILE_SIZE, die maximale Dateigrösse festzulegen. Sollte eine grössere Datei übertragen werden, so wird diese verworfen und ein Fehler ausgegeben. Sie sollten sich jedoch grundsätzlich nicht nur auf das versteckte-Feld verlassen, sondern sollten serverseitig überprüfen, was tatsächlich übertragen wurde.

Informationen zur Datei

Bevor wir uns mit dem upload.php Skript befassen, sollten wir Ihnen noch die Überprüfungsmöglichkeiten des Servers vorstellen. Sobald eine Datei an den Server übertragen wird, wird automatisch das globale Array $_FILES erzeugt. In diesem assoziativen Array sind sämtliche Informationen zur Datei gespeichert.

Beispiel - Erfassen der $_FILES Informationen

<html>
<head>
<title>Dateiupload</title>
</head>
<body>
<p><font face="Arial, Helvetica, sans-serif" size="6">Dateiupload via HTML </font></p>
<form method="post" action="<? echo $PHP_SELF ?>" enctype="multipart/form-data">
  Datei:
  <input type="hidden" name="MAX_FILE_SIZE" value="100000">
  <input type="file" name="datei" size="40" maxlength="100000">
  <input type="submit" name="Submit" value="Senden">
</form>
<?php

// Dateiinformationen (Ausgabe über Schleife)
if (isset($_FILES["datei"])) {
    foreach ($_FILES["datei"] as $key=>$element) {
        echo "[$key] => $element<br>";
    }
}
?>
</body>
</html>

Ausgabe

[name] => eingabe.zip
[type] => application/x-zip-compressed
[tmp_name] => C:\WINDOWS\TEMP\php7023.TMP
[error] => 0
[size] => 20764

Hinter diesen Fünf Elementen stecken folgende Details:

Element | Syntax | Bedeutung
name | $_FILES["datei"]["name"] | Der ursprüngliche Dateiname auf der Client Maschine. Der genaue Dateiname mit evtl. vorhandenen Laufwerksbuchstaben, Pfadseparatoren und anderen Sonderzeichen ist betriebssystemabhängig.
type | $_FILES["datei"]["type"] | Dieses Element enthält den MIME-Type der Datei, so wie er dem Server vom Browser übermittelt worden ist. Dieser Wert kann unter Umständen nicht richtig sein, je nach Einstellung des Browsers. Beim Ermitteln des Typs von hochgeladenen Grafiken sollte stattdessen die Funktion getimagesize() verwendet werden.
size | $_FILES["datei"]["size"] | Die Größe der hochgeladenen Datei in Bytes.
tmp_name | $_FILES["datei"]["tmp_name"] | Dieses Element enthält den Namen der Datei in einem temporären Verzeichnis auf dem Server. Sie kann von dort mit einem move_uploaded_file()-Aufruf abgeholt werden. Das ist auch notwendig, da die Originaldatei am Ende des Skriptes automatisch gelöscht wird.
error | $_FILES["datei"]["error"] | Dieses Element wurde mit PHP 4.2.0 eingeführt und enthält den Status des Dateiuploads. Die möglichen Werte und dazugehörige Konstanten finden Sie weiter unten.

Die wohl wichtigsten Informationen stecken in $_FILES["datei"]["size"], $_FILES["datei"]["type"] und $_FILES["datei"]["error"].

Mit Hilfe des Elemnt $_FILES["datei"]["error"] können Sie kontrollieren, ob und welcher Fehler aufgetreten ist.

Fehlerkonstante | Wert | Bedeutung
UPLOAD_ERR_OK | 0 | Es liegt kein Fehler vor, die Datei wurde erfolgreich hochgeladen.
UPLOAD_ERR_INI_SIZE | 1 | Die hochgeladene Datei überschreitet die in der Anweisung upload_max_filesize in php.ini festgelegte Größe.
UPLOAD_ERR_FORM_SIZE | 2 | Die hochgeladene Datei überschreitet die in dem HTML Formular mittels der Anweisung MAX_FILE_SIZE angegebene maximale Dateigröße.
UPLOAD_ERR_PARTIAL | 3 | Die Datei wurde nur teilweise hochgeladen.
UPLOAD_ERR_NO_FILE | 4 | Es wurde keine Datei zum Server übertragen, das Feld war leer.

Auch wenn kein Fehler aufgetreten ist, entbietet Sie dies nicht von der Aufgabe, zu überprüfen, ob die Datei tatsächlich Ihren gewünschten Anforderungen entspricht. Grundsätzlich kann jede Benutzereingabe manipuliert sein, daher sollten Sie vor allem beim Dateiupload möglichst auf Nummer sicher gehen.

Hinweis: Dateien, welche den Fehler UPLOAD_ERR_INI_SIZE oder UPLOAD_ERR_FORM_SIZE erzeugen, werden automatisch vom Server gelöscht.

Achtung: PHP 4-Versionen die kleiner als PHP 4.1 sind kennen das globale Array $_FILES nicht. Statt dessen können Sie auf das assoziative Array $HTTP_POST_FILES zurückgreifen.

Ablegen der Datei auf dem Server

Nun haben Sie es fast schon überstanden. Sobald eine Datei an den Server gesendet wurde, wird diese in einem temporären Verzeichnis unter einem temporäreren Namen gespeichert. Diese Datei wird jedoch automatisch gelöscht, wenn das verarbeitende Skript beendet wurde. Sie müssen daher, diese Datei zum endgültigen Ablageverzeichnis kopieren.

Sie sollten sich nun dem upload.php zuwenden, auf dem im HTML-Formular für den Dateiupload verwiesen wurde.

Beispiel - upload.php

<html>
<head>
<title>Dateiupload - Status</title>
</head>
<body>
<?php

// Prüfen des Array $_FILES
if (isset($_FILES["datei"])) {

// Upload-Status
if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {

// Muster zur Überprüfung der im Dateinamen
// enthaltenen Zeichen (Optional)
$regExp = "/^[a-z_]([a-z0-9_-]*\.?[a-z0-9_-])*\.[a-z]{3,4}$/i";

// Dateiname und Dateigrösse
if (preg_match($regExp,$_FILES["datei"]["name"]) && $_FILES["datei"]["size"] > 0 && $_FILES["datei"]["size"] < 100000) {

// Temporäre Datei in das Zielverzeichnis
// des Servers verschieben.
move_uploaded_file($_FILES["datei"]["tmp_name"],"shots/".$_FILES["datei"]["name"]);

// Redirect zur Erfolgs-Meldung
header("Location: status.html");
}
else {
echo "Fehler: Im Dateinamen oder Dateigrössen Limit!";
}
}
else {
echo "Fehler: Während der Übertragung aufgetreten!";
}
}
else {
echo "Fehler: Dateiupload fehlgeschlagen!";
}

?>
</body>
</html>

Beispiel - status.html

<html>
<head>
<title>Dateiupload - Erfolgreich</title>
</head>
<body>
<p><font face="Arial, Helvetica, sans-serif" size="6">Upload: Erfolgreich</font></p>
<p><font face="Arial, Helvetica, sans-serif"><a href="up_form.html">[Zum Dateiupload]</a></font></p>
</body>
</html>

Eine sicher Funktion für Kopiervorgänge ist die Funktion move_uploaded_file(). Diese Funktion prüft, ob die angegebene Datei tatsächlich eine Uploaddatei ist und verschiebt diese in das Zielverzeichnis. Dies können Sie der Codezeile aus dem Skript entnehmen:

move_uploaded_file($_FILES["datei"]["tmp_name"],"shots/".$_FILES["datei"]["name"]);

Mit dem erste Argument wird der Dateinamen der temporären Datei festgelegt und mit dem zweiten Argument legt man das Zielverzeichnis samt neuen Dateinamen fest. Im vorliegenden Fall entspricht der neue Dateiname, dem ursprünglichen Dateiname des Client-System.

Achtung: Die Funktion move_uploaded_file() ist lediglich für tatsächlich per Upload übertragene Dateien geeignet. Sollten Sie vorhaben eine Datei des Dateisystems zu verschieben, so müssen Sie auf die Funktion copy() zurückgreifen und anschliessend die Originaldatei entfernen.

Upload mehrerer Dateien

Das Auswählen mehrerer Dateien oder gar ganzer Verzeichnisse ist mit einem <input>-Feld nicht möglich. Auch das Vorgeben eines bestimmten Verzeichnisses oder vollständigen Pfades ist bei <input>-Feldern unterbunden und zwar aus Sicherheitsgründen!

Mehrere Dateien lassen sich beispielsweise, wie folgt übertragen:
. Mit Hilfe von mehreren file <input>-Feldern - pro Datei eines.
Tipp: Um dies zu tun empfehlen wir Ihnen, die gleiche Array-Sende-Syntax wie bei Auswahllisten mit Mehrfachauswahl und Checkboxen zu verwenden. Vergessen Sie nich die eckigen Klammen ([]) an den Namen des file <input>-Feldes anzuhängen, um in PHP ein Array mit den Dateiinformationen zu erhalten.
. In Form von einer .zip- oder .tar-Datei
. per FTP

Beispiel

<form action="upload.php" method="post" enctype="multipart/form-data">
  Dateien:<br>
  <input name="datei[]" type="file"><br>
  <input name="datei[]" type="file"><br>
  <input type="submit" value="Senden">
</form>

Wenn das obige Formular übermittelt ist, werden die Arrays $_FILES["datei"], $_FILES["datei"]["name"] und $_FILES["datei"]["size"] erzeugt.

Der Name der ersten und zweiten Datei findet sich in diesem Beispiel unter:
$_FILES["datei"]["name"][0] // Erste Datei
$_FILES["datei"]["name"][1] // Zweite Datei

Diese Indizierung gilt auch für alle weiteren Dateiinformationen, wie $_FILES["datei"]["tmp_name"][0], $_FILES["datei"]["size"][0], $_FILES["datei"]["type"][0] und $_FILES["datei"]["error"][0].

Hier ein Beispiel - zur Realisierung werden eine HTML-Datei, ein PHP-Skript und ein Verzeichnis benötigt.
. HTML-Datei (Bezeichnung: up_form.html)
. PHP-Skript (Bezeichnung: uploadmult.php)
. Verzeichnis (Bezeichnung: shots)

HTML-Datei (up_form.html)

<html>
<head>
<title>Dateiupload</title>
</head>
<body>
<p><font face="Arial, Helvetica, sans-serif" size="6">Dateiupload via HTML </font></p>
<form action="uploadmult.php" method="post" enctype="multipart/form-data">
   Dateien:<br>
   <input type="hidden" name="MAX_FILE_SIZE" value="100000">
   <input name="datei[]" type="file" maxlength="100000"><br>
   <input name="datei[]" type="file" maxlength="100000"><br>
   <input name="datei[]" type="file" maxlength="100000"><br>
   <input type="submit" value="Senden">
</form>
</body>
</html>

PHP-Skript (uploadmult.php)

<?

// Prüfen des Array $_FILES
if (isset($_FILES["datei"]))
{
   foreach ($_FILES["datei"] as $ids=>$dateieninfos)
   {
      if ($ids == "name")
      {
         foreach ($dateieninfos as $id=>$info)
         {
            // Upload-Status
            if ($_FILES["datei"]["error"][$id] == UPLOAD_ERR_OK)
            {
               // Muster zur Überprüfung der im Dateinamen
               // enthaltenen Zeichen (Optional)
               $regExp = "/^[a-z_]([a-z0-9_-]*\.?[a-z0-9_-])*\.[a-z]{3,4}$/i";

               // Dateiname und Dateigrösse
               if (preg_match($regExp,$_FILES["datei"]["name"][$id]) && $_FILES["datei"]["size"][$id] > 0 && $_FILES["datei"]["size"][$id] < 100000)
               {
                  // Temporäre Datei in das Zielverzeichnis
                  // des Servers verschieben.
                  move_uploaded_file($_FILES["datei"]["tmp_name"][$id],"shots/".$_FILES["datei"]["name"][$id]);

                  // Erfolgs-Meldung
                  echo "<b>Datei " . $_FILES["datei"]["name"][$id] . "</b> - Erfolgreich angelegt!<br>\n";
               }
               else
               {
                  echo  "<b>Fehler bei " . $_FILES["datei"]["name"][$id] . "</b> - Im Dateinamen oder Dateigrössen Limit!<br>\n";
               }
            }
            else
            {
               echo  "<b>Fehler bei " . $_FILES["datei"]["name"][$id] . "</b> - Während der Übertragung aufgetreten!<br>\n";
            }
         }
      }
   }
}
else
{
echo "<b>Fehler</b> - Dateiupload fehlgeschlagen!";
}

?>
<a href="up_form.html">Weitere Dateienuploaden</a>

Nützliche Verzeichnisoperationen

PHP und OOP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Was sind Objekte?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Was sind Objekte?

Nun, einige werden sich sicher spätestens jetzt die Frage stellen, was eigentlich ist ein Objekt? Ein Objekt kann praktisch alles sein. Sie sollten hierfür ein Beispiel aus der Praxis nehmen. Jeder hat sicherlich schon einmal einen Apfel in den Händen gehalten. Ein Apfel ist eine Frucht! Betrachten Sie das Ganze nunmehr jedoch einmal nicht aus der Sichtweise der Biologie, so ist ein Apfel ein Objekt oder umgangssprachlich ein Gegenstand.

Ein Rechner ist auch ein Objekt

Wie definiert sich ein solches Objekt oder in unserem Fall der Apfel - natürlich durch dessen Merkmale , z.B., durch die Grösse, Form, Farbe usw.. Es gilt jedoch zu berücksichtigen, dass ein Objekt natürlich auch zusätzlich eine oder mehrere Funktionen bzw. Verhaltensweisen haben kann, wie , z.B., ein Hammer, mit dem man einen Nagel in ein Brett schlägt.

Der Prozessor erfüllt ebenfalls eine Funktion

Objekte können sogar abstrakte Dinge repräsentieren wie Finanzen oder Statistiken, und sie können Dinge darstellen, die nur in der digitalen Welt vorkommen, wie etwa die Tastaturbelegung oder Schaltflächen.

Wenn Sie also jemanden bitten zu beschreiben was ein Objekt ist, wird die Antwort sein: "Das kommt darauf an.". Aus diesem Grund haben virtuelle Objekte, genau wie reale Objekte, Merkmale und Verhaltensweisen, die Sie definieren können und die alles über das Objekt aussagen. Da Sie es in PHP mit einer virtuellen Entwicklungsumgebung zu tun haben, können Sie diese Informationen nicht Merkmale und Verhaltensweisen nennen. Es stehen auch hierfür wieder einmal neue Fachbegriffe zur Verfügung. Das Merkmal eines Objekts wird in der Programmierung als Eigenschaft oder Attribut bezeichnet und die Verhaltensweise eines Objekts als Methode. Diese beiden Begriffe haben Sie bereits an einigen Stellen dieses Buches vorgefunden.

Hinweis: Sie werden feststellen, dass die Verwendung dieser Fachbegriffe meist nie so eng gesehen wird, also wenn Sie wollen, können Sie auch die Begriffe Merkmale und Verhaltenweise verwenden. Jeder Programmierer, der sich mit diesem Thema in Ansätzen auseinander gesetzt hat, wird Sie dennoch verstehen und wissen, was Sie meinen.

Hier einige Begriffe die im Zusammenhang mit Objekten bzw. OOP verwendet werden.

Begriff | Bedeutung
Objekt | In der realen Welt ist jeder Gegenstand ein Objekt. Jedes Objekt der realen Welt kann in PHP modelliert werden. Denken Sie dabei an Substantive.
Attribut | Oft auch als Eigenschaft bezeichnet, ist ein Attribut eine begriffliche Beschreibung eines Objekts. Stellen Sie sich dabei Adjektive vor.
Methode | Auch als Verhalten bezeichnet, ist eine Aktion, die ein bestimmtes Objekt ausführen kann. Denken Sie dabei an Verben.

Wer von Ihnen in der weiter oben aufgeführten Tabelle Begriffe wie Klassen oder Vererbung vermisst, sollte nicht gleich mit dem Schlimmsten rechnen, diese werden weiter unten im Kapitel behandelt. Zu diesem Zeitpunkt wäre es jedoch etwas voreilig Begriffe anzugeben, die die meisten eher aus der Schulzeit oder aus ihrem Privatleben kennen.

Aufbau eines Objekts

Um Ihnen eine weitere Möglichkeit zu bieten, den Zusammenhang von Objekten und ihren Eigenschaften und Methoden zu verstehen, sollten Sie sich folgende unverfängliche Regel zu eigen machen. Es ist hilfreich, Objekte als Substantive, Eigenschaften als Adjektive und Methoden als Verben zu bezeichnen. Die folgende Tabelle stellt diese Zusammenhänge dar. Hierbei werden einige Objekte definiert. Sie sollten sich die Darstellung genau betrachten, da Sie sicher auch im Laufe der Entwicklung Ihre eigenen Objekte definieren werden.

Objekt | Eigenschaft | Methode
Kugel | silber gross rund ... | bewegen stoppen werfen sinken ...
Spinne | grau klein pelzig ... | spinnen krabbeln fressen ...
Katze | Schwarz Siamkatze Pelzig ... | springen rennen kratzen schnurren ...
Kunde | Timo Mustermann Berlin ... | Bestellung aufgeben Anschrift ändern ...

Nun, da Sie wissen wie Objekte definiert werden, wissen Sie,
. was das Objekt ist (seinen Name),
. wie es ist (seine Eigenschaften),
. was es kann (seine Methoden).

In der Programmierung geht man genau von diesen grundlegenden Eigenschaften und Methoden aus. Die Kunst dabei ist nicht das Erzeugen von Objekten oder die Definition von Eigenschaften oder Methoden, sondern die Frage zu klären, welche Eigenschaften bzw. Methoden ein Objekt letztendlich haben soll!

Um es noch einmal zu sagen, es gibt keinen Beschluss oder ein Gesetz, das besagt, dass Sie Ihre eigenen Objekte erstellen müssen, oder falls Sie es tun, auf welche Weise Sie diese erstellen müssen. Sie sollten es so sehen:

Menschen gehen Probleme verschieden an, und jedes Objekt, das Ihnen hilft, Ihr Problem zu lösen, ist genau richtig!

Sie sollten sich hierbei von niemandem etwas Anderes einreden lassen. Sie müssen lediglich wissen, dass PHP Ihnen die Möglichkeit gibt, Ihre eigenen Objekte zu erzeugen, wenn Sie das möchten!

PHP und OOP

Objektorientierte Programmierung (OOP)

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Objektorientierte Programmierung (OOP)

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Objektorientierte Programmierung (OOP)

Nun, da Sie die Objekte besser kennen gelernt haben, sollten Sie sich etwas Zeit für die Grundlagen nehmen. Einige von Ihnen werden sich fragen, wer oder was ist OOP und wozu brauche ich es ausgerechnet in einer PHP-Webanwendung. In diesem Abschnitt sollen Ihnen die Prinzipien näher gebracht werden. Wir versuchen dabei etwas Licht ins Dunkel zu bringen und Ihnen einen Weg aufzuzeigen, um OOP besser zu verstehen.

Es soll Ihnen gezeigt werden, wie weit man mit Planung und Strukturierung bei der Umsetzung von Programmabläufe kommen kann. Unser Augenmerk richtet sich hierbei auf die Möglichkeit, die Prinzipien der objektorientierten Programmierung einzubringen und die Philosophie, die hinter OOP steckt, zu enträtseln, so dass OOP kein Buch mit sieben Siegeln mehr ist und die Umsetzungen einer Idee gezielt ermöglicht wird. Es wurde bereits einiges zum Thema OOP veröffentlicht und dennoch scheint OOP für einige ein Mysterium zu bleiben. Die Literatur handelt das Thema oft theoretisch ab und versucht kaum, einen Bezug zur Realität zu knüpfen und damit das Verständnis von OOP zu fördern.

Der nächste Schritt ist zu erkennen, dass OOP nicht als Regelwerk betrachtet werden sollte. OOP lässt sich nicht mit einigen Regeln erläutern, so dass wir einfach mal nachschlagen um zu erfahren, was OOP eigentlich bedeutet und von nun an OOP einsetzen können. Daher soll dies auch keine absolute und einzigartige Anleitung mit Gesetzten und Verboten sein, wie, wann und wo man OOP einsetzt. Vielmehr soll Ihnen dieser Abschnitt zeigen, dass OOP nichts Weltfremdes ist, sondern im täglichem Alltag auch wirklich gelebt wird, und wie man diese Prinzipien in die Projektplanung umsetzen kann.

Vorab sollten wir einige Überlegungen anstellen und uns eines klar machen: Es geht weder um PHP, noch um eine andere Programmiersprache im eigentlichen Sinn. Die Ideen, auf denen die objektorientierte Programmierung basiert, kommen nicht aus einer Programmiersprache, sie sind entnommen aus der Evolution des Lebens. Insofern ist es wichtig, die grundlegenden Prinzipien losgelöst von der Idee des Programmiercodes zu verstehen.

OOP wurde entdeckt! Es geht dabei um die Auslegung eines gedanklichen Konzepts, eines Plans. Der Prozess des Begreifens erfordert etwas Zeit und Geduld, aber einmal verinnerlicht, öffnet er schließlich das Tor zu einer anderen Sichtweise der Dinge. Sie stellen sicherlich fest, dass dies so gar nicht rational und logisch klingt. Dies muss es auch nicht, denn wer Ideen umsetzen möchte, muss auch in der Lage sein solche auszuarbeiten. Der Fantasie sollten dabei keine Grenzen gesetzt werden!

In erster Linie setzt sich OOP mit der Problemslösung auseinander und damit, wie diese effizient, flexibel und simpel realisiert werden können; der formale Ausdruck dafür lautet objektorientierte Analyse und Design, kurz OOA/OOD. Es gilt hierbei zu berücksichtigen, dass es eine Vielzahl von Ansätzen gibt, um ein Problem zu lösen. Aber den Ansatz, der den grössten Sinn ergibt, soll Ihnen hier anhand eines kurzen Fallbeispiels erläutert werden.
. Beginnen Sie mit dem Problem, das Sie lösen wollen, und beschreiben Sie es detailliert. Es ist wichtig, sich gut damit auseinander zu setzen.
. Nachdem Sie herausgefunden haben, was Sie erreichen möchten, zerlegen Sie das Ganze in seine Bestandteile, d.h., in mehrere einzelne Fallbeschreibungen, und beschreiben diese so detailliert wie möglich. Denn ein grosses Problem auf einmal lösen zu wollen ist meist unmöglich oder sehr zeitaufwendig. Sie werden sehen, der Zeitaufwand, sich um die Lösung einzelner Teilproblem zu kümmern, ist wesentlich einfacher.
. Schauen Sie sich Ihre Beschreibungen an und picken Sie sich alle Substantive heraus. Schreiben Sie diese Substantive in eine Spalte. Diese Substantive sind der erste Schritt zur Definition Ihres Lösungsmodells.
. Schauen Sie sich anschließend die dazugehörenden Adjektive und Verben an, und schreiben Sie sie zu den entsprechenden Substantiven. Hier statten Sie Ihr Lösungsmodell mit Eigenschaften und Methoden aus.
. Sehen Sie sich die Fallbeschreibungen noch einmal an, um sicherzugehen, dass Sie nicht zu allgemein waren und etwas vergessen haben.

Anschließend können Sie mit der Umsetzung (Abstraktion) des Problems beginnen. Der Vorteil dieser Herangehensweise liegt darin, zur Umsetzung nahezu jede Entwicklungsumgebung nutzen zu können, in Ihrem Fall PHP.

Diese Herangehensweise hat sich in den letzten Jahrzehnten durchgesetzt. Das heisst jedoch nicht, dass Sie bei der Analyse nur so vorgehen können. Es würde jedoch den Umfang des Buchs sprengen, alle möglichen Wege zu beschreiben, da es theoretisch eine unendliche Anzahl von Ansätzen gibt, dies zu tun.

Hinweis: Dieser Abschnitt erhebt nicht den Anspruch, eine vollständige Anleitung über objektorientierte Analyse und Design zu sein. Denn schließlich haben Sie dieses Buch gekauft, um mehr über PHP zu erfahren und nicht, um einen Abschluss in Informatik zu machen. Trotzdem können Ihnen diese grundlegenden Schritte bei der Umsetzung von Problemen, bzw. Ideen, behilflich sein.

Was sind Objekte?

Wie programmieren Sie objektorientiert?

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Wie programmieren Sie objektorientiert?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Wie programmieren Sie objektorientiert?

1. Sie definieren Klassen
2. Sie erzeugen daraus Objekte
3. Sie kombiniere die Objekte zu einem größeren Objekt, dem Programm

Objektorientierte Programmierung ist die Modellierung von Objekten, die aus vielen kleineren Objekten bestehen.

Was sind Klassen

Eine wesentliche Frage müssen wir uns stellen, nämlich was sind Klassen? Wenn es darum geht zu verstehen, was die objektorientierte Programmierung ausmacht, wird man sich um die Beantwortung dieser Frage nicht drücken können. Klassen stellen dabei eine Beschreibung von Objekten dar, man könnte Sie auch als Bauplan der Objekte bezeichnen. Der Begriff stammt übrigens aus Programmiersprachen wie C++ oder Java.

Hinweis: Eine Klasse ist ein Gruppe von Objekten mit gemeinsamen Merkmalen, das können sowohl Eigenschaften, als auch Methoden sein.

Fallbeispiel

Wie schaut es aus, wenn Sie den Entschluss fassen, eine ganze Bibliothek von mehreren hundert Büchern vorzustellen. Es verfügen alle Buch-Objekte über die gleichen Eigenschaften und Methoden, lediglich die Eigenschaftswerte sind von Buch-Objekt zu Buch-Objekt verschieden.

Genau hier setzt die Idee der Klassen an. Statt die Eigenschaften und Methoden der Objekte für jedes Objekt einzeln zu definieren, legt man die Eigenschaften und Methoden in einer gemeinsamen Klassendefinition fest. In eine Klasse Buch würden Sie die Eigenschaften titel, kategorie, autor, seitenzahl, artikelNr und preis sowie die Methode ausgeben() definieren. Die einzelnen Objekte erstellen als Objekte der Klasse Buch. Der Vorteil besteht darin, dass jedes auf diese Weise erzeugte Objekt automatisch über die Eigenschaften und Methoden verfügt, die in der Klasse Buch enthalten sind. Die Klasse Buch wirkt dabei, wie das Grundmodell eines Buchs, sie stellt somit eine Art Vorlage dar.

Objektorientierte Programmierung (OOP)

Wesentliche Konzepte der OOP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Wesentliche Konzepte der OOP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Wesentliche Konzepte der OOP

Die wesentlichen Konzepte der OOP sind:
. Kapselung
. Vererbung
. Polymorphie

Als Kapselung wird die Kombination von Daten und Methoden (Funktionen) innerhalb eines einheitlichen und vor dem Zugriff von aussen geschützten Datenstruktur bezeichnet.

Das Konzept der Vererbung bedeutet, dass Klassen bei ihrer Definition in eine Klassenhierarchie eingegliedert werden, wobei jede Kindklasse den gesamten Code und alle Daten der Elternklasse übernimmt.

Polymorphie bedeutet, dass eine Funktion eine einzige Bezeichnung erhält, die in der gesamten Objekthierarchie Verwendung findet, die Funktion selbst aber von jeder Klasse innerhalb der Hierarchie auf unterschiedliche Weise implementiert wird. Dabei werden Returntype und Parametertypen der Methode als Bestandteile des Funktionsnamen betrachtet, sodass ein und dieselbe Funktion, z.B. einmal mit Integer-Parametern und ein anderes Mal mit Array-Parametern aufgerufen werden kann.

In diesem strengen Sinne unterstützt PHP keine Polymorphie, da in PHP Return- und Parametertypen einer Funktion gar nicht deklariert werden.

Wie programmieren Sie objektorientiert?

Zusammenfassung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zusammenfassung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zusammenfassung

Die objektorientierte Programmierung, die sich stark daran anlehnt, wie wir im Alltag Probleme lössen, stellt die Daten und die mit diesen möglichen Operationen in den Mittelpunkt der Betrachtung.

Durch das Modellieren von Objekten, die die Realität abbilden sollen, und durch deren Abstraktion entstehen die Klassen als abstrakte Objekt-Beschreibungen (Vorlagen).

Das wesentlichste Merkmal der OOP ist die Möglichkeit, Eigenschaften und Methoden einer Klasse an eine andere Klasse zu vererben.

Wie Sie bereits erfahren haben, bezeichnet eine Klasse die Sammlung aller Eigenschaften und Methoden der Objekte einer Klasse. Die Klasse bezeichnet somit eine abstrakte Darstellung eines tatsächlichen Objekts.

Superklassen entstehen durch die Abstraktion ähnlicher Verhaltensweisen von Subklassen. In vielen Fällen werden hier auch die Begriffe Ober- und Unterklassen bzw. Eltern- und Kindklasse verwendet.

Dabei werden in der abgeleiteten Klasse Daten und Funktionen aus der Superklasse übernommen. Ein Objekt der Subklasse enthält ein Objekt der Superklasse. Weitere Daten und Funktionen können beliebig hinzugefügt werden.

Zusätzlich dürfen Funktionen aus der Superklasse in der Subklasse neu definiert werden und überschreiben dann die ursprüngliche Version.

Es folgt eine Auflistung der wichtigsten OOP-Begriffe.

Begriffe | Bedeutung
Klasse Vorlage Template Bauplan | Eine Vorlage für ein Objekt. Diese beinhaltet Variablen, um die Eigenschaften des Objekts zu beschreiben, und Methoden, um festzulegen, wie sich das Objekt verhält. Klassen können von anderen Klassen Variablen und Methoden erben.
Subklasse Unterklasse Kindklasse | Eine Klasse, die sich in der Klassenhierarchie weiter unten befindet als eine andere Klasse, ihre Superklasse.
Superklasse Oberklasse Elternklasse | Eine Klasse, die sich in der Klassenhierarchie weiter oben befindet als eine oder mehrere andere Klassen. Eine Klasse kann nur eine Superklasse direkt über sich haben.
Objekt Instanz Abbildung | Eine Instanz einer Klasse. Ermöglichen die Verwendung von Eigenschaften und Methoden einer Klasse.
Eigenschaft Merkmal | Ermöglichen das anlegen und auslesen von Daten (Werten, Inhalte), die sich auf ein bestimmtes Objekt einer Klasse beziehen.
Methode Fähigkeiten Prozeduren | Eine Gruppe von Anweisungen in einer Klasse, die definieren wie sich die Objekte dieser Klasse verhalten.
Klassenvariable | Eine Variable die ein Attribut einer ganzen Klassen anstatt einer bestimmten Instanz einer Klasse beschreibt.
Instanzvariable | Eine Variable, die ein Attribut einer Instanz einer Klasse beschreibt.

Wesentliche Konzepte der OOP

PHP vs OOP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP vs OOP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP vs OOP

Ursprünglich war PHP keine objektorientierte Sprache. In der weiteren Entwicklung tauchten dann immer mehr objektorientierte Eigenschaften auf. Als Erstes liesen sich Klassen definieren, aber es gab noch keine Konstruktoren. Dann erschienen die Konstruktoren, aber es gab noch keine Destruktoren. Als immer mehr Entwickler begannen, an die Grenzen der PHP-Syntax zu stossen, wurden dann allmählich weitere Möglichkeiten hinzugefügt, um dem Bedarf gerecht zu werden.

Hinweis: Sollten Sie zu denen gehören, die sich mit PHP eine "echte" objektorientierte Sprache wünschen, werden Sie vermutlich enttäuscht sein. Im Kern ist PHP eine prozedurale Sprache. Es ist halt kein C++ oder Java! Sollten sie jedoch nur einfach einige OO-Möglichkeiten im Code anwenden wollen, ist PHP vermutlich genau das Richtige für Sie.

Zusammenfassung

Klassen in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenbehandlung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenbehandlung

Im folgenden Abschnitt finden sich Optionen zur Steuerung von Einzelheiten der Verarbeitung von ankommenden Daten aus GET/POST und COOKIE-Request sowie der Behandlung von Sonderzeichensymbolen.

Zwei für das Verhalten von PHP wichtige Einstellungen aus dieser Gruppe betreffen die Schalter magic_quotes_gpc und magic_quotes_runtime.

Mit magic_quotes_gpc wird festgelegt, ob PHP mit Zeichenfolgen, die es aus Formularen mittels GET/POST oder über Cookies erhält, ein automatisches Escaping von String-terminierenden Sonderzeichen durchführt oder nicht. Dies wird wichtig, wenn Zeichenfolgen in Datenbank-Felder geschrieben oder aus Datenbankfeldern gelesen werden sollen.
Wenn Sie beispielsweise die Zeichenfolge "PHP's Entwicklerteam" ohne weitere Sonderbehandlung einem MySQL-Datenbankfeld übergeben, interpretiert MySQL das Sonderzeichen ' als Ende des übergebenden Strings und die nachfolgenden Zeichen als fehlerhafte SQL-Kommandos, was in Folge zu einem Laufzeitfehler führt.
Um dies zu vermeiden, müssen Zeichenfolgen, die Sonderzeichen enthalten, die als normale Zeichen behandelt werden sollen, in der Form bereinigt werden, dass vor das entsprechende Sonderzeichen ein Backslash (\) gesetzt wird. Dieser Vorgang wird auch als Escaping bezeichnet. Hierzu steht in PHP die Funktion addslashes() zur Verfügung.
Wurde nun der Schalter magic_quotes_gpc auf ON gesetzt, wird das manuelle Escaping überflüssig, da dies dann von PHP automatisch übernommen wird.
Der Schalter magic_quotes_runtime betrifft dasselbe Thema, mit dem Unterschied, dass es dabei um das automatische Escaping von Daten geht, die aus externen Datenquellen, z.B. Dateien oder Datenbanken gelesen werden.

Option | Bedeutung
gpc_order = "GPC " | Reihenfolge der Auswertung von GET/POST/COOKIE-Requests. Die Standardeinstellung, POST-Variablen haben Vorrang vor GET-Variablen, COOKIE-Variablen haben Vorrang vor POST- und GET-Variablen.
gpc_globals = On | Falls aktiviert, können GET/POST/COOKIE-Variablen global verwendet werden. Wenn die Option deaktiviert ist (Off) kann auf GPC-Variablen über die Umgebungsvariablen $HTTP_GET_VARS[], $HTTP_POST_VARS[] und $HTTP_COOKIE_VARS[] zugegriffen werden, falls die nachstehende Option track_vars aktiviert ist.
track_vars = On | Falls aktiviert, werden die Umgebungsvariablen $HTTP_GET_VARS[], $HTTP_POST_VARS[] und $HTTP_COOKIE_VARS[] verwendet.
magic_quotes_gpc = On | Falls aktiviert, werden ankommende Daten aus GET/POST/COOKIE-Requests mit einem Backslash (\) versehen.
magic_quotes_runtime = Off | Wie oben, jedoch für Daten, die zur Laufzeit aus externen Datenquellen generiert werden, beispielsweise aus Datenbanken und Dateien.
magic_quotes_sybase = Off | Falls aktiviert, werden Sonderzeichensymbole im Sybase-Stil, einfache Anführungszeichen (') anstatt doppelten Anführungszeichen (") verwendet.
auto_prepend_file = | php3- oder HTML-Datei, die automatisch vor dem auszuführenden PHP-Skript hinzugefügt wird.
auto_append_file = | php3- oder HTML-Datei, die automatisch vor dem auszuführenden PHP-Skript angefügt wird.

Fehlerbehandlung und Protokollierung

Pfade und Verzeichnisse

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Klassen in PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Klassen in PHP

Der Weg zur objektorientierten Programmierung in PHP führt über das Schlüsselwort class. Mit Hilfe von class sind Sie in der Lage Klassen zu erzeugen, und aus diesen später Instanzen abzuleiten, mit denen sie arbeiten werden.

Das Schemata einer Klassendefinition stellt sich, wie folgt dar:

// Klasse
class classname
{
var $a; // Eigenschaft1
var $b; // Eigenschaft2
...

// Konstruktor
function classname() {
$this->a = wert_a;
...
}

// Methode
function funkname() {
$this->b = wert_b;
...
}
...
}

Fallbeispiel - Warenkorb

<pre>
<?php
// Klasse (ohne Konstruktor)
class warenkorb
{
    var $artikel;
    var $stueckzahl;

    function anzahlErhoehen($artnr, $stueck) {
        $this->stueckzahl[$artnr] += $stueck;
    }

    function eintragen($artnr, $name) {
        $this->artikel[$artnr] = $name;
        $this->stueckzahl[$artnr] = 1;
    }
}

// Objekt erzeugen
$meinWarenkorb = new warenkorb;

// Produkte in den Warenkorb legen
$meinWarenkorb->eintragen("1001","Skibrille");
$meinWarenkorb->eintragen("1002","Socken");

// Anzahl bestimmter Produkte erhöhen
$meinWarenkorb->anzahlErhoehen("1002",10);

// Ausgabe
echo "Vom Artikel " . $meinWarenkorb->artikel["1001"];
echo " sind " . $meinWarenkorb->stueckzahl["1001"] . " Stück enthalten.<br>";
echo "Vom Artikel " . $meinWarenkorb->artikel["1002"];
echo " sind " . $meinWarenkorb->stueckzahl["1002"] . " Stück enthalten.<br>";

echo "<p>";

// Ausgabe der Struktur des Objekts
print_r($meinWarenkorb);
?>
</pre>

Ausgabe

Vom Artikel Skibrille sind 1 Stück enthalten.
Vom Artikel Socken sind 11 Stück enthalten.
warenkorb Object
(
    [artikel] => Array
        (
            [1001] => Skibrille
            [1002] => Socken
        )

    [stueckzahl] => Array
        (
            [1001] => 1
            [1002] => 11
        )

)

Das Beispiel zeigt einige wesentliche Prinzipien im Umgang mit einer einfachen Klasse. Sie sollten sich mit den einzelnen Punkten des Beispiels vertraut machen.

Einsatz von class

Die Klassendefinition wird mit dem Schlüsselwort class eingeleitet und im vorliegenden Fallbeispiel um den Klassennamen warenkorb erweitert:

class warenkorb

Die gesamte Klasse ist mit geschweiften Klammern umgeben.

Einsatz von this

Um innerhalb der Klasse auf sich selbst verweisen zu können, wir das Schlüsselwort this eingesetzt. Beachten Sie die Schreibweise beim Zugriff auf die Variable der Klasse, diese können die Eigenschaften der Instanz bilden.

$this->stueckzahl[$artnr] += $stueck;

Das $-Zeichen steht vor this, anschliessend wird der Verweis mit dem speziellen Operator -> gebildet. Achten Sie stets darauf, die korrekte Syntax zu verwenden. Es ist ein beliebter Fehler, etwa this->$var oder gar $this->$var zu schreiben. Problematisch ist, dass PHP dies nicht immer mit einer Fehlermeldung quittiert, sondern oft wird das Skript einfach weiter verarbeitet.

Einsatz von var

Mit Hilfe des Schlüsselwort var werden Variablen im Objekt angelegt, diese ergeben wiederum die Eigenschaften des Objekts.

var $artikel;
var $stueckzahl;

Die Namen sind in dieser Klasse lokal. Abgesehen von der Verwendung in den Methoden können sie auch als Eigenschaften dienen.

Es schliessen sich zwei Methoden ans, die als normale Funktion definiert werden. Wird auf die Klasse selbst zugegriffen, dient das Schlüsselwort this als Indikator.

Einsatz von new

Auch der Einsatz der Klasse unterscheidet sich von der normaler Funktionen. Um die Klasse nutzen zu können, muss zuerst eine Instanz der Klasse gebildet werden:

$meinWarenkorb = new warenkorb;

Die Variable $meinWarenkorb ist nun ein Objekt. Die eigentliche Instanzierung nimmt das Schlüsselwort new vor, der Parameter ist der Name einer zuvor definierten Klasse.

Nutzen des Objekts der Klasse

Vor Ihrem geistigen Auge können Sie die in der Klassendefinition verwendeten this-Schlüsselwörter durch den Namen des Objekts ersetzen.

$meinWarenkorb->eintragen("1001","Skibrille");

Diese Zeile enspricht dem Aufruf der Methode eintragen(). Die gleiche Syntax wird auch verwendet, um die Eigenschaften des Objekts abzufragen:

$meinWarenkorb->artikel["1001"];

Sollte Ihnen diese Form schwer lesbar erscheinen, denken Sie daran, dass es sich bei $meinWarenkorb tatsächlich um eine reguläre Variable handelt. Diese Variable enthält ein Objekt, auf dessen Bestandteile Sie mit Hilfe des Operator -> verweisen. Alles was hinter dem Namen des Bestandteils steht, ist von dessen Konstruktion abhängig und unterscheidet sich nicht von der herkömmlichen Syntax.

PHP vs OOP

Vererbung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vererbung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vererbung

Mit PHP sind Sie auch in der Lage eine einfache Vererbung von Klassen vorzunehmen. Angenommen, Sie möchten in einer anderen Webanwendung die Klasse warenkorb verwenden, jedoch weitere Methoden und Eigenschaften hinzufügen. Es ist ein Grundgedanke der objektorientierten Programmierung, sich die bereits vorhandenen Klassen zunutzen zu machen. Sie können in Ihrem Code also leicht Klassen erstellen, die lediglich erweitert werden, anstatt diese neu anzulegen.

Das Schemata der Klassenvererbung stellt sich, wie folgt dar:

// Klasse 1
class classname1
{
var $a;
...
}

// Erweiterte Klasse 2 - erbt von Klasse 1

class classname2 extends classname1
{
var $b;
...
}

Einsatz von extends

Abgeleitete Klassen werden mit Hilfe des Schlüsselwort extends erzeugt. Der folgende Code erweitert das bereits gezeigte Fallbeispiel um eine Methode atikelEntfernen():

class ext_warenkorb extends warenkorb
{
    function artikelEntfernen($artnr) {
        unset($this->artikel[$artnr]);
        unset($this->stueckzahl[$artnr]);
    }
}

Sie können nun eine Instanz der erweiterten Klasse erzeugen, die sämtliche Eigenschaften der alten und neuen Klasse in sich vereint:

$meinWarenkorb = new ext_warenkorb;

Und die Funktion atikelEntfernen() einsetzen:

$meinWarenkorb->artikelEntfernen("1002");

Klassen in PHP

Konstruktoren und Destruktoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Konstruktoren und Destruktoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Konstruktoren und Destruktoren

Die bisherigen Darstellungen lassen vielleicht bei dem einen oder anderen den Verdacht aufkommen, dass die objektorientierte Programmierung sich für eine Vielzahl von Projekte eignet und die ist genau das was wir bezwecken, daher sind wir noch nicht am Ende. Es gilt weitere Bestandteile kennen zu lernen.

Oft werden Sie für ein Objekt einen bestimmten Anfangszustand benötigen. Es wäre eine Möglichkeit, als Erstes immer eine Methode init() aufzurufen, die sämtliche Variablen mit den nötigen Ausgangswerten versorgt. Die Meisten objektorientierten Sprachen bieten hierfür eine direkte Unterstützung an. Es gibt dort den Begriff des Konstruktors. Dies ist eine Methode, die immer beim Erzeugen einer Instanz aufgerufen wird. Entsprechend räumt der Destruktor beim Zerstören des Objekts wieder auf.

Einsatz von Destruktoren

Eine komplexe Speicherverwaltung wie in C++ kennt PHP nicht. Solche Prozesse laufen im Hintergrund automatisch ab. Einmal erzeugte Objekte haben ohnehin nur eine Lebensdauer innerhalb des Skripts, mit dem Sprung zum nächsten Skript werden sämtliche Speicherobjekte gelöscht. Der Aufwand einer Löschung des Speichers lohnt daher nicht. Entsprechend stehen in PHP auch keine Destruktoren zur Verfügung.

Einsatz von Konstruktoren

Im Gegensatz zu den Destruktoren, die in PHP nicht zur Verfügung stehen, können Sie sich aber einen Konstruktor erzeugen. Ein zusätzliches Schlüsselwort wird hierzu nicht benötigt, die Methode, die als Konstruktor dient, wird einfach wie die Klasse benannt. Die Klasse ext_warenkorb könnte also leicht um einen Konstruktor ext_warenkorb() erweitert werden, welcher dafür sorgt das beim Anlegen einer Instanz bereits ein Standardartikel angelegt wird.

class ext_warenkorb extends warenkorb
{
    function artikelEntfernen($artnr) {
        unset($this->artikel[$artnr]);
        unset($this->stueckzahl[$artnr]);
    }
    function ext_warenkorb() {
        $this->eintragen("0000","Katalog");
    }
}

Somit wird jeder Warenkorb mit dem aktuellen Katalog vordefiniert. An der Instanziierung der Klasse mit new ändert sich nichts. Konstruktoren unterscheiden sich auch sonst nicht von normalen Funktionen.

Besonderheit

Sollten Sie im Konstruktor einen Rückgabewert mit return definieren, wird dieser Wert beim Aufruf verloren gehen. Sie können jedoch die Konstruktormethode jederzeit explizit aufrufen:

echo $meinWarenkorb->ext_warenkorb();

Ebenso können der Methode Parameter übergeben werden. Betrachten Sie sich folgenden Beispiel:

<pre>
<?php
// Klasse
class person
{
    var $vorname;
    var $nachname;
    var $alter;

    // Konstruktor
    function person($vn, $nn, $alt) {
        $this->vorname = $vn;
        $this->nachname = $nn;
        $this->alter = $alt;
    }

    // Methode
    function datenAusgeben() {
        echo "Personendaten:<br>";
        foreach ($this as $key=>$element) {
            echo "$key $element<br>";
        }
    }
}

// Objekt erzeugen
$meineSchwester = new person("Caroline","Kannengiesser",25);

// Ausgabe der Struktur des Objekts
print_r($meineSchwester);

// Ausgabe der Personendaten
$meineSchwester->datenAusgeben();

?>
</pre>

Ausgabe

person Object
(
    [vorname] => Caroline
    [nachname] => Kannengiesser
    [alter] => 25
)
Personendaten:
vorname Caroline
nachname Kannengiesser
alter 25

Wie Sie sehen ist die Übergabe von Parametern an den Konstruktor ohne weiteres möglich.

Vererbung

Vertiefung der OOP-Techniken

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vertiefung der OOP-Techniken

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vertiefung der OOP-Techniken

In diesem Abschnitt wollen, wir Ihre Kenntnisse mit Hilfe der Grafikbibliothek GD vertiefen, so dass Sie ohne weiteres mit der Entwicklung eigener OO-basierten Projekten beginnen können.

Hinweis: Sie erfahren mehr zur GD-Bibliothek weiter unten, im Abschnitt Dynamische Grafiken mit der GD-Bibliothek.

Klassen und Objekte

Im folgenden Beispiel wird als erstes eine Klasse welt definiert. Diese Klasse wurde als Basisklasse für die Anzeige von einfachen grafischen Objekten im Browser erzeugt.

Die Klasse setzt sich aus den benötigten Klassenvariablen und dem Konstruktor zusammen.
. $bild ist der Verweis auf das zu erzeugende Bild, welche die virtuelle Welt darstellt.
. $posx und $posy sind Variablen mit denen auf eine beliebige Koordinate x/y auf der welt verwiesen werden kann.
. $schwarz, $rot und $blau sind Variablen die zur Festlegung der jeweiligen Farbwerte dienen.

Der Konstruktor welt(), der denselben Namen trägt wie die Klasse, wird dazu verwendet, die Initialisierungen vorzunehmen.

Die Klassenvariablen für die jeweiligen Farbwerte werden mit Hilfe der GD-Funktion imageColorAllocate() festgelegt.

Header ("Content-type: image/gif");

class welt {
  var $bild;
  var $posx=0;
  var $posy=0;
  var $schwarz;
  var $rot;
  var $blau;

  function welt($img) {
    $this->bild = $img;
    $this->schwarz = imageColorAllocate($this->bild, 0,0,0);
    $this->weiss = imageColorAllocate($this->bild, 255, 255, 255);
    $this->rot = imageColorAllocate($this->bild, 255, 0, 0);
    $this->blau = imageColorAllocate($this->bild, 200, 200, 255);
    imagefill($this->bild, 10,10,$this->blau);
    }
}

Anschliessend wird die Objektinstanz erzeugt, wie Sie bereits wissen ist hierfür das Schlüsselwort new notwendig. Im Beispiel wird die Instanz den Namen $meineWelt erhalten, welche von der Klasse welt abgeleitet wird.

$einbild = imagecreate(300, 300);
$meineWelt  = new welt ($einbild);

Die GD-Funktion imagecreate() sorgt dafür, dass Ihnen ein Grundgerüst für Ihr Bild zur Verfügung steht.

Um das neue Objekt anzeigen zu können, muss nun noch die GD-Funktion imagejpeg() mit dem Verweis auf das erzeugte Bild als Parameter aufgerufen werden. Anschliessend sollten Sie noch das Bild, mit Hilfe der GD-Funktion imagedestroy(), aus dem Speicher entfernen.

imagejpeg($einbild);
imagedestroy($einbild);

Hinweis: Die GD-Funktionen haben mit dem eigentlich Thema nichts zu tun. Sie dienen lediglich der Visualisierung.

Sicher werden nun einige von Ihnen denken, dass hätten wir auch einfacher haben können. Natürlich, aber wir haben schliesslich noch mehr mit der Klasse vor. Nun wird es interessant, wie sieht es mit der Vererbung aus, lässt sich diese auch auf unsere Klasse welt anwenden.

Vererbung

Die Welt soll um einen virtuellen Kontinent erweitert werden, symbolisch durch ein Rechteck symbolisiert. Hierzu wird eine neue Klasse mit dem Namen kontinent definiert. An diese neue Klasse sollen sämtliche Eigenschaften der schon bestehenden Klasse welt vererbt werden.

class kontinent extends welt{
  function flaeche() {
    imagefilledrectangle($this->bild, $this->posx, $this->posy, $this->posx+200, $this->posy+200, $this->rot);
    }

  function erzeuge($newx,$newy) {
    $this->posx=$newx;
    $this->posy=$newy;
    $this->flaeche();
    }
}

Um ein Objekt der Klasse zu erzeugen muss lediglich folgende Codezeile angepasst werden:

$meineWelt  = new kontinent($einbild);

Anschliessend muss die Methode erzeuge() des Objekts $meineWelt aufgerufen werden.

$meineWelt->erzeuge(50,50);

Hinweis: Wenn Sie den Code der neuen Klasse kontinent aufmerksam betrachten, wird Ihnen auffallen, dass dieser keinen Konstruktor enthält. Dies ist auch nicht erforderlich, da in abgeleiteten Klassen die Konstruktoren der Elternklasse aufgerufen werden, falls die abgeleiteten Klassen selbst keine Konstruktoren besitzen. Dieses Feature steht seit PHP 4 zur Verfügung.

Überschreiben von Methoden
Nun da wir auch noch über einen Kontinent auf unserer virtuelle Welt verfügen, sollten wir hier und dort noch einige Lebewesen platzieren. Wir greifen auch in diesem Fall wieder auf die Vererbung zurück und definieren eine Klasse lebewesen und vererben dieser sämtliche Eigenschaften und Methoden der Klasse kontinent.

Die Klasse lebewesen soll eine zusätzliche Methode enthalten, die anhand eines ausgefüllten Kreises ein Lebewesen darstellt. An diesem Punkt stossen wir auf ein weiteres zentrales Konzept der objektorientierten Programmierung, das Überschreiben von Methoden.

Da wir mit der Methode erzeugen() bereits eine Methode zur Positionierung grafischer Objekte zur Verfügung haben, benötigen wir nur noch eine neue Methode flaeche(), die anstelle eines Rechtecks einen ausgefüllten Kreis erzeugt.

In der OOP-Terminologie nennt man den Vorgang, wenn eine in einer Elternklasse vorhandene Methode in einer Kindklasse neu definiert wird, eine Methode überschreiben, und genau das ist hier erforderlich. Die neue Methode flaeche() ist mit Hilfe der GD-Funktionen imagearc() und imagefilltoborder() schnell umgesetzt.

class lebewesen extends kontinent {
    function flaeche() {
    imagearc($this->bild, $this->posx, $this->posy, 50, 50, 0, 360, $this->schwarz);
    imagefilltoborder($this->bild, $this->posx, $this->posy, $this->schwarz, $this->schwarz);
    }
}

Wenn wir von der neuen Klasse lebewesen in der nun schon gewohnten Weise Instanzen, z.B. $lebewesen1 ableiten, sollte der Aufruf der Methode erzeugen() dieser Klasse, die lebewesen von kontinent geerbt hat, dazu führen, dass erzeugen() die in lebewesen überschriebene Methode flaeche() aufruft, die anstelle von Rechtecken Kreise darstellt.

$lebewesen1 = new lebewesen($einbild);
$lebewesen1->erzeuge(100,100);
$lebewesen2 = new lebewesen($einbild);
$lebewesen2->erzeuge(200,200);

Beispiel - vollständig

<?
Header ("Content-type: image/jpeg");

class welt {
  var $bild;
  var $posx=0;
  var $posy=0;
  var $schwarz;
  var $rot;
  var $blau;

  function welt($img) {
    $this->bild = $img;
    $this->schwarz = imageColorAllocate($this->bild, 0,0,0);
    $this->weiss = imageColorAllocate($this->bild, 255, 255, 255);
    $this->rot = imageColorAllocate($this->bild, 255, 0, 0);
    $this->blau = imageColorAllocate($this->bild, 200, 200, 255);
    imagefill($this->bild, 10,10,$this->blau);
    }
}

class kontinent extends welt{
  function flaeche() {
    imagefilledrectangle($this->bild, $this->posx, $this->posy, $this->posx+200, $this->posy+200, $this->rot);
    }

  function erzeuge($newx,$newy) {
    $this->posx=$newx;
    $this->posy=$newy;
    $this->flaeche();
    }
}

class lebewesen extends kontinent {
    function flaeche() {
    imagearc($this->bild, $this->posx, $this->posy, 50, 50, 0, 360, $this->schwarz);
    imagefilltoborder($this->bild, $this->posx, $this->posy, $this->schwarz, $this->schwarz);
    }
}

$einbild = imageCreate(300, 300);

$meineWelt  = new kontinent($einbild);
$meineWelt->erzeuge(50,50);

$lebewesen1 = new lebewesen($einbild);
$lebewesen1->erzeuge(100,100);
$lebewesen2 = new lebewesen($einbild);
$lebewesen2->erzeuge(200,200);

imagejpeg($einbild);
imagedestroy($einbild);
?>

Die anhand dieses Beispiels aufgezeigten OOP-Prinzipien sollten Sie sich gut einprägen, da diese Ihnen bei umfangreichen Projekten eine menge Arbeit ersparen können und Ihr Code wesentlich flexibler für Erweiterungen und Anpassungen wird.

Konstruktoren und Destruktoren

Verbesserungen des OOP-Konzepts in PHP4

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Verbesserungen des OOP-Konzepts in PHP4

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verbesserungen des OOP-Konzepts in PHP4

PHP 4 unterstützt die objektorientierte Programmierung wesentlich besser als PHP 3. PHP 5 geht sogar noch einige Schritte weiter, die Sie im Kapitel 7 kennen lernen werden. Seit PHP 4 können Klassenfunktionen von anderen Klassenfunktionen oder auch aus dem globalen Gültigkeitsbereich heraus aufgerufen werden.

Aufruf einer Klassenfunktion in PHP 4

INSTANZ::KLASSENFUNKTION();

Da es sich bei einem Konstruktor ebenfalls um eine Klassenfunktion handelt, kann eine Subklasse auch den Konstruktor einer Superklasse aufrufen.

Das folgende Beispiel zeigt, wie in der abgeleiteten Klasse Chipsaetze der Konstruktor der Elternklasse Chip aufgerufen wird. Beim Ableiten des Objekts $chipsatz von der Klasse Chipsatz werden somit, wie die Ausgabe demonstriert, die Konstruktoren der Elternklasse und der Kindklasse aufgerufen.

Beispiel

<?php
class Chip
{
    function Chip() {
        echo "Ich bin ein Chip.<br>";
    }
}
class Chipsaetze
{
    function Chipsaetze() {
        Chip::Chip();
        echo "Als Chipsatz können wir noch mehr!<br>";
    }
}
$chipsatz = new Chipsaetze;
?>

Ausgabe

Ich bin ein Chip.
Als Chipsatz können wir noch mehr!

Dass eine Klassenfunktion einer Klasse auch aus dem globalen Gültigkeitsbereich heraus aufgerufen werden kann, zeigt das nächste Beispiel.

Hier wird der Konstruktor der Klasse Chip zum ersten Mal beim Instanzieren der Klasse Chipsaetze und ein zweites Mal ausserhalb eines Klassendefinition, vom Hauptprogramm aus aufgerufen:

<?php
class Chip
{
    function Chip() {
        echo "Ich bin ein Chip.<br>";
    }
}
class Chipsaetze
{
    function Chipsaetze() {
        Chip::Chip();
        echo "Als Chipsatz können wir noch mehr!<br>";
    }
}
$chipsatz = new Chipsaetze;
Chip::Chip();
?>

Ausgabe

Ich bin ein Chip.
Als Chipsatz können wir noch mehr!
Ich bin ein Chip.

Ein weiteres Beispiel zeigt, wie das Überschreiben einer Funktion unter Verwendung der neuen Möglichkeiten effizienter durchgeführt werden kann.

Zunächst wird in der neu definierten Funktion der Kindklasse die entsprechende Funktion der Elternklasse aufgerufen und anschliessend ergänzt. Auf diese Weise kann noch verwendbarer Code der Elternklasse auch beim Überschreiben in der Kinderklasse genutzt werden, wo er lediglich ergänzt werden muss.

Beispiel

<?php
class Chip
{
    function Chip() {
        echo "Chip wurde produziert.<br>";
    }
    function produzieren($anzahl) {
        $anzahl++;
        return($anzahl);
    }
}
class Chipsaetze extends Chip
{
    function Chipsaetze() {
        Chip::Chip();
        echo "Chipsatz wurde produziert.<br>";
    }
    function produzieren($anzahl) {
        $anzahl = Chip::produzieren($anzahl);
        $anzahl = $anzahl*$anzahl;
        return($anzahl);
    }
}
$chip1 = new Chip;
echo $chip1->produzieren(100);
echo "<br>";
$chipsatz1 = new Chipsaetze;
echo $chipsatz1->produzieren(100);
?>

Ausgabe

Chip wurde produziert.
101
Chip wurde produziert.
Chipsatz wurde produziert.
10201

Vertiefung der OOP-Techniken

Metainformationen über Klassen und Objekte

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Metainformationen über Klassen und Objekte

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Metainformationen über Klassen und Objekte

Informationen, die man zur Laufzeit eines Skripts über eine Klasse oder eine von ihr abgeleitete Instanz erhalten kann, werden auch als Metainformationen bezeichnet.

Zu diesen Informationen zählen beispielsweise die Namen der Klasse von Objekten, die Namen sämtlicher Superklassen und Subklassen, sowie die Namen der Methoden einer Klasse.

In der folgenden Tabelle sind die seit PHP 4 zur Verfügung stehenden Funktionen zur Ermittlung der Metainformationen über Klassen und Objekte, aufgeführt.

Funktion | Bedeutung
get_class($object) | Ergibt den Namen der Klasse des Objekts.
get_parent_class($object) | Ergibt den Namen der übergeordneten Klasse des Objekts.
method_exists($object,method) | Prüft, ob eine Methode existiert.
class_exists(classname) | Ermittelt, ob die Klasse definiert wurde.
is_subclass_off($object,superclassname) | Prüft, ob ein Objekt zu einer Unterklasse gehört.
is_a($object,classname) | Prüft, ob ein Objekt zu einer Klasse oder deren Elternklasse gehört.
get_class_methods(classname) | Gibt ein Array mit den Namen der Methoden einer Klasse zurück.
get_declared_classes() | Gibt die Namen aller deklarierter Klassen in einem Array zurück. Zusätzlich zu den benutzerdefinierten Klassen werden drei interne Klassen ausgegeben: stdClass, OberloadedTestClass, Directory.
get_class_vars(classname) | Diese Funktion gibt in einem Array die Namen der Eigenschaften der Klasse zurück.
get_objects_vars($object) | Mit dieser Funktion ermitteln Sie die Eigenschaften eines Objekts, also die tatsächlich genutzten Variablen der zugrunde liegenden Klasse.

Einsatz von get_class(), get_parent_class() und get_class_methods()

Unter Verwendung des Klassendefinitionen des vorherigen Beispiels können z.B. mit Hilfe der Funktionen get_class(), get_parent_class() und get_class_methods() die folgenden Informationen über das Objekt $chipsatz1, bzw. der Klasse Chipsaetze ermittelt werden:

<?php
class Chip
{
    function Chip() {
        echo "Chip wurde produziert.<br>";
    }
    function produzieren($anzahl) {
        $anzahl++;
        return($anzahl);
    }
}
class Chipsaetze extends Chip
{
    function Chipsaetze() {
        Chip::Chip();
        echo "Chipsatz wurde produziert.<br>";
    }
    function produzieren($anzahl) {
        $anzahl = Chip::produzieren($anzahl);
        $anzahl = $anzahl*$anzahl;
        return($anzahl);
    }
}
$chipsatz1 = new Chipsaetze;
echo "<br>Klasse: ";
echo get_class($chipsatz1);
echo "<br>Elternklasse: ";
echo get_parent_class($chipsatz1);
echo "<br>------<br>";
$klasse = "Chipsaetze";
echo "<br>Methoden der Klasse $klasse: ";
$array = get_class_methods($klasse);
foreach ($array as $element) {
    echo "<br>$element";
}
?>

Ausgabe

Chip wurde produziert.
Chipsatz wurde produziert.
Klasse: Chipsaetze
Elternklasse: Chip
------
Methoden der Klasse Chipsaetze:
Chipsaetze
Produzieren
Chip

Die Ausgabe zeigt, dass den Objekten der Klasse Chipsaetze insgesamt drei Methoden zur Verfügung stehen.

Einsatz von get_declared_classes()

Der Konstruktor Chip() wurde von der Elternklasse Chip geerbt. Um die in einem Skript deklarierten Klassen zu ermitteln, kann die Funktion get_declared_classes() verwendet werden.

Beispiel

<?php
class Chip
{
    function Chip() {
        echo "Chip wurde produziert.<br>";
    }
    function produzieren($anzahl) {
        $anzahl++;
        return($anzahl);
    }
}
class Chipsaetze extends Chip
{
    function Chipsaetze() {
        Chip::Chip();
        echo "Chipsatz wurde produziert.<br>";
    }
    function produzieren($anzahl) {
        $anzahl = Chip::produzieren($anzahl);
        $anzahl = $anzahl*$anzahl;
        return($anzahl);
    }
}
echo "<br>Deklarierte Klassen:<br>";
$array = get_declared_classes();
foreach ($array as $element) {
    echo "<br>$element";
}
?>

Ausgabe

Deklarierte Klassen:
stdClass
OverloadedTestClass
Directory
com
Chip
Chipsaetze

Wie Sie sehen sind weit mehr Klassen definiert, sowohl die nutzerdefinierten als auch die vordefinierten Klassen werden ausgegeben.

Einsatz von get_class_vars() und get_object_vars()

Mit Hilfe der Funktionen get_class_vars() und get_object_vars() können die Klassenvariablen einer Klasse bzw. die Objektvariablen eines Objekts zurückgegeben werden. Das folgende Beispiel demonstriert die Verwendung dieser Funktionen.

Beispiel - get_class_vars()

<?php
class Fahrzeug
{
    var $hersteller = "VW";
    var $typ = "PKW";
    var $klasse = "Mittel";
}
echo "Klassen-Variablen: ";
$array = get_class_vars("Fahrzeug");
foreach ($array as $element) {
    echo "$element, ";
}
?>

Ausgabe

Klassen-Variablen: VW, PKW, Mittel,

Beispiel - get_object_vars()

<?php
class Fahrzeug
{
    var $hersteller = "VW";
    var $typ = "PKW";
    var $klasse = "Mittel";
}
// Objekt
$meinAuto = new Fahrzeug;
$meinAuto->hersteller = "BMW";
$meinAuto->typ = "Motorad";
$meinAuto->klasse = "keine";
echo "Objekt-Variablen: ";
$array = get_object_vars($meinAuto);
foreach ($array as $element) {
    echo "$element, ";
}
?>

Ausgabe

Objekt-Variablen: BMW, Motorad, keine,

Verbesserungen des OOP-Konzepts in PHP4

PHP-Objekte sind assoziative Arrays

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP-Objekte sind assoziative Arrays

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP-Objekte sind assoziative Arrays

PHP behandelt Objekt intern als assoziative Arrays, oder wie diese auch genannt werden, als Hashes. Sie sollten hierfür einen Blick auf folgendes Beispiel werfen:

<?php
class Formatklasse
{
    var $farbe = "#ff0000";
    var $inhalt = "Dies ist der Text.";
    var $schrift = "Arial";
    function Formatklasse() {
        echo "<font face=\"$this->schrift\" color=\"$this->farbe\">$this->inhalt</font>";
    }
}
$meinFormat = new Formatklasse;
foreach ($meinFormat as $key=>$element) {
    echo "<br>$key: $element<br>";
}
?>

Ausgabe

Dies ist der Text.
farbe: #ff0000
inhalt: Dies ist der Text.
schrift: Arial

Die Namen der Klassenvariable der Klasse Formatklasse können als Schlüsselwerte und die Werte der Klassenvariable als zugehörige Array-Elemente eines assoziativen Array mit dem Namen einer Instanz dieser Klasse, im Beispiel $meinFormat, aufgefasst und als solche über eine foreach-Schleife ausgegeben werden.

Metainformationen über Klassen und Objekte

Optimierung durch parent

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Optimierung durch parent

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Optimierung durch parent

Wahrscheinlich wollen Sie auch Code schreiben, der sich auch auf Variablen und Funktionen von Elternklassen bezieht. Dies gilt speziell dann, wenn Ihre abgeleitete Klasse eine Verfeinerung oder Spezialisierung von Code in Ihrer Elternklasse ist.

Anstatt in Ihrem Code den wörtlichen Namen der Elternklasse zu verwenden, wie es bisher beschrieben wurde, sollten Sie das Schlüsselwort parent verwenden, welcher sich auf den in der Deklaration Ihrer Klasse mittels extends gegebenen Namen Ihrer Elternklasse bezieht. So vermeiden Sie die mehrfache Verwendung des Namens der Elternklasse. Sollte sich Ihr Vererbungsbaum während der Implementation ändern, brauchen Sie lediglich die extends Deklaration Ihrer Klasse anzupassen.

Beispiel

<?php
class Chip
{
    function produzieren()
    {
        echo "Chip wurde produziert.<br>";
    }
}

class Chipsaetze extends Chip
{
    function produzieren()
    {
        echo "Chipsatz wurde produziert.<br>";
        parent::produzieren();
    }
}

$chipsatz1 = new Chipsaetze;
$chipsatz1->produzieren();
?>

Ausgabe

Chipsatz wurde produziert.
Chip wurde produziert.

PHP-Objekte sind assoziative Arrays

Mehrfachvererbung durch Aggregation

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Mehrfachvererbung durch Aggregation

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mehrfachvererbung durch Aggregation

Innerhalb von PHP stellte man oftmals die Notwendigkeit fest, Klassen zu erweitern oder anzupassen. Was, wie Sie bereits erfarhen haben auch als Vererbung bezeichnet wird. Beim ursprünglichen Objekt, von dem geerbt wurde, spricht man nun von einer Ober- oder Superklasse. Eine aus der Sprache C++ bekannte Methode erlaubt es, dass eine abgeleitete oder geerbte Klasse mehrere Basisklassen besitzen kann. Dabei handelt es sich um die Möglichkeit, parallel, also gleichzeitig, von zwei Klasseneigenschaften zu erben. In diesem Zusammenhang wird dann oftmals von Mehrfachvererbung (multiple inheritance) gesprochen. Eine allgemeine akzeptierte Lösung bildete die Aggregations-Methode, die ebenfalls eine Mehrfachvererbung von Klassen durch Zusammenführen der Eigenschaften und Methoden zur Laufzeit ermöglicht.

Mit den Aggregationsfunktionen lässt sich die Mehrfachvererbung von Klassen durch Zusammenführen der Eigenschaften und Methoden von Objekten zur Laufzeit wie folgt erreichen:

<?php

class ErsteKlasse {
    function ausgabe_a() {
        print "ErsteKlasse::ausgabe_a() aufgerufen.<br>";
    }
}

class ZweiteKlasse {
    function ausgabe_b() {
        print "ZweiteKlasse::ausgabe_a() aufgerufen.<br>";
    }
}

$objekt = new ErsteKlasse();
aggregate($objekt, 'ZweiteKlasse');

$objekt->ausgabe_a();
$objekt->ausgabe_b();

?>

Ausgabe

ErsteKlasse::ausgabe_a() aufgerufen.
ZweiteKlasse::ausgabe_a() aufgerufen.

Neben der aggregate()-Funktion, die sämtliche Eigenschaften und Methoden der Klassen in einer Objektinstanz zusammenführt, besteht mit den Funktionen:
. aggregate_properties()
. aggregate_properties_by_list()
. aggregate_properties_by_regex() bzw. aggregate_methods()
. aggregate_methods_by_list()
. aggregate_methods_by_regex()

die Möglichkeit, die zu vereinigenden Eigenschaften bzw. Methoden auszuwählen.

Achtung: Die Aggregation-Funktion ist in PHP 4.2 eingeführt worden und als experimentell zu bezeichnen. Die Implementierung der Aggregation-Funktion fügt sich daher nicht nahtlos in das übrige OOP Konzept von PHP ein. Funktionen wie beispielsweise get_class() oder is_a() können kein korrektes Ergebnis liefern, wenn sie auf ein aggregiertes Objekt angewandt werden.

Optimierung durch parent

Überladen von Klassen durch Overloading

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Überladen von Klassen durch Overloading

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Überladen von Klassen durch Overloading

Bei einer weiteren Extension, handelt es sich um das Overloading, sie ermöglicht das benutzerdefinierter Überladen (eng. Overloading) der Zugriffe auf Klassenvariablen und Methodenaufrufe, wodurch allgemein die Existenz von Methoden gleichen Namens möglich ist, sofern sie sich in der Art oder Anzahl ihrer Parameter unterscheiden. Die Overloading-Extension stellt lediglich eine Funktion zur Verfügung und zwar overload(), welche den Namen der Klasse benötigt, um das Überladen von Eigenschaften und Methoden einer Klasse zu aktivieren. Um das Überladen zu ermöglichen, müssen allerdings entsprechende Methoden, wie __get(), __set() und __call() innerhalb des Objekts deklariert werden.

Beispielsweise ist es hiermit möglich, dass eine bestimmte Aktion automatisch ausgeführt wird, wenn auf eine Klassenvariable das erste Mal zugegriffen wird. Im Falle einer Datenbankverbindung könnte dies dazu genutzt werden, dass diese nicht bereits im Konstruktor der Klasse aufgebaut wird, sondern erst dann, wenn sie benötigt wird:

<?php

class DatenBank {
    function __get($propertyName, &$propertyValue) {
    switch ($propertyName) {
    case "verbindung": {
        if (!isset($this->verbindung)) {
        $this->verbindung = $this->verbinden();
        }
        $propertyValue = $this->verbindung;
    }
    break;
    }
    return true;
    }
}

echo overload('DatenBank');

?>

Die Methode __get() aus obigem Beispiel wird automatisch bei jedem Zugriff auf Membervariablen aufgerufen. Bei dem ersten dieser Aufrufe für die Variable $this->verbindung wird die eigentliche Verbindung zur Datenbank durch die Methode $this->verbinden() hergestellt und in $this->verbindung abgelegt. Ähnlich wie __get() können mit __set() und __call() callbacks für schreibende Zugriffe auf Membervariablen sowie für Methodenaufrufe definiert werden.

Achtung: Die Overloading-Funktion steht seit PHP 4.2 zur Verfügung und ist als experimentell zu bezeichnen.

Mehrfachvererbung durch Aggregation

Nützliche OOP-Codeschnipsel

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Pfade und Verzeichnisse

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Pfade und Verzeichnisse

Im folgenden Abschnitt der PHP-Initialisierungsdatei können Sie einige von PHP voreingestellten Installations-Pfade und Verzeichnisse an die speziellen Erfordernisse Ihres Systems anpassen.

Option | Bedeutung
include_path = | Standard-Pfad für include-Dateien UNIX: "/path1:/path2 " Windows: "\path1;\path2 "
doc_root = | Stammverzeichnis der PHP-Skripte. Es handelt sich meist um das Veröffentlichungsverzeichnis des Webservers, htdocs.
user_dir = | Verzeichnis, unterhalb dessen diverser Nutzerverzeichnisse der Form /~Username angelegt werden können.
upload_tmp_dir = | Temporäres Verzeichnis für HTTP Upload.
upload_max_filesize = 2097152 | Maximale Grösse für File-Uploads (2 MB).
extension_dir = ./ | Pfad für PHP-Erweiterungen.

Datenbehandlung

PHP-Erweiterungen für Windows

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Nützliche OOP-Codeschnipsel

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Nützliche OOP-Codeschnipsel

Objekte entfernen

Um ein Objekt zu explizit zu entfernen können sie mit Hilfe von unset() das Objekt entfernen.

Beispiel

 // Objekt erzeugen
$meinAuto = new Auto;
...
// Objekt entfernen
unset($meinAuto)

Objekte klonen

Sie wollen eine neue Kopie eines bereits bestehenden Objekts erzeugen. Zum Beispiel haben Sie ein Objekt, das eine E-Mail-Sendung enthält, und Sie wollen diese kopieren, um sie als Grundlage für eie Antwortnachricht zu verwenden.

Beispiel

<?php
class Mensch
{
    var $name;
    function Mensch($name) {
        $this->name = $name;
    }
    function redet() {
        echo $this->name . " redet<br>";
    }
    function rennt() {
        echo $this->name . " rennt<br>";
    }
}
// Objekt erzeugen
$mensch1 = new Mensch("Caroline");
$mensch1->redet();
$mensch1->rennt();

// Objekt klonen
$mensch2 = $mensch1;

// Klon
$mensch2->name = "Matthias";
$mensch2->redet();
$mensch2->rennt();

// Objekt
$mensch1->redet();
?>

Ausgabe

Caroline redet
Caroline rennt
Matthias redet
Matthias rennt
Caroline redet

Objekt-Referenzen

Sie wollen zwei Objekte derart verknüpfen, dass bei der Modifikation des einen gleichzeitig auch das andere verändert wird. Dann ist Ihnen =& behilflich. Hiermit können Sie ein Objekt einem anderen als Referenz zuweisen.

Beispiel

<?php
class Mensch
{
    var $name;
    function Mensch($name) {
        $this->name = $name;
    }
    function redet() {
        echo $this->name . " redet<br>";
    }
    function rennt() {
        echo $this->name . " rennt<br>";
    }
}
// Objekt erzeugen
$mensch1 = new Mensch("Caroline");
$mensch1->redet();
$mensch1->rennt();

// Objekt Referenz
$mensch2 =& $mensch1;

// Referenz
$mensch2->name = "Matthias";
$mensch2->redet();
$mensch2->rennt();

// Objekt
$mensch1->redet();
?>

Ausgabe

Caroline redet
Caroline rennt
Matthias redet
Matthias rennt
Matthias redet

Laden von Klassenbibliotheken

Ein weiterer sinnvoller Einsatz von Klassen besteht darin, diese in eine separate Datei auszulagern und via require-Anweisung einzuladen. Die require-Anweisung sollte möglichst frühzeitig im Code eingesetzt werden, da Klassen erst nach der Definition zur Verfügung stehen:

<?php
require ("klassen.php");
$meinWarenkorb = new Warenkorb;
$meineBestellung = new Bestellung;
?>

In der Datei selbst können beliebig viele Klassen definiert werden. Sie sollten jedoch möglichst kein Code ausserhalb von Klassendefinitionen unterbringen. Da dieser sonst bereits während der Einbindung ausgeführt wird.

Überladen von Klassen durch Overloading

PDF - Portable Document Format

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Grundlagen von PDF

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Grundlagen von PDF

PDF ist ein Format, welches die bisherigen Probleme überwindet. Hier einige der wesentlichen Vorteile des Formats:

. Jeder kann jederzeit eine PDF-Datei öffnen. Alles, was benötigt wird ist der kostenlose Acrobat Reader.
. PDF-Dateien können beliebig publiziert und verteilt werden, wie z.B. als E-Mail Anhang, auf Websites oder CD-ROM.
. Formatierungen, Schriften und Grafiken bleiben erhalten und gehen aufgrund von inkompatiblen Betriebssystemen oder Anwendungen und Versionen nicht mehr verloren.
. PDF-Dateien werden immer exakt so angezeigt, wie sie erstellt wurden.
. PDF-Dateien lassen sich auf allen Druckern korrekt ausgeben.
. Die komapkten PDF-Dateien sind wesentlich kleiner als ihre Quelldateien und lassen sich Seitenweise herunterladen, damit diese beispielsweise im Internet möglichst schnell angezeigt werden können ohne sie vollständig herunterladen zu müssen.

Generierung via PHP

Mit der Generierung von PDF-Dokumenten via PHP sind Sie unabhängig von der sonst notwendigen, kommerziellen Adobe Software. Sie benötigen nicht, wie bisher Adobe Acrobat und Adobe Distiller.

PDF - Portable Document Format

PHP und die PDFLib

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP und die PDFLib

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP und die PDFLib

Die PDF-Funktionen von PHP sind Bestandteile der pdflib von Thomas Merz. Sollte diese in Ihrer PHP-Distribution nicht enthalten sein, können Sie die neueste Version unter folgender Adresse herunterladen: www.pdflib.com. Dort finden Sie auch eine aktuelle und umfangreiche Dokumentation zur pdflib.

Sie sollten zusätzlich beachten, das bei den Längen- und Koordinatenangaben PostScript-Punkte verwenden werden. Hierbei entsprechen 72 PostScript-Punkte 1 Zoll (Inch). Dies kann jedoch bei verschiedenen Auflösungen variieren. Der Ursprung des internen Koordinatensystems ist die linke untere Ecke.

Neuerungen der aktuellen Version

Die aktuelle Version ist die pdflib v5. Sie enthält folgende Neuerungen:
. Fonts, vollständig überarbeitete Font-Engine mit voller Unterstützung von Unicode und CJK-Schriften (China/Japan/Korea); Unterschneidung (Kerning), Untergruppenbildung (subsetting), Type-3-Schriften
. Bilder, BMP-Unterstützung, Bildformat-Optionen, Transparenzmasken (soft masks)
. Personalisierung von PDF-Dateien mit Hilfe des PDFlib Block Plugin
. Druckvorstufe, PDF/X, Color-Management mit ICC-Profilen, CIE Lab Farben, eingebauter Umsetzung von Pantone und HKS Schmuckfarben
. Graphik, Farbverläufe, Transparenz und Farbmischmodus, Überdruck-Steuerung
. Hypertext, benannte Ziele, Lesezeichen-Ziele, Benutzerkoordinaten
. Sicherheit, 40-bit und 128-bit-Verschlüsselung mit Benutzer- und Haupt-Kennwort und Einstellung der Benutzerrechte
. Programmierung: neue Ausnahmebehandlung für C, einheitliche Nummerierung der Fehlermeldungen

Wie Sie sehen geht die Entwicklung dieser speziellen Erweiterung kontinuierlich weiter.

Grundlagen von PDF

PDFLib im Einsatz

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PDFLib im Einsatz

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PDFLib im Einsatz

Im folgenden Abschnitt werden wir Ihnen einige Funktionen vorstellen und aufzeigen, wie Sie auf einfache Weise eine PDF-Datei via PHP erzeugen können.

Einfaches Dokument

Der Einstieg in die Erzeugung von PDF-Dokumenten via PHP ist recht simpel. Das folgende Beispiel erzeugt bereits ein gültiges PDF-Dokument und schreibt es in die Datei testdok.pdf.

Beispiel

<?php
$datei = fopen("testdok.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 200, 200);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Das Dokument enthält lediglich eine leere Seite. Initialisiert wird ein PDF-Dokument immer mit der Funktion pdf_open(), die in diesem Fall den Dateizeiger $datei übergeben bekommt. Dies führt dazu, dass das Dokument in einer Datei abgelegt wird. Alternativ könnte das Argument für pdf_open() auch entfallen, und das Dokument wird im Speicher erzeugt und seitenweise an die Standardausgabe übergeben. Die Erzeugung des Dokuments im Speicher ist insbesondere im Web-Serverbetrieb von Vorteil, da keine Datei in das Dateisystem geschrieben werden muss und das Dokument ohne Umwege an den Browser ausgegeben wird. Geschlossen wird das Dokument mit pdf_close().

PDF-Dokumente sind wie PostScript-Dokumente seitenorientiert. Bevor also irgendwelche Ausgaben gemacht werden können, muss eine Seite generiert werden. Die Funktion pdf_begin_page() erzeugt eine solche Seite und bestimmt gleichzeitig deren Größe in PostScript-Punkten. Natürlich müssen auch Seiten beendet werden, was mit Hilfe der Funktion pdf_end_page() erfolgt. Nach dem Beenden einer Seite sind keinerlei Veränderung mehr möglich.

Einsatz von Text

Das folgende Beispiel stellt auf einfache Weise dar, wie innerhalb eines PDF-Dokuments Text abgelegt werden kann. Zusätzlich machen Sie erste Erfahrungen mit dem Koordinatensystem einer PDF-Seite.

Beispiel

<?php
$datei = fopen("testdok2.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 200, 200);
pdf_set_font($dokument, "Arial", 24, "host");
pdf_set_text_pos($dokument, 100, 100);
pdf_show($dokument, "Ihr erster Text im Dokument");
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Wesentliche Bestandteile des Skripts wurden aus dem ersten Beispiel übernommen, hinzu kommen lediglich die drei Funktionen zur Auswahl des Zeichensatzes pdf_set_font(), zum Setzen der Ausgabeposition pdf_set_text_pos() und die eigentliche Textausgabefunktion pdf_show(). Das Ergebnis ist ein Text in Arial mit der Größe 24pt. Der letzte Parameter von pdf_set_font() gibt das Encoding des Zeichensatzes an. Mit host liegt man in der Regel richtig. Der Ursprung des PDF-Koordinatensystem liegt, wie Sie bereits erfahren haben, in der linken unteren Ecke, der Text erscheint also jeweils 100 Punkte vom linken und unteren Rand entfernt.

Fallbeispiel für die Berechnung

100 Punkte entsprechen 100/72*2.54cm=3.528cm

Einsatz von Geometrischen Formen

Der Einsatz von Text innerhalb eines PDF-Dokuments ist jedoch noch lange nicht alles. Mit Hilfe der pdflib lassen sich zusätzlich geometrische Formen erzeugen. Auch das kann PDF, man sollte jedoch im klaren darüber sein, dass dies immer zwei Schritte erfordert:
. Im ersten Schritt wird ein so genannter Pfad durch die Zeichenfunktionen erzeugt.
. Im zweiten Schritt wird dieser Pfad gezeichnet oder anderweitig verwendet.

Sie werden im folgenden Beispiel erfahren, was notwendig ist um eine diagonale Linie zu realisieren.

Beispiel

<?php
$datei = fopen("testdok3.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 200, 200);
pdf_moveto($dokument, 50, 50);
pdf_lineto($dokument, 100, 100);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Auch in diesem Fall sind wieder drei neue Funktionen zum Einsatz gekommen. Mit Hilfe der Funktion pdf_moveto() setzen Sie den Ausgangspunkt der Linie. Die Funktion pdf_lineto() fügt ein Liniensegment dem aktuellen Pfad hinzu und erst die Funktion pdf_stroke() zeichnet den aktuellen Pfad, also die eigentliche Linie. Das mag kompliziert klingen, macht aber Sinn, sobald Sie die weiteren Möglichkeiten mit Pfaden zu arbeiten kennen gelernt haben. So ist es beispielsweise möglich einem Pfad mit einer Farbe oder einem Muster zu füllen, auch kann ein Pfad als Begrenzung anderer Bildteile verwendet werden. Pfade werden damit zu einem leistungsfähigen Werkzeuge.

Um diese Aussage zu untermauern, sollten Sie sich folgendes Beispiel betrachten:

<?php
$datei = fopen("testdok4.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 400, 400);
pdf_moveto($dokument, 100, 100);
pdf_lineto($dokument, 200, 200);
pdf_lineto($dokument, 100, 200);
pdf_closepath_fill_stroke($dokument);
pdf_circle($dokument, 300, 250, 50);
pdf_stroke($dokument);
pdf_rect($dokument, 100, 210, 120, 120);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Auch in diesem Beispiel wird deutlich, das die Zeichenoperation erst dann ausgeführt wird, wenn pdf_stroke() oder wie im vorliegenden Beispiel pdf_closepath_fill_stroke() aufgerufen wird. Mit pdf_closepath_fill_stroke() wird zunächst der Pfad geschlossen, das Dreieck wurde nur mit zwei pdf_lineto() Anweisungen gezeichnet, und danach gefüllt und gezeichnet.

Sollten Sie die Strichstärke verändern wollen steht Ihnen die Funktion pdf_setlinewidth() zur Verfügung. Übergabeparameter sind das PDF-Dokument und die Breite der Linie in Punkten.

Beispiel

<?php
$datei = fopen("testdok5.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 400, 400);
pdf_setlinewidth($dokument, 5);
pdf_rect($dokument, 100, 210, 120, 120);
pdf_stroke($dokument);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Einbinden von Bildern

Als nächstes wenden wir uns dem einbinden von Bildern zu. PDF-Dokumente können wie auch HTML-Dokumente Bilder enthalten. Im Unterschied zu HTML werden die Bilder jedoch direkt in das Dokument eingebettet und nicht auf eine externe Datei verwiesen. Das hat insbesondere den Vorteil, dass Sie beim Datenaustausch nur eine Datei übertragen müssen. Sie sollten sich folgendes Beispiel betrachten:

<?php
$datei = fopen("testdok6.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 400, 400);
$bild = pdf_open_image_file($dokument, "jpeg", "logo.jpg");
pdf_place_image($dokument, $bild, 10, 10, 1);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Ein Bild muss zunächst unter Angabe des Formats jpeg und des Dateinamens mit der Funktion pdf_open_image_file() geladen werden. Die Platzierung erfolgt anschliessend mit Hilfe der Funktion pdf_place_image(). Bei der Platzierung kann zu der Position auch noch ein Skalierungsfaktor angegeben werden. In diesem Fall ist er auf 1 (100%) gesetzt. Neben JPEG können auch die Formate GIF, TIFF und PNG eingelesen werden.

Die Zweiteilung der Einbindung eines Bildes hat im übrigen einen guten Grund. Sie können ein Bild mehrfach verwenden, ohne jedes mal das Bild in das PDF-Dokument einzubetten. Die Funktion pdf_place_image() schreibt intern lediglich einen Verweis auf das bereits im Dokument befindliche Bild. Der Speicherplatzbedarf kann dadurch erheblich reduziert werden.

Machen Sie doch einfach mal folgenden Test. Platzieren Sie das Bild mehrere mal auf der Seite und vergleichen Sie die Dateigrößen der PDF-Dokumente.

Beispiel

<?php
$datei = fopen("testdok7.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 400, 400);
$bild = pdf_open_image_file($dokument, "jpeg", "logo.jpg");
for($i=0; $i<10; $i++) {
    pdf_place_image($dokument, $bild, 10, 10, 1);
    pdf_rotate($dokument, 10);
}
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Das PDF-Dokument aus dem ersten Beispiel besitzt eine Größe von 17.525 Bytes. Das zweiten Beispiel ist mit 17.554 Bytes nur geringfügig größer. Wie wichtig diese Eigenschaft sein kann, werden Sie spätestens dann feststellen, wenn Sie das erste mehrseitige Dokument erstellen, welches auf jeder Seite das Firmenlogo benötigt.

Das Laden eines Bildes muss übrigens nicht zwingend innerhalb einer Seite erfolgen. Insbesondere bei der Verwendung eines Bildes auf mehreren Seiten bietet es sich an, das Bild schon vor der ersten Seite zu laden. So wie im folgenden Beispiel.

<?php
$datei = fopen("testdok8.pdf", "w");
$dokument = pdf_open($datei);
$bild = pdf_open_image_file($dokument, "jpeg", "logo.jpg");
$skalierung = 0.5;
$breite = pdf_get_image_width($dokument, $bild) * $skalierung;
$hoehe = pdf_get_image_height($dokument, $bild) * $skalierung;
$margin = (400-$breite)/2;
pdf_begin_page($dokument, 400, 500);
pdf_place_image($dokument, $bild, $margin, 500-$hoehe, $skalierung);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Sie werden sicher bemerkt haben, dass das Beispiel mit zwei neue Funktion ausgestattet wurde, um das Bild am Kopf der Seite mit gleichen Ränder nach links, rechts und oben zu platzieren. Die Funktion pdf_get_image_width() und pdf_get_image_height() liefern die Breite bzw. Höhe eines Bildes. Mit ihnen lässt sich bei bekannter Breite und Höhe der Seite das Bild entsprechend zentrieren. Die Anpassung hierfür ist nicht sonderlich schwer, wie folgendes Beispiel zeigt:

<?php
$datei = fopen("testdok9.pdf", "w");
$dokument = pdf_open($datei);
$bild = pdf_open_image_file($dokument, "jpeg", "logo.jpg");
$skalierung = 1;
$breite = pdf_get_image_width($dokument, $bild) * $skalierung;
$hoehe = pdf_get_image_height($dokument, $bild) * $skalierung;
$marginbreite = (400-$breite)/2;
$marginhoehe = (500-$hoehe)/2;
pdf_begin_page($dokument, 400, 500);
pdf_place_image($dokument, $bild, $marginbreite, $marginhoehe, $skalierung);
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Erweiterte Textausgabe

Die Textausgabe ist eine elementare Funktion, die in kaum einer Grafikbibliothek fehlt. PDF als eher textlastiges Ausgabeformat darf da keineswegs zurückstehen und bietet daher eine Vielzahl von Textausgabemöglichkeiten an.

Konzentriert man sich auf die 35 Standardschriften, zu denen auch Arial, Times und Helvetica gehören, lässt sich leicht ein PDF-Dokument erstellen, das auf jedem System dargestellt werden kann.

Beispiel

<?php
$datei = fopen("testdok10.pdf", "w");
$groesse = 72;
$dokbreite = 500;
$dokhoehe = 400;
$dokument = pdf_open($datei);
pdf_begin_page($dokument, $dokbreite, $dokhoehe);
pdf_set_font($dokument, "Arial", $groesse, "host");
$breite = pdf_stringwidth($dokument, "AtomicScript");
$marginbreite = ($dokbreite-$breite)/2;
$marginhoehe = ($dokhoehe -$groesse)/2;
pdf_set_text_pos($dokument, $marginbreite, $marginhoehe);
pdf_show($dokument, "AtomicScript");
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Auch in diesem Fall erfolgt eine Zentrierung des Textes.

Nun bestehen Texte in der Regel nicht nur aus einigen wenigen Worten, welche in eine Zeile passen, daher muss bei längeren Texten ein Umbruch der Zeilen erfolgen. Dies kann man, mit Hilfe der Funktion pdf_stringwidth() und der Einzelpositionierung der Worte realisieren oder auf die Funktion pdf_show_boxed() zurückgreifen. Die Funktion pdf_show_boxed() bricht den Text in einer vorgegebenen Box zeilenweise um und liefert zudem die Anzahl der Zeichen, die nicht mehr in die Box passten zurück. Mit dieser Information lässt sich Text leicht über mehrere Boxen verteilen und optimal darstellen.

Beispiel

<?php
$datei = fopen("testdok11.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 400, 500);
pdf_set_font($dokument, "Arial", 12, "host");
$text =
"In diesem Kapitel werden wir uns mit den Objekten ".
"auseinandersetzen Sie erfahren, wie sie Objekte ".
"nutzen und erzeugen können und was Eigenschaften ".
"und Methoden sind. Zusätzlich bietet Ihnen dieses ".
"Kapitel eine Einführung und Vertiefung in die ".
"objektorientierte Programmierung aus Sichtweise ".
"des PHP Entwickler durchleuchten werden und nicht ".
"aus der Sichtweise eines Informatikers. ";
$pos = pdf_show_boxed($dokument, $text, 20.0, 350.0, 170.0, 100.0, "justify");
$pos = pdf_show_boxed($dokument, substr($text, -$pos), 210.0, 350.0, 170.0, 100.0, "justify");
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Einsatz von Bookmarks

Eine weitere nützliche Eigenschaft von PDF-Dokumenten sind Lesezeichen (Bookmarks). Sie ermöglichen das Verzweigen auf eine Seite des Dokuments aus einer hierarchischen Übersicht. Erstellt wird eine solche Übersicht mit Hilfe der Funktion pdf_add_bookmark(). Die hierarchische Anordnung wird durch einen optionalen Parameter der Funktion erreicht, welcher die Hauptgruppe (Mutter) des neuen Bookmarks festlegt.Jeder neuen Hauptgruppe könne Sie weitere Untergruppen zuweisen, welche wiederum eigene Untergruppen besitzen können. Eine Untergruppe kann somit selbst zu einer Hauptgruppe werden und weitere Bookmarks enthalten. Ein weiterer optionaler Parameter offen legt fest, ob die Übersicht einer bestimmten Gruppe beim Öffnen des PDF-Dokuments ein- oder ausgeklappt sein soll. Soll also die Übersicht ausgeklappt sein, so brauchen Sie lediglich offen einen Werte ungleich 0 zuweisen.

Beispiel

<?php
$ebene1 = "1. Thema";
$ebene2 = "1.1 Thema";
$ebene3 = "2. Thema";
$ebene4 = "2.1 Thema";
$ebene5 = "2.2 Thema";
$datei = fopen("testdok12.pdf", "w");
$dokument = pdf_open($datei);
pdf_begin_page($dokument, 400, 500);
$m1 = pdf_add_bookmark($dokument, $ebene1);
$m2 = pdf_add_bookmark($dokument, $ebene2, $m1);
$m3 = pdf_add_bookmark($dokument, $ebene3, $_x,1);
$m4 = pdf_add_bookmark($dokument, $ebene4, $m3);
$m5 = pdf_add_bookmark($dokument, $ebene5, $m4);
$bild = pdf_open_image_file($dokument, "jpeg", "logo.jpg");
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

Einsatz von Hyperlinks

Ein wesentlicher Punkt des Internet sind die Verweise zwischen Webseiten. Ein Dokumentenformat, welche keine Hyperlinks unterstützt, schränkt den Einsatzbereich deutlich ein. Daher unterstützt PDF neben Verweisen innerhalb des Dokuments auch Verweise auf Ressourcen im Internet. Realisiert wird dies durch die Funktion pdf_add_weblink(). In folgendem Beispiel wird ein Hyperlink auf die Website www.atomicscript.de gesetzt.

Beispiel

<?php
$datei = fopen("testdok13.pdf", "w");
$dokument = pdf_open($datei);
$bild = pdf_open_image_file($dokument, "jpeg", "logo.jpg");
$skalierung = 1;
$breite = pdf_get_image_width($dokument, $bild) * $skalierung;
$hoehe = pdf_get_image_height($dokument, $bild) * $skalierung;
$marginbreite = (400-$breite)/2;
$marginhoehe = (500-$hoehe)/2;
pdf_begin_page($dokument, 400, 500);
pdf_place_image($dokument, $bild, $marginbreite, $marginhoehe, $skalierung);
pdf_add_weblink($dokument, $marginbreite, $marginhoehe, $marginbreite+$breite, $marginhoehe+$hoehe, "www.atomicscript.de");
pdf_end_page($dokument);
pdf_close($dokument);
fclose($datei);
?>

PHP und die PDFLib

XML

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Was ist XML?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Was ist XML?

XML ist eine Metasprache für das Definieren von Dokumenttypen. Auf den Punkt gebracht: XML liefert die Regeln, die beim Definieren von Dokumenttypen angewendet werden.

Was ist ein Dokumenttyp?

Klären wir zunächst die etwas einfachere Frage, was unter einem Elementtyp zu verstehen ist. Man sagt, dass dies ein Element ist, <P>Caro schreibt</P>. Das Element besteht aus einem Anfangs-Tag, dem Inhalt des Elements und einem End-Tag.

Auch dies ist ein Element, <P>Wie fleissig Sie ist!</P>. Es handelt sich um zwei Elemente mit auffallender Ähnlichkeit. Der Anfangs-Tag und der End-Tag sind gleich. Deswegen sagt man, dass beide Elemente demselben Elementtyp angehören.

Mit Dokumenten verhält es sich ähnlich. Wenn in Dokumenten dieselben Elementtypen verwendet werden wie <P>, <I>, <U> und was noch so alles gibt, und wenn die Elemente alle in gleicher Weise ineinander verschachtelt sind, dann sagt man, dass die Dokumente demselben Dokumenttyp angehören.

Wie steht es in dieser Hinsicht mit HTML-Dokumenten?

HTML-Dokumente sind Musterbeispiele für Dokumente, die einen ähnlichen Aufbau haben. Man sagt daher, dass alle HTML-Dokumente demselben Typ angehören, nämlich dem Dokumenttyp HTML.

Letztlich ist das die Grundidee von XML

Man sorgt dafür, dass es Dokumente gibt, die in ihrem Aufbau alle ein gewisses Grundmuster verfolgen. Wenn dieses Grundmuster eingehalten wird, dann lässt sich mit den Dokumenten mehr anfangen, als wenn jedes Dokument eigenen Regeln folgt. Dann ist es möglich, Programme zu schreiben, die diese Dokumente automatisch verarbeiten. Die Programmierer wissen in etwa, welche Strukturen in den Dokumenten zu erwarten sind. Somit können sie Programme schreiben, die mit den Dokumenten umgehen können. Die Dokumente werden keine Überraschungen mehr bieten, und Programme können so eingerichtet werden, dass sie bei der Verarbeitung der Dokumente in jeder Situation "wissen, was zu tun ist".

Dokument-Typ-Definitionen (DTDs) spielen in XML eine wichtige Rolle. In einer DTD wird festgelegt, welche Gemeinsamkeiten die Dokumente aufweisen werden. Zum Beispiel wird festgelegt, welche Elementtypen in den Dokumenten eines bestimmten Dokumenttyps verwendet werden können.

DTDs besitzen folgende Hauptfunktionen: Sie sagen den Verfassern von Dokumenten, welche Strukturen es in den Dokumenten geben kann und den Programmierern, auf was ihre Programme "sich gefasst machen müssen".

Also, was ist nun XML? In erster Linie ist XML eine Anleitung für das Verfassen von Dokumenttyp-Definitionen. Etwas Neues stellen diese Dokumenttyp-Definitionen nicht dar. Es gab sie auch schon für HTML, man hat sich nur bisher meist nicht sonderlich darum gekümmert.

XML

Beschreibendes Markup

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Beschreibendes Markup

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Beschreibendes Markup

Wer im Bereich der Auszeichnungssprachen bisher nur HTML kannte, muss an einigen Punkten umdenken. Bisher gab es nur zwei verschiedene Arten von Tags:

Es gibt Tags, mit denen angegeben wird, welchen Platz ein Element innerhalb der Struktur des Dokuments einnimmt. Ein Beispiel hierfür wäre <P>Zeichenfolge</P>. Dieses Tag zeigt an das die 'Zeichenfolge' in einem Absatz liegt.

Weiterhin gibt es Tags, mit denen sich Formatierungsanweisungen geben lassen. Ein Beispiel wäre <U>Zeichenfolge</U>. Dieses Tag sagt, dass die Markierung 'Zeichenfolge' unterstrichen dargestellt werden soll.Wie aber verhält es sich mit Tags dieser Sorte:

<AUTOR>Caroline Kannengiesser&lt;/AUTOR>

Es wird nichts über die Dokumentstruktur angemerkt, und es wird auch keine Formatieranweisung gegeben. Man spricht in diesem Zusammenhang von einem deskriptiven Markup oder auch von semantischen Tags. Das heißt, die Tags liefern für den Inhalt des Elements eine Beschreibung. Im vorliegenden Beispiel wird über Caroline Kannengiesser gesagt, dass es sich um den Namen einer Autorin handelt. Dies ist beim Betrachter der Zeile offensichtlich. Natürlich lassen sich die Tags auch verschachteln, so dass komplexere Aussagen entstehen:

<ARTIKEL>
   <AUTOR>Caroline Kannengiesser</AUTOR>
   <TITEL>Flash MX 2004</TITEL>
   <INHALT>Die Website...</INHALT>
</ARTIKEL>

Man erfährt, dass es um einen Artikel geht; der Titel ist "Einsatz von Medienformaten"; der Autor ist "Caroline Kannengiesser".

Wenn ein Browser an einen <I>-Tag gerät, kann er für Kursivschrift-Formatierung sorgen. Wenn er an einen Tag gerät, der die Dokument-Struktur markiert, läuft die Sache meistens ebenfalls darauf hinaus, dass eine bestimmte Formatierung gewählt wird. Was aber macht der Browser mit semantischen Tags? Bisher überhaupt nichts. Dies soll sich jedoch in kürze ändern, dass behaupten zumindest einige sog. Fachleute. Es wird sehr viele Programme geben, die darauf ausgerichtet sind, semantische Tags zu verarbeiten. Dies trifft auch auf PHP zu, denn genau hier setzt die XML Unterstützung in PHP an. Anhand von praktischen Beispielen soll Ihnen das Thema näher gebracht werden.

Hinweis: XML stellt in diesem Buch lediglich einen Teilaspekt dar. Daher haben wir für Sie eine Auswahl an nützlichen Beispielen zusammengestellt.

Was ist XML?

Eigenarten von XML

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Eigenarten von XML

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Eigenarten von XML

Der Weg zur XML-Anwendung ist sicher nicht einfach. Allerdings wird die Schaffung einer Anwendung mit PHP erst möglich, wenn Sie die weiter oben beschriebenen Grundlagen verinnerlicht haben. Folgende Eigenschaften gehören ebenfalls zu XML:

. XML definiert eigene Tags, diese können auch eigene Attribute besitzen.
. Im XML-Format kann man Daten speichern und bereitstellen.
. XML kann mit der Style-Sprache XSL, welche ein Pendant zu CSS darstellt, formatiert werden.
. XML trennt konsequent Daten und Darstellung im Browser.

Hier einige Eigenschaften die XML nicht hat:
. XML ist kein Ersatz zu HTML, sondern eine Ergänzung. Es gibt mit XHTML eine Implementierung von HTML in XML.
. XML soll nicht zur Entwicklung darstellender Tags genutzt werden, dies ist die Aufgabe von CSS bzw. XSL.
. XML geht strenger mit den Tags um und quittiert konsequent jede Unachtsamkeit mit einem Fehler.

Dateierweiterungen

XML verwendet bestimmte Dateierweiterungen, an denen der Browser erkennt, was für Ihn bestimmt ist. Hier eine Aufstellung der Dateierweiterungen:

Dateierweiterung | Bedeutung
XML | XML-Datei - diese enthält die Sprachanweisungen.
XSL | XSL-Datei - Style-Sheet für XML. Hier wird die Ausgabe formatiert.
DTD | Document-Type-Definition-Datei. Hier werden die Tags definieret.
CSS | Style-Sheet für HTML. Auch in diesem Fall wird die Ausgabe formatiert.
JS | JavaScript-Datei - wird oft eingesetzt, um dynamische Funktionen zu erzeugen und Funktion auszulagern.
HTML | HTML-Datei, welche zur formatierten Darstellung von Inhalten eingesetzt wird.

Nun da Sie einiges über XML erfahren haben, sollten Sie sich auf Ihre erste XML-Datei stürzen, wir hätte da eine Vorlage für Sie:

<?xml version="1.0"?>
<INHALT>Erste XML Eintrag</INHALT>

Sie können sich das Ergebnis anschliessend im Internet Explorer betrachten.

Vielleicht werden Sie etwas ernüchtert sein. Praktisch ist nur der Quelltext zu sehen. Aber in welcher Form die Darstellung erfolgt, überrascht schon. Denn die Tags sind farbig gekennzeichnet - der Internet Explorer hat offensichtlich die Tags erkannt und versucht zu interpretieren. Mehr geht an dieser Stelle nicht, denn woher soll der Browser wissen, was Sie sich bei dem Tag <INHALT> gedacht haben.

An dieser Stelle sollten Sie ein wenig mit dem Browser experimentieren. Versuchen Sie, das schliessende Tag falsch zu schreiben oder auch Kleinbuchstaben zu verwenden. Sie werden bemerken, dass XML keineswegs so tolerant mit den Tags umgeht wie HTML - obwohl das Tag <INHALT> gänzlich unbekannt ist.

Achtung: Der Internet Explorer verwendet einen eigenen XML-Parser, MSXML. Der im PHP genutzte Parser stammt von James Clark und zeit im Detail andere Reaktionen.

Es ist nun an der Zeit, dem Tag Leben einzuhauchen. Im Prolog, sprich im einleitenden Teil eines XML-Dokuments, wird das Tag definiert:

<?xml version="1.0"?>
<!DOCTYPE FirstXML [
<!ELEMENT INHALT (#PCDATA)>
]>
<INHALT>Erste XML Eintrag</INHALT>

Die Reaktion bei dieser Version verwundert Sie sicher noch mehr. Es hat sich praktisch nicht viel getan. Der Browser hat lediglich die Definition, um genau zu sein die Document-Type-Definition (DTD), unterdrückt. Um noch etwas genauer erkennen zu können, welches Element wie definiert wird, sehen Sie sich folgende Version an:

<?xml version="1.0"?>
<!DOCTYPE FirstXML [
<!ELEMENT AUSGABE (INHALT)>
<!ELEMENT INHALT (#PCDATA)>
]>
<AUSGABE>
<INHALT>Erste XML Eintrag</INHALT>
</AUSGABE>

Sie sollten mal auf das Minuszeichen klicken - erstaunlich nicht wahr.

Beschreibendes Markup

XML-Funktionen in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


XML-Funktionen in PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

XML-Funktionen in PHP

Nun da Sie sich mit dem Thema vertraut gemacht haben können wir uns der Verarbeitung von XML-Strukturen durch PHP zu wenden. Sie sollten sich als erstes mit den XML-Funktionen auseinandersetzen, die Ihnen mit der PHP Erweiterung Expat zur Verfügung stehen.

Expat ist ereignisorientiert. Das bedeutet, das zunächst einzelne Funktionen für die verschiedene Ereignisse definiert werden. Ein Ereignis kann z.B. ein öffnendes Element, ein schließendes Element oder der Inhalt, der von einem öffnenden, und einem schließendem Element eingeklammert ist, sein.

Für folgende Elemente können Funktionen definiert werden.
. Startendes Element, mit Attributen ()
. Normaler Text "Character Data", zwischen den öffnendem und schließendem Element
. Abschließendes Element ()
. Kommentare
. DTD Anweisungen
. Procession Instructions - eingebettete PHP Anweisungen

Wichtig ist, das man die Arbeitsweise von Expat versteht. Expat untersucht ein XML Dokument zeilenweise. Aufgrund dessen muss das Dokument Zeile für Zeile, mit Hilfe einer Schleife von Expat geparst werden.

Expat erkennt das öffnende Element, z.B. <daten>, und übergibt es an die definierte Funktion für öffnende Elemente. Darauf entdeckt er den Inhalt dazwischen. Ist dies einfacher Text, dann wird dieser an die entsprechende Funktion überreicht, die die Inhalte behandelt. Diese Inhalte, die nicht weiter in andere Tags verschachtelt sind, nennt man CDATA, Character Data. Zum Schluss wird das schließende Element gefunden, und entsprechend über die definierte Funktion behandelt.

Nun sollten wir uns die zur Verfügung stehenden Funktionen betrachten.

Funktion Beschreibung
xml_parser_create(encoding) | Erzeugt einen neuen XML-Parser.
xml_parser_create_ns(encoding [,seperator]) | Erzeugt einen neuen XML-Parser. Optional kann ein seperator festgelegt werden, sollte dieser Parameter nicht gesetzt werden, ist der default seperator ein Doppelpunkt (:).
xml_set_element_handler(parser, callback start_element_handler, callback end_element_handler) | Die definierter Funktion wird ausgeführt sobald der Parser einXML-Element erreicht oder eines verlässt. Start- und End-Tags werden getrennt verarbeitet.
xml_set_character_data_handler(parser,callback handler) | Diese Funktion bearbeitet sämtliche Zeichen, die nicht als Tag gelten. Das betrifft auch Whitespaces.
xml_set_processing_instruction_handler(parser, callback handler) | Hiermit werden die einleitenden Tags, wie
xml_set_default_handler(parser,callback handler) | Diese Funktion wird ausgelöst, wenn sich keine andere für ein Ereignis zuständig fühlt.
xml_set_unparsed_entity_decl_handler(parser,callback handler) | Diese Funktion bearbeitet nicht geparste Einheiten (NDATA).
xml_set_notation_decl_handler(parser,callback handler) | Eine Notations-Deklaration wird hiermit bearbeitet.
xml_set_external_entity_ref_handler(parser,callback handler) | Wenn eine externe Referenz gefunden wird, ist diese Funktion zuständig.
xml_parse(parser,data [,is_final]) | Die Funktion beginnt mit dem Parsen eines XML-Dokuments.
xml_get_error_code(parser) | Die Funktion gibt die Fehlernummern aus.
xml_error_string(code) | Die Funktion gibt die Fehlermeldungen aus.
xml_get_current_line_number(parser) | Die Funktion gibt die aktuell vom Parser untersuchte Zeile des XML-Dokuments aus.
xml_get_current_column_number(parser) | Die Funktion gibt die aktuell vom Parser untersuchte Spalte des XML-Dokuments aus.
xml_get_current_byte_index(parser) | Die Funktion gibt den aktuellen Byte-Index des XML-Dokuments aus.
xml_parser_free(parser) | Die Funktion gibt einen Parser wieder frei.
xml_parser_set_option(parser,option) | Die Funktion setzt diverse Optionen.
xml_parser_get_option(parser,option) | Die Funktion liest Optionen ein.
xml_parser_object(parser,object) | Die Funktion ermöglicht es Ihnen den Parser bei Objekten einzusetzen.
utf8_decode(data) | Die Funktion konvertiert eine UTF-8-Zeichenkette nach ISO-8859-1.
utf8_encode(data) | Die Funktion konvertiert eine ISO-8859-1-Zeichenkette nach UTF-8.

Eigenarten von XML

Eigenschaften der XML-Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP-Erweiterungen für Windows

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP-Erweiterungen für Windows

In diesem Abschnitt sind die für die Windows-Umgebung verfügbaren Erweiterungen aufgeführt. Diese können bei Bedarf durch Entfernen des Kommentarzeichens (;) auskommentiert und damit aktiviert werden.

Option | Bedeutung
extension = php_mysql.dll | MySQL-Funktionen
extension = php_nsmail.dll | Netscape-Mail
extension = php_calendar.dll | Kalenderfunktionen
extension = php_dbase.dll | DBase-Funktionen
extension = php_filepro.dll | FilePro-Funktionen
extension = php_gd.dll | GD-Grafikbibliothek
extension = php_dbm.dll | DBM-Funktionen
extension = php_mssql.dll | MS SQL-Funktionen
extension = php_zlib.dll | Z-Lib-Funktionen
extension = php_imap4r2.dll | Mailfunktionen (IMAP4)
extension = php_ldap.dll | LDAP-Protokoll für Verzeichnisdienste
extension = php_crypt.dll | Verschlüsselungsfunktionen
extension = php_msql2.dll | mSQL-Funktionen
extension = php_odbc.dll | ODBC-Funktionen

Pfade und Verzeichnisse

Moduleinstellungen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Eigenschaften der XML-Funktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Eigenschaften der XML-Funktionen

Die durch Expat zur Verfügung gestellten XML-Funktionen weisen einige Besonderheiten auf, die es zu beachten gilt.

Umwandlung der Schreibweise

Die als "Case Folding" bezeichnete Maßnahme bezieht sich auf die Anforderung der Ereignisbehandlungsroutinen, die zu untersuchenden Tags in Grossbuchstaben zu erhalten. Entsprechend werden sämtliche XML-Elemente, die gesendet werden, zuvor in Grossbuchstaben umgewandelt. Der Vorgang kann mit den beiden Funktionen xml_parser_get_option() und xml_parser_set_option() kontrolliert werden.

XML-Fehlercodes

Die Fehlercodes, die von der Funktion xml_parse() ausgegeben werden, liegen als Konstante vor. Die folgende Tabelle enthält sämtliche Fehlercodes.

XML-Fehlercode
XML_ERROR_NONE
XML_ERROR_NO_MEMORY
XML_ERROR_SYNTAX
XML_ERROR_NO_ELEMENTS
XML_ERROR_INVALID_TOKEN
XML_ERROR_UNCLOSED_TOKEN
XML_ERROR_PARTIAL_CHAR
XML_ERROR_TAG_MISMATCH
XML_ERROR_DUPLICATE_ATTRIBUTE
XML_ERROR_JUNK_AFTER_DOC_ELEMENT
XML_ERROR_PARAM_ENTITY_REF
XML_ERROR_UNDEFINED_ENTITY
XML_ERROR_RECURSIVE_ENTITY_REF
XML_ERROR_ASYNC_ENTITY
XML_ERROR_BAD_CHAR_REF
XML_ERROR_BINARY_ENTITY_REF
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
XML_ERROR_MISPLACED_XML_PI
XML_ERROR_UNKNOWN_ENCODING
XML_ERROR_INCORRECT_ENCODING
XML_ERROR_UNCLOSED_CDATA_SECTION
XML_ERROR_EXTERNAL_ENTITY_HANDLING

Zeichenkodierung

PHP kodiert Zeichen intern immer im Unicode-Format UTF-8, 8 bis 21 Bits in bis zu 4 Bytes. Die Kodierung des Quelltextes muss vor dem Parsen festgelegt werden. Die alternativen Zeichensätze US-ASCII und ISO-8859-1 (Latin-1) sind 8-Bit-Zeichensätze.

Eine weitere Einstellung ist nach dem Parsen der Tags möglich. Diese als Zielkodierung bezeichnete Wahl des Zeichensatzes erfolgt, wenn die untersuchten Elemente an die Ereignisbehandlungsroutinen weiter geleitet werden. Zeichen, die nicht abgebildet werden können, ersetzt PHP durch ein Fragezeichen.

XML und Objekte

Seit PHP 4 haben Sie die Möglichkeit mit Hilfe der Funktion xml_set_object() auch Objekte zu parsen. Hierfür haben wir für Sie ein Beispiel, welches Sie sich ausführlich betrachten sollten.

Beispiel

<pre>
<?php
// XML Klassendefinition
class xml_klasse  {
    var $parser;

    function xml_klasse() {
        $this->parser = xml_parser_create();

        xml_set_object($this->parser, &$this);
        xml_set_element_handler($this->parser, "open_tag", "close_tag");
        xml_set_character_data_handler($this->parser, "cdata");
    }

    function parse($data) {
        xml_parse($this->parser, $data);
    }

    function open_tag($parser, $tag, $attributes) {
        var_dump($parser, $tag, $attributes);
    }

    function close_tag($parser, $tag) {
        var_dump($parser, $tag);
    }

    function cdata($parser, $cdata) {
        var_dump($parser, $cdata);
    }

}

// XML Parser (als Objekt)
$xml_parser = new xml_klasse();

// XML-Struktur parsen
$xml_parser->parse("<PERSON ID='100'>Matthias</PERSON>");
?>
</pre>

Ausgabe

resource(2) of type (xml)
string(6) "PERSON"
array(1) {
  ["ID"]=>
  string(3) "100"
}
resource(2) of type (xml)
string(8) "Matthias"
resource(2) of type (xml)
string(6) "PERSON"

Hinweis: In Zukunft wird die Verarbeitung von XML-Strukturen in Klassen und Objekten sicherlich vermehrt auftreten.

XML-Funktionen in PHP

Erzeugen eines XML-Parsers

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Erzeugen eines XML-Parsers

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Erzeugen eines XML-Parsers

Ein XML Parser wird immer für das jeweilige XML-Dokument individuell erzeugt. Hier nun ein Parser, der auf das folgende XML Dokument angepasst wurde.

XML-Dokuement Daten.xml

Hier haben wir die Daten.

Dieses XML Dokument wird von dem folgendem Parser verarbeitet.

PHP-Dokument daten.php

<?php
function startElement($parser, $element_name, $element_attribute) {
    global $ausgabe;
    //Umwandeln in Kleinbuchstaben
    $element_name = strtolower($element_name);
    //Überprüfung des Elementnames
    if ($element_name=="daten") {
        $ausgabe .= "<h3>Daten</h3><p>";
    }
}
function endElement($parser, $element_name) {
    global $ausgabe;
    // Umwandeln in Kleinbuchstaben
    $element_name = strtolower($element_name);
    // Überprüfung des Elementnames
    if ($element_name=="daten") {
        $ausgabe .= "</p>";
    }
}
function cdata($parser, $element_inhalt) {
    global $ausgabe;
    // Normale Text wird an $ausgabe angehängt
    $ausgabe .= $element_inhalt;
}

$xmlFile = file("daten.xml");
$parser = xml_parser_create();

xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "cdata");

foreach($xmlFile as $element) {
    xml_parse($parser, $element);
}

xml_parser_free($parser);
echo $ausgabe;
?>

Die Ausgabe nach dem Aufruf des Skriptes sieht wie folgt aus:

Um die Arbeitsweise des Skriptes zu verstehen, sollte jede der definierten Funktionen einzelne betrachtet werden.

Zunächst wenden wir uns der Funktion zu, die aufgerufen wird, wenn Expat ein öffnendes Element vorfindet. In vorliegenden Beispiel ist dies .

An die Funktion wird die Variable $parser übergeben. In ihr wird auf den erzeugten XML Parser verwiesen. Über die Variable $element_name wird der Name des Elementes übergeben. Im Beispiel ist der Name des Elementes "daten".

In der ersten Zeile der Funktion selbst wird auf die globale Variable $ausgabe verwiesen. So kann man direkt auf den Wert der Variablen zugreifen, ohne diesen an die Funktion zu übergeben. Zudem kann der Wert auch direkt aus der Funktion heraus verändert werden.

function startElement($parser, $element_name, $element_attribute) {
    global $ausgabe;
    //Umwandeln in Kleinbuchstaben
    $element_name = strtolower($element_name);
    //Überprüfung des Elementnames
    if ($element_name=="daten") {
        $ausgabe .= "<h3>Daten</h3><p>";
    }
}

Die nächste Anweisung wandelt den Namen des Elementes in Kleinbuchstaben um, da Expat die Namen eines Elementes immer in Großbuchstaben übergibt. Dies muss nicht gemacht werden, dient aber zu einem einfacheren Verständnis des Codes. Im nächsten Teil wird überprüft, ob der Name des Elementes "daten" ist. Ist dies der Fall, wird an die Variable $ausgabe der Inhalt "<h3>Daten</h3><p>" angehängt.

Nun, wollen wir uns mit der Funktion für den normalen Fließtext, CDATA kümmern. Diese hat nur eine Aufgabe. Sie muss den Inhalt des Elemenets an die Variable $ausgabe anhängen.

function cdata($parser, $element_inhalt) {
    global $ausgabe;
    // Normale Text wird an $ausgabe angehängt
    $ausgabe .= $element_inhalt;
}

Der Inhalt des aktuell geparsten Element wird über die Variable $element_inhalt übergeben. Dieser wird an die Variable $ausgabe angehängt.

Die letzte Funktion ist für die schließenden Elemente zuständig. Diese Funktion arbeitet auf der gleichen Weise, wie die Funktion für das öffnende Element.

function endElement($parser, $element_name) {
    global $ausgabe;
    // Umwandeln in Kleinbuchstaben
    $element_name = strtolower($element_name);
    // Überprüfung des Elementnames
    if ($element_name=="daten") {
        $ausgabe .= "</p>";
    }
}

Das sind die Funktionen, die in diesem Beispiel benötigt werden. Nun muss die XML Datei eingelesen werden, und daraufhin der Parser erzeugt werden.

$xmlFile = file("daten.xml");
$parser = xml_parser_create();

xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "cdata");

foreach($xmlFile as $element) {
    xml_parse($parser, $element);
}

xml_parser_free($parser);
echo $ausgabe;

In der ersten Zeile wird die Datei über die file()-Funktion in ein Array gelesen. In der zweiten Zeile wird der Parser erzeugt. Darauf werden die einzelnen Handler festgelegt.

Der letzte und wichtigste Teil des Skripts ist, das der Inhalt des Arrays über eine foreach-Schleife einzeln über die Funktion xml_parse() geparsed wird.

In der vorletzten Zeile wird der Parser wieder entfernt, d.h. sämtliche belegten Resourcen werden wieder frei gegeben. In der letzten Zeile wird nun der Inhalt der Variablen $ausgabe ausgegeben. In ihr befindet sich der Inhalt, der über die einzelnen Funktionen "dynamisch" aus der XML Datei extrahiert wurde.

Eigenschaften der XML-Funktionen

Verwendung von XSLT mit PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Verwendung von XSLT mit PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verwendung von XSLT mit PHP

XSLT (XSL Transformations) spielt eine wichtige Rolle bei der Transformation und Präsentation von XML-Dokumenten. Die Leistungsfähigkeit, die XSLT für PHP-Anwendungen bietet, lässt sich am besten anhand von Beispielen demonstrieren. Für die Beispiele wurde hier Version 4.3.3 von PHP verwendet. Hierbei ist zu berücksichtigen, dass diese Erweiterung in PHP kompiliert werden muss, bevor die Beispiele ausgeführt werden können.

Es gibt zwei Beispieldateien, die für die folgenden Beispiele verwendet werden. Zum Einen gibt es eine simple XML-Datei mit dem Namen adressen.xml. Zum Anderen gibt es eine simple XSLT-Datei mit dem Namen adressen.xslt. Die Beispiele setzen voraus, dass diese beiden Beispiele im gleichen Verzeichnis gespeichert werden, in dem auch das PHP-Skript selbst steht.

Inhalt adressen.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="example.xslt"?>
<person>
<name>
    <vorame>Matthias</vorname>
    <zuname>Volkan</zuname>
    <nachname>Kannengiesser</nachname>
</name>
<email>matthiask@atomicscript.de</email>
<telefon>
    <home>123-123-123-123</home>
    <mobil>321-321-321-321</mobil>
</telefon>
<beruf>Informatiker</beruf>
<aufgabe>PHP Developer</aufgabe>
</person>

Inhalt adressen.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:param name="date" select="2004"/>
<xsl:template match="/person">
<html>
<head>
<title>XML und XSLT Beispiel</title>
</head>
<body>
<table>
    <tr>
    <td>Personal Information:</td>
    <td><xsl:value-of select="name/vorname" /></td>
    <td><xsl:value-of select="name/zuname" /></td>
    <td><xsl:value-of select="name/nachname" /></td>
    </tr>
    <tr>
    <td>Email Address:</td>
    <td colspan="3"><xsl:value-of select="email" /></td>
    </tr>
    <tr>
    <td>Department:</td>
    <td colspan="3"><xsl:value-of select="beruf" /></td>
    </tr>
    <tr>
    <td>Position:</td>
    <td colspan="3"><xsl:value-of select="aufgabe"/></td>
    </tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

Bevor Sie jedoch los legen können, sollten wir noch überprüfen ob die DOM-Erweiterung zur Verfügung steht, da deren Funktionen zur Verarbeitung von komplexen XML-Strukturen eine wesentliche Erleichterung darstellen.

Vorraussetzungen

Um die DOM XML-Funktionen erfolgreich ausführen zu können müssen Sie PHP mit der Option --with-dom kompilieren. Windows Nutzer entfernen zur Aktivierung dieser Erweiterung das Semikolon vor dem Eintrag extension=php_domxml.dll innerhalb der php.ini. Für ein einwandfreies Arbeiten benötigen Sie zusätzlich die GNOME XML Library, ab Version 2.4.14. Sie finden die aktuelle Version für Ihr Betriebssystem unter der folgenden Adresse: www.xmlsoft.org. Windows Nutzer sollten diese Bibliothek in das Systemverzeichnis kopieren.

Welche Version Sie aktuell verwenden, können Sie mit der Funktion domxml_version() ermitteln:

print_r(domxml_version());

DOM-, XML- und XSLT im Einsatz

Das erste Beispiel ist eine Demonstration der vier Basisfunktionen, die für eine XSLT-Transformation über die DOM-Erweiterung stattfinden müssen. An dieser Stelle soll der Code einmal genauer betrachtet werden:

<?php

// Erezugt ein DomDocument-Objekt unter Verwendung eines
// XML-Dokuments
if(!$domXmlObj = domxml_open_file("adressen.xml")) {
    die("XML-Dokument kann nicht geparst werden!");
}

// Erzeugt ein DOMDocument-Objekt unter Verwendung eines
// XSLT-Dokuments
$domXsltObj = domxml_xslt_stylesheet_file("example.xslt");

// Erzeugt ein DOMDocument-Objekt welcher sich aus
// der Transformation eines XML- und XSLT-Dokument ergibt
$domTranObj = $domXsltObj->process($domXmlObj);

// Gibt die Daten aus dem transformierten Objekt aus
echo $domXsltObj->result_dump_mem($domTranObj);
?>

Die Meisten der DOM XSLT-Funktionen befassen sich mit dem Erstellen, Löschen, und Modifizieren von DOMDocument-Objekten. Die erste hier verwendete Funktion ist die Funktion domxml_open_file(). Sie erstellt ein DOM-Objekt aus der vorhandenen XML-Datei. Die nächste aufgerufene Funktion ist domxml_xslt_stylesheet_file(), die eine neues DOMXSLTStylesheet-Objekt erzeugt. Dieses Objekt wird später bei der Transformation des XML- und XSLT-Dokuments verwendet, durch die der HTML-Output erstellt wird.

Es folgt die Prozessfunktion des DOMXSLTStylesheet-Objekts. Sie verwendet ein oder mehr Argumente; das erste Argument muss das DomDocument-Objekt sein. Dieses wendet die XSLT-Transformation auf das DOMDocument an, das ihm übergeben wird. Der Prozessfunktion können weitere Argumente übergeben werden; dabei kann es sich um zusätzliche XSLT-Parameter (Array) oder Xpath-Parameter (boolesch) handeln. Das schafft Flexibilität für den Transformationsprozess. Die Funktion gibt dann eine DOMDocument-Objekt aus, das die transformierten Daten enthält.

Um die transformierten Daten anzuzeigen, liefert die letzte Funktion das Ergebnis und gibt es für den Benutzer aus. Durch Ausführen der Funktion result_dump_mem() auf das transformierte DOMDocument $domTranObj-Objekt lassen sich der Output oder das Ergebnis der Transformation aufrufen. Hierzu gehört auch ein einfaches Beispiel, wie man eine XSLT-Transformation mit PHP und DOM XSLT durchführt.

Für das zweite Beispiel wird der optionale Parameter der Funktion result_dump_file() eingeführt, die den Output der XSLT-Transformation in eine Datei ausgibt.

Beispiel

<?php
// XML, XSLT and HTML Dokumente
$xmlDatei   = "adressen.xml";
$xsltDatei  = "adressen.xslt";
$htmlDatei  = "adressen.html";
$xsltParam = array( "date" => date( "F j, Y g:i a" ) );

// Erezugt ein DomDocument-Objekt unter Verwendung eines
// XML-Dokuments
if(!$domXmlObj = domxml_open_file($xmlDatei )) {
    die( "XML-Dokument kann nicht geparst werden!" );
}

// Erzeugt ein DOMDocument-Objekt unter Verwendung eines
// XSLT-Dokuments
$domXsltObj = domxml_xslt_stylesheet_file($xsltDatei);

// Erzeugt ein DOMDocument-Objekt welcher sich aus
// der Transformation eines XML- und XSLT-Dokument ergibt
$domTranObj = $domXsltObj->process($domXmlObj, $xsltParam);

// Erzeugt ein HTML-Dokument aus dem transformierten Objekt
$domXsltObj->result_dump_file($domTranObj, $htmlDatei);

// Gibt die Datei adressen.html aus
include($htmlDatei);
?>

Wie im vorangehenden Beispiel ist das erste Argument noch immer das DOMDocument-Objekt, das durch die DOMXSLTStylesheet-Prozessfunktion erstellt wurde. Außerdem wurde der Prozessfunktion ein Parameter hinzugefügt, der einen Parameterwert an den XSLT-Prozessor übergibt. Dies demonstriert die Fähigkeit, die XSLT-Transformation in PHP dynamisch zu steuern.

Erzeugen eines XML-Parsers

Manuelle Erzeugung von XML-Dokumenten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Manuelle Erzeugung von XML-Dokumenten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Manuelle Erzeugung von XML-Dokumenten

Sie haben nun bereits erfahren, wie Sie XML-Dokumente verarbeiten können, sprich parsen. Was nun noch fehlt ist die Erzeugung von XML-Dokumenten. Man unterscheidet hierbei die manuelle und dynamische Erzeugung. Als erste werden wir Ihnen die manuelle Methode vorstellen.

Die manuelle Ausgabe von XML-Daten erfordert meist den Einsatz von mehreren foreach-Schleifen zum Arbeiten der Arrays. Es gilt hierbei einige wichtige Details zu beachten. Als Erstes müssen Sie header() aufrufen, um den korrekten Conten-Type-Header für Ihr Dokument zu setzen. Da Sie XML senden und nicht HTML, sollte dies text/xml sein.

Abhängig von der Einstellung der Konfigurationsoption short_open_tag, kann ausserdem der Versuch, die XML-Deklaration auszugeben, unbeabsichtitgt die PHP-Verarbeitung auslösen. Da das mit dem kurzen öffnenden PHP-Tag übereinstimmt, müssen Sie, um die Deklaration an den Browser ausgeben zu können, entweder die Option deaktivieren oder die Zeile mit einer PHP-Anweisung ausgeben. In der Lösung wenden wir den zweiten Weg an.

Anschliessend müssen möglicherweise vorkommende Entities in Escape-Sequenzen umgewandelt werden. Beispielsweise muss das & in dem Roman "Du & Ich" durch & ersetzt werden. Um Ihre Daten entsprechend zu konvertieren, verwenden Sie hierfür die htmlspecialchars()-Funktion.

Beispiel

<?php
header('Content-Type: text/xml');

$autoren = array(
array('name'     => 'Matthias Kannengiesser',
     'titel'  => 'MySQL 4',
     'thema'    => 'Datenbanken',
     'preis' => '39.95'),

array('name'     => 'Caroline Kannengiesser',
     'titel'  => 'Flash & ActionScript',
     'thema'    => 'Programmierung',
     'preis' => '49.95')
);

print '<?xml version="1.0"?>' . "\n";
print "<autoren>\n";

foreach ($autoren as $autor) {
    print "    <autor>\n";
    foreach($autor as $tag => $data) {
        print "        <$tag>" . htmlspecialchars($data) . "</$tag>\n";
    }
    print "    </autor>\n";
}

print "</autoren>\n";
?>

Ausgabe

<?xml version="1.0"?>
<autoren>
    <autor>
        <name>Matthias Kannengiesser</name>
        <titel>MySQL 4</titel>
        <thema>Datenbanken</thema>
        <preis>39.95</preis>
    </autor>
    <autor>
        <name>Caroline Kannengiesser</name>
        <titel>Flash &amp; ActionScript</titel>
        <thema>Programmierung</thema>
        <preis>49.95</preis>
    </autor>
</autoren>

Verwendung von XSLT mit PHP

Erzeugung von dynamischen XML-Dokumenten mit DOM

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Erzeugung von dynamischen XML-Dokumenten mit DOM

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Erzeugung von dynamischen XML-Dokumenten mit DOM

Sie haben nun bereits erfahren, wie Sie manuell ein XML-Dokumente erzeugen können. Was nun noch fehlt ist die dynamische Generierung von XML-Dokumenten mit Hilfe von DOM.

Ein einzelnes Element wird als Knoten (Node) bezeichnet. Es gibt ein Dutzend verschiedene Typen von Knoten, aber die am häufigsten benutzten Typen sind Elemente, Attribute und Texte. Nehmen wir als Beispiel folgende Zeile:

<autor alter="29">Kannengiesser</autor>

Die DOMXML-Funktionen in PHP bezeichnen den Typ von autor als XML_ELEMENT_NODE, alter="29" wird auf einen XML_ATTRIBUTE_NODE abgebildert, und Kannengiesser ist ein XML_TEXT_NODE.

Die erneuerten DOMXML-Funktionen in PHP 4.3 folgen einem bestimmten Muster. Sie erzeugen ein Element entweder als Element oder als Textknoten und fügen alle gewünschten Attribute an die entsprechende Stelle innerhalb der XML-Struktur (Baum) hinzu.

Bevor Sie Elemente erzeugen können, müssen Sie erst einmal ein neues Dokument anlegen. Hierbei übergeben Sie als Argument die XML-Version.

$xmldok = domxml_new_doc('1.0');

Anschliessend erzeugen Sie die zum Dokument gehörenden Elemente.

$buch_element = $xmldok->create_element('buch');
$buch = $xmldok->append_child($buch_element);

Hier wir ein neues Element buch erzeugt und dem Objekt $buch_element zugeordnet. Um die Dokumentenwurzel zu erzeugen, sprich den Ursprung der XML-Struktur, hängen Sie $buch_element als Kind an das Dokument $xmldok an. Das Ergebnis, $buch, bezeichnet nun das spezielle Element und seine Position innerhalb des DOM-Objekts.

Sämtliche Knoten werden durch Methodenaufrufe des $xmldok erzeugt. Nachdem ein Knoten erzeugt wurde, kann dieser an jedes beliebige Element des Baums gehängt werden. Das Element, bei dem die Methode appen_child() aufgerufen wird, legt die Position im Baum fest, an der der Knoten angeordnet ist. Im vorliegenden Fall wurde $buch_element an $xmldok gehängt, dadurch wird es zum Top-Level-Knoten oder Wurzelknoten.

Sie können nun ein weitere Knoten an $buch hängen, diese werden als Kindknoten (childnodes) bezeichnet. Da $buch ein Kind von $xmldok ist, ist das neue Element gewissermaßen ein Enkel von $xmldok.

$titel_element = $xmldok->create_element('titel');
$titel = $buch->append_child($titel_element);

Durch den Aufruf von $buch->append_child() wird das Element $titel_element unter dem Element $buch angeordnet.

Um den Text innerhalb des Tags <titel></titel> einzufügen, erzeugen Sie mit create_text_node() einen Textknoten und hängen diesen an $titel.

$text_knoten = $xmldok->create_text_node('Flash MX 2004');
$titel->append_child($text_knoten);

Da $titel bereits zum Dokument hinzugefügt wurde, besteht keine Notwendigkeit, dieses Element erneut an $buch zu hängen.

Die Reihenfolge, in der Sie die Kindelemente an die Knoten hängen, spielt keine Rolle. Die folgenden vier Codezeilen, die den Textknoten erst an $titel_element und dann an $buch hängen, führen zum selben Ergebnis, wie die obigen Codezeilen.

$titel_element = $xmldok->create_element('titel');
$text_knoten = $xmldok->create_text_node('Flash MX 2004');

$titel_element->append_child($text_knoten);
$buch->append_child($titel_element);

Um ein Attribut hinzuzufügen, rufen Sie die Methode set_attribute() des Knotens auf und übergeben den Attributnamen und den Wert als Argumente.

$titel->set_attribute('cover', 'hard');

Wenn Sie das Titel-Element jetzt ausgeben, siehst es folgendermaßen aus:

<titel cover="hard">Flash MX 2004</titel>

Nun können Sie das Dokument als String ausgeben oder in einer Datei speichern.

// XML-Dokument als String ausgeben
$ausgabe = $xmldok->dump_mem(true);

// XML-Dokument in die Datei buch.xml schreiben
$xmldok->dump_file('buch.xml',false,true);

Der einzige Parameter, den dump_mem() annimmt, ist ein optionaler Boolescher Wert. Ein leerer Wert oder false führen dazu, das der String als lange Zeile ausgegeben wird. Der Wert true führt dazu, dass der XML-Code wie hier ordentlich formatiert wird:

<?xml version="1.0"?>
<buch>
  <titel cover="hard">Flash MX 2004 Praxisbuch</titel>
</buch>

Der Methode dump_file() können Sie bis zu drei Werte übergeben. Der erste ist notwendig und bezeichnet den Dateinamen. Der zweite legt fest, ob die Datei mit gzip-komprimiert werden soll. Der letzte Wert ist die identisch mit der Option für eine ordentliche Formatierung wie bei dump_mem().

Abschliessend noch ein vollständiges Beispiel, welches sich auf die DOMXML-Funktionen stützt.

Beispiel

<?php
header('Content-Type: text/xml');
// XML-Dokument erzeugen
$xmldok = domxml_new_doc('1.0');

// Wurzel-Element erzeugen <buch> und dem XML-Dokument
// hinzufügen
$buch = $xmldok->append_child($xmldok->create_element('buch'));

// Titel-Element erzeugen <title> und dem Wurzel-Element
// hinzufügen
$titel = $buch->append_child($xmldok->create_element('titel'));

// Text für Titel-Element erzeugen und zuweisen
$titel->append_child($xmldok->create_text_node('Flash MX 2004 Praxisbuch'));

// Attribut für das Titel-Element erzeugen
// Attribut: cover
$titel->set_attribute('cover', 'hard');

// Autor-Element erzeugen <autor> und dem Wurzel-Element
// hinzufügen
$matthias = $buch->append_child($xmldok->create_element('autor'));

// Text für Autor-Element erzeugen und zuweisen
$matthias->append_child($xmldok->create_text_node('Matthias Kannengiesser'));

// Ein weiteres Autor-Element erzeugen und dem Wurzel-Element
// hinzufügen
$caroline = $buch->append_child($xmldok->create_element('autor'));

// Text für zweites Autor-Element erzeugen und zuweisen
$caroline->append_child($xmldok->create_text_node('Caroline Kannengiesser'));

// Formatierte Ausgabe des DOM basiertes XML-Dokument
echo $xmldok->dump_mem(true);
?>

Ausgabe

<?xml version="1.0"?>
<buch>
  <titel cover="hard">Flash MX 2004 Praxisbuch</titel>
  <autor>Matthias Kannengiesser</autor>
  <autor>Caroline Kannengiesser</autor>
</buch>

Hinweis: Möglicherweise vorkommende Entities müssen beim Einsatz der DOMXML-Funktionen nicht manuell in Escape-Sequenzen umgewandelt werden. Diese Aufgabe übernehmen die DOMXML-Funktionen!

Da das Thema XML noch sehr viele experimentelle Bestandteile enthält, haben wir dieses Thema lediglich angeschnitten. Wir können Ihnen jedoch jetzt bereits versichern, dass XML in Verbindung mit PHP auch in Zukunft eine immer grössere Rolle spielen wird und Einfluss auf eine Vielzahl von Web-Anwendungen haben wird.

Manuelle Erzeugung von XML-Dokumenten

Dynamische Grafiken mit der GD-Bibliothek

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


MIME-Typen und PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MIME-Typen und PHP

Das PHP nicht nur Text- und HTML-Dateien verarbeitet, sondern auch mit Dateien anderer MIME-Types umgehen kann, sollte man sich die Frage stellen, welche MIME-Typen das genau sind und wie diese aufgebaut sind.

Eine wesentliche Rolle spielt hierbei das HTTP-Protokoll. Der Typ einer Datei, die mit HTTP übertragen wird, wird durch ihren MIME-Typ festgelegt.

Was sind MIME-Typen?

MIME ist die Kurzform für Multipurpose Internet Mail Extensions. MIME-Typen bezeichnet die Art, der im Internet übertragenden Dateien.

Wenn ein HTTP-Server eine Datei an einen Client sendet, bezeichnet er deren Dateiart durch den MIME-Typ in einem speziell dafür vorgesehenen Header-Feld. Der Client benötigt den MIME-Typ, um die übertragene Datei korrekt interpretieren zu können und wiederzugeben.

Ein MIME-Typ besteht aus einem Haupttyp und einem durch einen Slash (/) abgetrennten Subtyp. Der MIME-Typ aller HTTP-Standardseiten ist text/html. Bilddateien haben den MIME-Haupttyp image und je nach Dateiformat verschiedene Subtypen. Einige wichtige MIME-Typen haben wir hier für Sie zusammengestellt:

MIME-Typ | Bedeutung
text/plain | Textdatei
text/html | HTML-Datei
image/gif | Gif-Datei
image/jpeg | JPEG-Datei
image/png | PNG-Datei
image/tiff | TIFF-Datei

Dynamische Grafiken mit der GD-Bibliothek

Festlegung des MIME-Typ

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Festlegung des MIME-Typ

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Festlegung des MIME-Typ

Sollten Sie nichts anderes festlegen, fügt PHP einem erstellten Dokument automatisch den Standard-MIME-Typ text/html hinzu, und zwar am Anfang des Dokuments. Dieser Header wird bei der Ausgabe im Browser nicht angezeigt und hat auch nichts mit dem Tag zu tun. Von der Existenz des Headers können Sie unter Windows in einem DOS-Fenster, PHP direkt aufrufen, z.B.:

php meinskript.php

Ausgabe

Content-Type: text/hmtl

Sollen Bilddateien an den http-Client übertragen werden, muss der Dateien bezeichnende MIME-Typ in einem Header zu Beginn des Dokuments mit übertragen werden. Diesen Header können Sie in PHP mit Hilfe der Funktion header() erzeugen. Für die Bilddateien, die Sie mit der GD-Bibliothek erzeugen und bearbeiten lautet der MIME-Typ, je nachdem, welches Bildformat Sie verwenden wollen, entweder image/gif, image/jpeg oder image/png.

Um dem Browser einer Bilddatei zu übertragen, ist also zunächst im zugehörigen Skript mit Hilfe der Funktion header() ein entsprechender Header zu senen. Für das JPEG-Format könnte dies, wie folgt darstellen:

<?php
header("Content-Type: image/jpeg");
?>

MIME-Typen und PHP

GD-Funktionen in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


GD-Funktionen in PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

GD-Funktionen in PHP

In der folgenden Tabelle sind die wesentlichen Funktionen zur Bilderzeugung- und bearbeitung der GD-Bibliothek aufgeführt. Die Agenda der Tabelle liest sich, wie folgt:
. $img - Entspricht einem mit imagecreate() erzeugtem Handle, welcher auf eine Bilddatei verweist.
. $x,$y - Legen die pixelgenau Bildschirmposition für ein Bild fest.
. $x1,$y1 - Symbolisieren die Bildschirmposition (linke obere Ecke).
. $x2,$y2 - Symbolisieren die Bildschirmposition (rechte untere Ecke).
. $col - Legt den Handle für eine Zeichenfarbe fest.
. $succ - Stellt den Rückgabewert der betreffenden Funktion dar, welchen den Erfolg (1) oder Misserfolg (0) einer ausgeführten Operation wiedergibt.

Hinweis: Weitere Befehle mit Beispielen finden Sie in der SELFPHP-Referenz unter www.selfphp.de/funktionsreferenz/image_funktionen/index.php

Funktion | Beispiel | Bedeutung
exif_imagetype($filename) echo exif_imagetype ("logo.jpg"); Bestimmt den Typ eines Bildes und gibt eine der Folgenden Konstanten aus:
1 = IMAGETYPE_GIF,
2 = IMAGETYPE_JPEG,
3 = IMAGETYPE_PNG,
4 = IMAGETYPE_SWF,
5 = IMAGETYPE_PSD,
6 = IMAGETYPE_BMP,
7 = IMAGETYPE_TIFF_II,
8 = IMAGETYPE_TIFF_MM,
9 = IMAGETYPE_JPC,
10 = IMAGETYPE_JP2,
11 = IMAGETYPE_JPX,
12 = IMAGETYPE_SWC.
Diese Funktion ist nur unter PHP 4 nutzbar, wenn es mit dem Zusatz --enable-exif kompiliert wurde.
gd_info() | print_r (gd_info()); | Gibt Informationen über die installierte GD-Bibliothek zurück.
getimagesize($filename [,$info]) $arr = getimagesize("logo.jpg"); Ermittelt die Bildeigenschaften einer GIF-, JPEG-, PNG- oder SWF-Grafik-Datei und gibt diese als Array $arr zurück.
$arr[0]: Bildbreite
$arr[1]: Bildhöhe
$arr[2]: Bildtyp - 1 = GIF, 2 = JPG, 3 = PNG, SWF = 4
$arr[3]: String "height=xxx width=xxx" zur Verwendung in einem <img>-Tag.
Das Array $info gibt optional zusätzliche Informationen zurück.
image_type_to_mime_type(imagetype) header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG)); Gibt dem MIME-Type für den Bildtyp aus, welcher von einer der Funktion getimagesize(), exif_read_data, exif_thumbnail oder exif_imagetype ermittelt wurde. Hier einige der Konstanten die zurück gegeben werden:
IMAGETYPE_GIF->image/gif
IMAGETYPE_JPEG->image/jpeg
IMAGETYPE_PNG->image/png
IMAGETYPE_PSD->image/psd
IMAGETYPE_BMP->image/bmp
imagearc($img, $cx, $cy, $w, $h, $s, $e, $col) | imagearc($bild, 100, 100, 50, 50, 0, 180, $farbe); | Zeichnet eine Ellipse mit dem Zentrum $cx/$cy, der Breite $w, der Höhe $h, dem Startwinkel $s und dem Endwinkel $e.
imagechar($img, $font, $x, $y, $char, $col) | imagechar($bild, $font, 100, 50, "Z", $col) ; | Zeichnet ein Zeichen $char.
imagecharup($img, $font, $x, $y, $char, $col) | imagecharup($bild, $font, 100, 50, "Z", $farbe) ; | Zeichnet ein um 90° gedrehtes Zeichen $char.
imagecolorallocate($img, $rot, $grün, $blau) | $col = imagecolorallocate($bild, 255, 0, 0); | Gibt ein Handle $col für eine Farbe zurück.
imagecolorat($img, $x, $y) | $col = imagecolorat($bild, 100, 100) ; | Gibt den Index $col des Farbwerts zu einem RGB-Wert zurück.
imagecolorresolve($img, $rot, $grün, $blau) | $col = imagecolorresolve($bild, 0, 255, 0); | Gibt den Index $col oder die nächste Farbe zu einem RGB-Wert zurück.
imagecolorset($img, $col, $rot, $grün, $blau) | $succ = imagecolorset($bild, $farbe, 0, 0, 255); | Änder eine Farbe $col innerhalb der Farbpalette.
imagecolorstotal($img) | $anzahl = imagecolorstotal($bild); | Gibt die Anzahl der im $img enthaltenen Farben zurück.
imagecolortransparent($img [,$col]) $col_n = | imagecolortransparent($bild) ; | Bestimmt eine Farbe als Transparent und gibt neues Handle $col_n zurück. Wird keine Farbe $col angegeben, wird die aktuelle verwendet.
imagecopyresized($dst_img, $src_img, $dstX, $dstY, $srcX, $srcY, $dstW, $dstH, $scrW, $scrH) | imagecopyresized($Zielbild, $Quellbild, , , , , 0, 0, 0, 0); | Kopiert einen Bildausschnitt von $scr_img (Quelle) nach $dst_img (Ziel).
imagecreate($w,$h) | $img = imagecreate(400,400); | Erzeugt ein Bild mit dem Abmessungen $w (Breite) und $h (Höhe) und gibt ein Handle an $img zurück.
imagecreatefromjpeg($filename) $img = | imagecreatefromjpeg("logo.jpg"); | Erzeugt ein Bild aus einer JPEG-Datei und gibt ein Handle $img zurück.
imagecreatefrompng($filename) $img = | imagecreatefrompng("logo.png"); | Erzeugt ein Bild aus einer PNG-Datei und gibt ein Handle $img zurück.
imagedashedline($img, $x1, $y1, $x2, $y2, $col) | imagedashedline($bild, 0, 0, 100, 100, $farbe); | Zeichnet eine gestrichelte Linie.
imagedestroy($img) | imagedestroy($bild); | Gibt den von einem Bild belegten Speicher frei.
imagefill($img, $x, $y, $col); | imagefill($bild, 100,100,$farbe) ; | Füllt eine Fläche mit der Farbe $col.
imagefilledarc($img, $cx, $cy, $w, $h, $s, $e, $col,$style) imagefilledarc($bild, 50, $i, 100, 50, 0, 45, $farbe, IMG_ARC_PIE); Zeichnet eine gefüllte Ellipse mit dem Zentrum $cx/$cy, der Breite $w, der Höhe $h, dem Startwinkel $s und dem Endwinkel $e. Der Parameter $style kann folgende Werte annehmen:
IMG_ARC_PIE - Legt einen abgerundeten Rand fest.
IMG_ARC_CHORD - Verbindet Start- und Endwinkel mit einer Linie.
IMG_ARC_NOFILL - Keine Füllung lediglich Umrisslinien.
IMG_ARC_EDGED - Umrisslinien am Rand.
imagefilledellipse($img, $cx, $cy, $w, $h, $col) | imagefilledellipse($bild, 200, 150, 300, 200, $farbe); | Zeichnet eine gefüllte Ellipse mit dem Zentrum $cx/$cy, der Breite $w, der Höhe $h, dem Startwinkel $s und dem Endwinkel $e.
imagefilledpolygon($img, $points, $num, $col) imagefilledpolygon($bild, $points, $num, $farbe) ; Zeichnet ein mit der Farbe $col gefülltes Polygon mit $num Punkten. Die Punktkoordinaten sind im Array $points enthalten.
Points[0] = x0;
Points[1] = y0;
Points[2] = x1;
Points[3] = y1;
usw.
imagefilledrectangle($img, $x1, $y1, $x2, $y2, $col) imagefilledrectangle($bild, {AusgabeReferenz}, {AusgabeReferenz}, 0, 0, $farbe); Zeichnet ein gefülltes Rechteck.
imagefilltoborder($img, $x, $y, $border, $col) imagefilltoborder($bild, $x, $y, $border, $farbe) Füllt eine Fläche, die durch die Farbe $col abgerenzt ist.
imagefontheight($font) $h = imagefontheight($font); Gibt die Schrifthöhe einer Schriftart zurück.
imagefontwidth($font) $b = imagefontheight($font); Gibt die Schriftbreite einer Schriftart zurück.
imageinterlace($img [,$mode]) imageinterlace($bild, 1); Aktiviert oder deaktiviert den Interlaced Modus (1=an, 0=aus).
imageline($img, $x1, $y1, $x2, $y2, $col) imageline($bild, $x1, $y1, $x2, $y2, $farbe) ; Zeichnet eine Linie.
imageloadfont($filename) imageloadfont(datei); Lädt einen neuen Font (Schriftart) aus der Datei $filename.
imagejpeg($img [, $filename [, $quality]]) imagejpeg($bild, "test.jpg", 50); Erzeugt ein JPEG-Bilddatei.
imagepng($img [,$filename]) imagepng($bild, "test.png"); Erzeugt ein PNG-Bilddatei.
imagepolygon($img, $points, $num, $col) imagepolygon($bild, $points, $num, $farbe) ; Zeichnet ein Polygon mit $num Punkten. Die Punktkoordinaten sind im Array $points enthalten.
Points[0] = x0;
Points[1] = y0;
Points[2] = x1;
Points[3] = y1;
usw.
imagepsbbox($text, $font, $size, $space, $width, $angle) $array = imagepsbbox($text, $font, $size, $space, $width, $angle); Gibt ein Array mit den Maßen einer Textbox zurück (PostScript Type-1-Font).
Array[0]: x1 (links unten)
Array[1]: y1 (links unten)
Array[2]: x2 (rechts oben)
Array[3]: y2 (rechts oben)
imagepsencodefont($endcodinfile) | imagepsendcodefont($endcoding); | Ändern den beschreibenden Vektor eines PostScript Type-1-Font.
imagepsfreefont($fontindex) | imagepsfreefont($index); | Gibt den von einem PostScript Type-1-Font belegten Speicher frei.
imagepsloadfont($filename) | imagepsloadfont($datei); | Lädt einen PostScript Type-1-Font aus einer Datei.
imagepstext($image, $text, $font, $size, $foreground, $background, $x, $y [, $space [, $tightness [, $angle [, $antialias_steps]]]]) | $array = imagepstext($image, $text, $font, $size, $foreground, $background, $x, $y [, $space [, $tightness [, $angle [, $antialias_steps]]]]); | Zeichnet einen String $text über einem Bild mit einem PostScript Type-1-Font und gibt ein Array $array mit den Maßen des erzeugten Text zurück.
imagerectangle($img, $x1, $y1, $x2, $y2, $col) | imagerectangle($bild, 100, 100, 200, 200, $farbe); | Zeichnet ein Rechteck.
imagesetpixel($img, $x, $y, $col) | imagesetpixel($bild, 100, 100, $farbe); | Setzt einen einzelnen Pixel.
imagestring($img, $font, $x, $y, $text, $col) | imagestring($bild, $font, $x, $y, "PHP", $farbe); | Schreibt einen Text $text.
imagestringup($img, $font, $x, $y, $text, $col) | imagestringup($bild, $font, $x, $y, "PHP", $farbe); | Schreibt einen vertikal ausgerichteten Text $text.
imagesx($img) | $b = imagesx($bild); | Gibt die Breite eines Bilds zurück.
imagesy($img) | $h = imagesy($bild); | Gibt die Höhe eines Bilds zurück.
imagettfbbox($size, $angle, $fontfile, $text) | $array = imagettfbbox($size, $angle, $fontfile, $text); | Gibt ein Array $array mit den Abmessungen einer Textbox mit TrueType-Fonts aus.
imagettftext($img, $size, $angle, $x, $y, $col, $fontfile, $text) | $array == imagettftext($bild, $size, $angle, $x, $y, $farbe, $fontfile, $text) | Zeichnet einen Text $text mit TrueType-Fonts und gibt ein Array $array mit den Abmessungen aus.

Festlegung des MIME-Typ

GD-Funktionen in der Praxis

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


GD-Funktionen in der Praxis

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

GD-Funktionen in der Praxis

Die Erstellung von Grafiken, für beispielsweise statistische Erhebungen in Form von Linien- und Säulendiagrammen und dies in Echtzeit, stellen mit Hilfe der GD-Bibliothek kein Problem dar.

Text via GD-Funktionen

Als erstes wollen wir Sie mit einem Beispiel konfronitieren, welches Sie einfach mal ausprobieren sollten.

Beispiel

<?php
// Dokument Header mit MIME-Typ festlegen
header("Content-type: image/png");

$bild = ImageCreate(400,400);
$hintergrund = imagecolorallocate($bild, 255, 255, 255);
$farbeSchwarz = imagecolorallocate($bild, 0, 0, 0);

// Eingebaute GD-Bibliothek Schriftarten verwenden
ImageString($bild, 4, 10, 10, 'PHP Praxis', $farbeSchwarz);

// TrueType-Schriftarten verwenden
// ImageTTFText($bild, 20, 0, 10, 50, $farbeSchwarz, '/pfad/zum/font.ttf','PHP Praxis');

// Vertikaler Text
ImageStringUp($bild, 4, 10, 150, 'PHP Praxis', $farbeSchwarz);

// Bild ausgeben
imagepng($bild);

// Bild aus Speicher entfernen
imagedestroy($bild);
?>

Sie sollten sich die Ausgabe genau betrachten und anschliessend mit den Werten experimentieren.

Liniendiagramme

Zur Illustration, wie man mit PHP dynamisch Grafiken erzeugen kann, sollen hier einige Diagramme erstellt werden. Das erste Beispiel stellt ein Liniendiagramm auf einem Raster dar.

Zum Aufrufen einer dynamisch erzeugten Grafik auf einer Webseite genügt es, einen Link zu der PHP-Seite zu setzen, welche die Grafik an den Browser weiterleitet. Das [image] -Tag ist hierfür bestens geeignet, wie das folgende Beispiel zeigt:

<html>
<head>
  <title>GD-Bibliothek in der Praxis</title>
</head>
<body>
  <h1>Liniendiagramm</h1><p>
  <img src="diagramm.php"><br>
</body>
</html>

Nun zum eigentlichen Code, der die Grafik erzeugt. Hier die einzelnen Bestandteile des Quellcodes von diagramm.php:

// Diagramm Werte
$daten=array(0,125,100,238,200,175,100,200,250,225,125);

Zuerst werden die Werte für das Diagramm angegeben. Im vorliegenden Beispiel befinden sich die Werte in einem Array $daten. Sie könnten ebenso gut aus einer XML-Datei, einem Formular oder einer Datenbank stammen. Die Werte reichen von 0 bis 250, den Abmessungen der Grafik in Pixel. Der Wert legt die Anfangsposition jedes Diagrammsegments im Raster fest. Falls Sie Werte zwischen 0 und 100 verwenden möchte, wie bei Prozentangaben, müssen Sie den jeweiligen Wert nur mit Faktor 2.5 multiplizieren, um die Pixelposition im Raster zu bestimmen. Der Faktor ergibt sich hierbei aus den Maßen des Bildes:

Fallbeispiel

250x250 -> 250/100 -> 2.5

Als nächstes wird ein PNG-Header verschickt und die Breite und Höhe der Grafik festgelegt:

// PNG-Grafik definieren
header("Content-type: image/png");

// Breite/Höhe des Diagramm
$imgBreite=250;
$imgHoehe=250;

PNG steht übrigens für Portable Network Graphic, ein verlustfreies Grafikformat.Nun kann das Image-Objekt erzeugt und die Farben für das Diagramm festgelegt werden:

// Image-Objekt erzeugen und Farben definieren
$bild=imagecreate($imgHoehe, $imgBreite);
$farbeWeiss=imagecolorallocate($bild, 255, 255, 255);
$farbeGrau=imagecolorallocate($bild, 192, 192, 192);
$farbeBlau=imagecolorallocate($bild, 0, 150, 255);

Der Hintergrund wird weiß sein, das Raster grau und die Linien des Liniendiagramm blau. Durch Erstellen weiterer Variablen und Festlegen anderer RGB-Werte lassen sich Farben problemlos ändern oder hinzufügen. Als Nächstes wird ein grauer Rand für die Grafik erzeugt, und zwar für jede Kante einzeln mithilfe der imageline()-Funktion:

// Rand für die Grafik erzeugen
imageline($bild, 0, 0, 0, 250, $farbeGrau);
imageline($bild, 0, 0, 250, 0, $farbeGrau);
imageline($bild, 249, 0, 249, 249, $farbeGrau);
imageline($bild, 0, 249, 249, 249, $farbeGrau);

Es gilt jeweils zwei x/y-Koordinaten festzulegen. Jedes der Wertepaare in der imageline()-Funktion gibt einen Start- und Endpunkt innerhalb der Grafik an. Zur Vervollständigung des Rasters werden im regelmäßigen Abstand von 25 Pixel auf der x/y-Achse weitere graue Linien hinzugefügt:

// Raster erzeugen
for ($i=1; $i<count($daten); $i++){
    imageline($bild, $i*25, 0, $i*25, 250, $farbeGrau);
    imageline($bild, 0, $i*25, 250, $i*25, $farbeGrau);
}

Position (0,0) bezieht sich auf die linke obere Ecke des Rasters und Position (250,250) auf die untere rechte Ecke. Dies entspricht genau den Abmessungen der Grafik. Zur Erzeugung des Liniendiagramms werden sämtliche Werte des Arrays in einer Schleife durchlaufen und so Start- und Endpunkt jedes Liniensegments bestimmt:

// Liniendiagramm erzeugen
for ($i=0; $i<count($daten); $i++){
imageline($bild, $i*25, (250-$daten[$i]),
    ($i+1)*25, (250-$daten[$i+1]), $farbeBlau);
}

PHP erzeugt mit Hilfe der imageline()-Funktion eine blaue Linien zwischen den aufeinanderfolgenden Koordinaten. Das vorliegende Beispiel besitzt lediglich elf Werte, aber man kann dieses Verfahren leicht ausbauen und komplexe Diagramme wie Börsenindizes oder Ähnliches erstellen.

Abschliessend muss die Grafik zur Ausgabe an den Browser verschickt und der Speicherplatz auf dem Server wieder freigegeben werden:

// Diagramm ausgeben und Grafik
// aus dem Speicher entfernen
imagepng($bild);
imagedestroy($bild);

Beispiel - vollständig

<?php
// Diagramm Werte
$daten=array(0,125,100,238,200,175,100,200,250,225,125);

// PNG-Grafik definieren
header("Content-type: image/png");

// Breite/Höhe des Diagramm
$imgBreite=250;
$imgHoehe=250;

// Image-Objekt erzeugen und Farben definieren
$bild=imagecreate($imgHoehe, $imgBreite);
$farbeWeiss=imagecolorallocate($bild, 255, 255, 255);
$farbeGrau=imagecolorallocate($bild, 192, 192, 192);
$farbeBlau=imagecolorallocate($bild, 0, 150, 255);
$farbeHellblau=imagecolorallocate($bild, 0, 200, 255);

// Rand für die Grafik erzeugen
imageline($bild, 0, 0, 0, 250, $farbeGrau);
imageline($bild, 0, 0, 250, 0, $farbeGrau);
imageline($bild, 249, 0, 249, 249, $farbeGrau);
imageline($bild, 0, 249, 249, 249, $farbeGrau);

// Raster erzeugen
for ($i=1; $i<count($daten); $i++){
    imageline($bild, $i*25, 0, $i*25, 250, $farbeGrau);
    imageline($bild, 0, $i*25, 250, $i*25, $farbeGrau);
}

// Liniendiagramm erzeugen
for ($i=0; $i<count($daten); $i++){
imageline($bild, $i*25, (250-$daten[$i]),
    ($i+1)*25, (250-$daten[$i+1]), $farbeBlau);
}

// Diagramm ausgeben und Grafik
// aus dem Speicher entfernen
imagepng($bild);
imagedestroy($bild);
?>

Sie sollten die Liniendiagramm Schleife mal durch folgende Codezeilen ersetzen und austesten:

// Liniendiagramm erzeugen
for ($i=0; $i<count($daten); $i++){
imageline($bild, $i*25, (250-$daten[$i]),
    ($i+1)*25, (250-$daten[$i+1]), $farbeBlau);
    imageellipse($bild, $i*25, (250-$daten[$i]), 8, 8, $farbeBlau);
}

oder

// Liniendiagramm erzeugen
for ($i=0; $i<count($daten); $i++){
imageline($bild, $i*25, (250-$daten[$i]),
    ($i+1)*25, (250-$daten[$i+1]), $farbeBlau);
    imagefilledellipse($bild, $i*25, (250-$daten[$i]), 8, 8, $farbeBlau);
}

Sie sehen Ihrer Fanatsie sind kaum Grenzen gesetzt.

Säulendiagramm

Das vorliegende Beispiel lässt sich mit einigen Handgriffen recht einfach zur Erzeugung von Säulendiagrammen umwandeln.

Die Funktion imagefilledrectangle() erzeugt zwei Sorten von Rechtecken: Die dunkelblauen Säulen repräsentieren die Werte aus dem Array $daten, und die hellblauen füllen die Zwischenräume aus:

// Säulendiagramme erzeugen
for ($i=0; $i<count($daten); $i++){
    imagefilledrectangle($bild, $i*25, (250-$daten[$i]),
    ($i+1)*25, 250, $farbeBlau);
    imagefilledrectangle($bild, ($i*25)+1,
    (250-$daten[$i])+1,
    (($i+1)*25)-5, 248, $farbeHellblau);
}

Für den Hellblauen Farbwert müssen Sie noch folgende Zeile im Skript platzieren:

$farbeHellblau=imagecolorallocate($bild, 0, 200, 255);

Beispiel - vollständig

<?php
// Diagramm Werte
$daten=array(0,125,100,238,200,175,100,200,250,225,125);

// PNG-Grafik definieren
header("Content-type: image/png");

// Breite/Höhe des Diagramm
$imgBreite=250;
$imgHoehe=250;

// Image-Objekt erzeugen und Farben definieren
$bild=imagecreate($imgHoehe, $imgBreite);
$farbeWeiss=imagecolorallocate($bild, 255, 255, 255);
$farbeGrau=imagecolorallocate($bild, 192, 192, 192);
$farbeBlau=imagecolorallocate($bild, 0, 150, 255);
$farbeHellblau=imagecolorallocate($bild, 0, 200, 255);

// Rand für die Grafik erzeugen
imageline($bild, 0, 0, 0, 250, $farbeGrau);
imageline($bild, 0, 0, 250, 0, $farbeGrau);
imageline($bild, 249, 0, 249, 249, $farbeGrau);
imageline($bild, 0, 249, 249, 249, $farbeGrau);

// Raster erzeugen
for ($i=1; $i<count($daten); $i++){
    imageline($bild, $i*25, 0, $i*25, 250, $farbeGrau);
    imageline($bild, 0, $i*25, 250, $i*25, $farbeGrau);
}

// Säulendiagramme erzeugen
for ($i=0; $i<count($daten); $i++){
    imagefilledrectangle($bild, $i*25, (250-$daten[$i]),
    ($i+1)*25, 250, $farbeBlau);
    imagefilledrectangle($bild, ($i*25)+1,
    (250-$daten[$i])+1,
    (($i+1)*25)-5, 248, $farbeHellblau);
}

// Diagramm ausgeben und Grafik
// aus dem Speicher entfernen
imagepng($bild);
imagedestroy($bild);
?>

Hinweis: Sie sollten allerdings einen wichtigen Aspekt nicht aus den Augen verlieren, wenn man solche Grafiken serverseitig erzeugt: Sie belasten den Prozessor nicht unerheblich. Wenn man zu viele dieser dynamischen Grafiken auf einer Website verwendet, wird es zu Performance-Einbußen kommen.

Abschliessend wollen wir Ihnen noch den Quellcode für die wohl flexibelste Umsetzung des Linien- und Säulendiagramms zur Verfügung stellen:

Beispiel

<?php

// PNG-Grafik definieren
header("Content-type: image/png");

// Diagramm Werte (Prozentangaben)
$daten=array(0,50,40,100,80,70,40,80,95,90,50);

// Prozentumrechnung + grössen Faktor
function setProzent($faktor) {
    global $daten;
    for ($i = 0; $i < count($daten); $i++) {
            $daten[$i] = round($daten[$i]*$faktor);
    }
}

// Breite/Höhe des Diagramm
$imgDim = 250;

// Ausführen
setProzent($imgDim/100);

$bfaktor = $imgDim/(count($daten)-1);

// Image-Objekt erzeugen und Farben definieren
$bild=imagecreate($imgDim, $imgDim);
$farbeWeiss=imagecolorallocate($bild, 255, 255, 255);
$farbeGrau=imagecolorallocate($bild, 192, 192, 192);
$farbeBlau=imagecolorallocate($bild, 0, 150, 255);
$farbeHellblau=imagecolorallocate($bild, 0, 200, 255);

// Rand für die Grafik erzeugen
imageline($bild, 0, 0, 0, $imgDim, $farbeGrau);
imageline($bild, 0, 0, $imgDim, 0, $farbeGrau);
imageline($bild, $imgDim-1, 0, $imgDim-1, $imgDim-1, $farbeGrau);
imageline($bild, 0, $imgDim-1, $imgDim-1, $imgDim-1, $farbeGrau);

// Raster erzeugen
for ($i=1; $i<count($daten); $i++){
    imageline($bild, $i*$bfaktor, 0, $i*$bfaktor, $imgDim, $farbeGrau);
    imageline($bild, 0, $i*$bfaktor, $imgDim, $i*$bfaktor, $farbeGrau);
}

// Liniendiagramm erzeugen
for ($i=0; $i<count($daten); $i++){
imageline($bild, $i*$bfaktor, ($imgDim-$daten[$i]),
    ($i+1)*$bfaktor, ($imgDim-$daten[$i+1]), $farbeBlau);
    imagefilledellipse($bild, $i*$bfaktor, ($imgDim-$daten[$i]), 6, 6, $farbeBlau);
}

// Diagramm ausgeben und Grafik
// aus dem Speicher entfernen
imagepng($bild);
imagedestroy($bild);

?>

Zusatze - Säulendiagramm

// Säulendiagramme erzeugen
for ($i=0; $i<count($daten); $i++){
    imagefilledrectangle($bild, $i*$bfaktor, ($imgDim-$daten[$i]),
    ($i+1)*$bfaktor, $imgDim, $farbeBlau);
    imagefilledrectangle($bild, ($i*$bfaktor)+1,
    ($imgDim-$daten[$i])+1,
    (($i+1)*$bfaktor)-5, $imgDim-2, $farbeHellblau);
}

Wie Sie sehen können Sie die Dimension des Diagramms nun flexibel über die Variable $imgDim festlegen. Das Codezeilen wurden zusätzlich so angepasst, dass die Daten aus dem Array $daten in Form von Prozentangaben erfolgen können.

Tortendiagramme

Einige von Ihnen werden sich sicher die Frage stellen, wie es um die Umsetzung von Tortendiagrammen gestellt ist - die Lösung bietet Ihnen die Funktion imagefilledarc(). Hiermit wird die Realisierung von Tortendiagramme zum Kinderspiel, na ja sagen wir fast.

Beispiel

<?php

// Header (MIME-Typ)
header('Content-type: image/png');

// Image-Objekt erzeugen
$bild = imagecreate(200, 200);

// Farbwerte festlegen
$hintergrund = imagecolorallocate($bild, 0xFF, 0xFF, 0xFF);
$farbeGrau = imagecolorallocate($bild, 0xC0, 0xC0, 0xC0);
$farbeDunkelGrau = imagecolorallocate($bild, 0x90, 0x90, 0x90);
$farbeBlau = imagecolorallocate($bild, 0x00, 0x00, 0x80);
$farbeDunkelBlau = imagecolorallocate($bild, 0x00, 0x00, 0x50);
$farbeRot = imagecolorallocate($bild, 0xFF, 0x00, 0x00);
$farbeDunkelRot = imagecolorallocate($bild, 0x90, 0x00, 0x00);

// 3D Effekt simulieren
for ($i = 60; $i > 50; $i--) {
    imagefilledarc($bild, 50, $i, 100, 50, 0, 55, $farbeDunkelBlau, IMG_ARC_PIE);
    imagefilledarc($bild, 50, $i, 100, 50, 55, 135 , $farbeDunkelGrau, IMG_ARC_PIE);
    imagefilledarc($bild, 50, $i, 100, 50, 135, 360 , $farbeDunkelRot, IMG_ARC_PIE);
}

// Eigentliches Diagramm
imagefilledarc($bild, 50, 50, 100, 50, 0, 55, $farbeBlau, IMG_ARC_PIE);
imagefilledarc($bild, 50, 50, 100, 50, 55, 135 , $farbeGrau, IMG_ARC_PIE);
imagefilledarc($bild, 50, 50, 100, 50, 135, 360 , $farbeRot, IMG_ARC_PIE);

// Diagramm ausgeben und Grafik
// aus dem Speicher entfernen
imagepng($bild);
imagedestroy($bild);
?>

GD-Funktionen in PHP

Zend Engine 2 und PHP 5

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Moduleinstellungen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Moduleinstellungen

In diesem Abschnitt sind Einstellungen für einzelne mit [Modulname] gekennzeichnete Module möglich. In diesem Abschnitt finden sich unter anderem auch Unterabschnitte für die einzelnen von PHP unterstützten Datenbanken. Stellvertretend für eine ganze Reihe von datenbankspezifischen Unterabschnitten werden hier aus Platzgründen nur die Abschnitte [ODBC] und [MySQL] aufgeführt.

Verwendung von Systemprotokoll-Variablen

Option | Bedeutung
define_syslog_variables = Off | Schalter für die Verwendung der Systemprotokoll-Variablen $LOG_PID, $LOG_CRON, usw. Der eingeschaltete Zustand bringt Performance-Einbussen mit sich.

Einstellungen für die Mail-Funktion

Option | Bedeutung
SMTP = localhost | Name des SMTP-Servers (nur Windows).
sendmail_from = me@localhost.com | Standard-Eintrag für den Mail-Absender (nur Windows).
sendmail_path = | Pfad zum Sendmail-Programm (nur UNIX).

Konfiguration des PHP-Debuggers

Option | Bedeutung
debugger.host = localhost | Hostname des PHP-Debuggers.
debugger.port = 7869 | Port des PHP-Debuggers.
debugger.enabled = False | Schalter für die Verwendung des Debuggers.

Konfiguration der Logging-Funktion

Option | Bedeutung
logging.method = db | Einstellungen für die Protokollierung.
logging.directory = /path/to/log/directory | Pfad zum Logging-Directory.

Konfiguration allgemeiner SQL-Optionen

Option | Bedeutung
sql.safe_mode = Off | Falls aktiviert, wird SQL im sicheren Modus betrieben.

Konfiguration des ODBC-Unterstützung

Option | Bedeutung
uodbc.allow_persistent = On | Falls aktiviert, sind persistene (ständige) Verbindungen möglich.
uodbc.max_persistent = -1 | Maximale Anzahl der persistenten Verbindungen. -1 bedeutet unbegrenzt.
uodbc.max_links = -1 | Maximale Anzahl der persistenten und nicht-persistenten Verbindungen. -1 bedeutet unbegrenzt.
uodbc.defaultlrl = 4096 | Behandlung langer Felder. Anzahl der Byte die an Variablen zurückgegeben werden.
uodbc.defaultbinmode = 1 | Behandlung von binären Daten. 0 - passthru 1 - unveränderte Rückgabe 2 - Umwandlung in Zeichen

Konfiguration des MySQL-Unterstützung

Option | Bedeutung
mysql.allow_persistent = On | Falls aktiviert, sind persistene (ständige) Verbindungen möglich.
mysql.max_persisten = -1 | Maximale Anzahl der persistenten Verbindungen. -1 bedeutet unbegrenzt.
mysql.max_links = -1 | Maximale Anzahl der persistenten und nicht-persistenten Verbindungen. -1 bedeutet unbegrenzt.
mysql.default_port = | Port des MySQL-Servers.
mysql.default_host = | Hostname des MySQL-Servers.
mysql.default_user = | Standardbenutzer für den MySQL-Server.
mysql.default_password = | Standardpasswort für den MySQL-Server.

Konfiguration der bcmath-Funktionen

Option | Bedeutung
bcmath.scale = 0 | Anzahl der Nachkommastellen für die bcmath-Funktionen.

Konfiguration für allgemeine Browser-Einstellungen

Option | Bedeutung
browscap = extra/browscapi.ini | Pfad zur Konfigurationsdatei browscapi.ini

Optionen für die Session-Verwaltung

Option | Bedeutung
session.save_handler = files | Datei-Handler für eine Datei zum Speichern bzw. Abholen der Sessiondaten.
session.save_path = /tmp | Pfad, unter dem die Sessiondaten gespeichert werden.
session.use_cookies = 1 | Schalter für die Verwendung von Cookies.
session.name = PHPSESSID | Standardname der Session, wird auch als Cookie-Name verwendet.
session.auto_start = 0 | Falls aktiviert (=1), wird das Session-Modul bei jeder Anforderung gestartet.
session.cookie_lifetime = 0 | Lebensdauer der Session-Cookies (in Sekunden). 0 bedeutet bis zum Benden des Browsers.
session.serialize_handler = php | Handler für das Serialisieren von Sessiondaten.
session.gc_probability = 1 | Parameter zur Steuerung der Routine zum Aufräumen des Speichers (Angabe in %).
session.gc_maxlifetime = 1440 | Anzahl der Sekunden, nach der Session-Variablen von der Aufräumroutine gelöscht werden.

PHP-Erweiterungen für Windows

Installation des MySQL-Datenbankservers

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vordefinierte Konstante

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vordefinierte Konstante

Bei den vordefinierten Konstanten steht seit PHP 5 die Konstante __METHOD__ zur Verfügung mit deren Hilfe Sie den Namen einer Klassenmethode ermitteln können.

Beispiel

<?php

class MeineKlasse {

    function ausgeben() {
        echo "Kalssenmethode von " . __METHOD__;
    }

}

$objekt = new MeineKlasse;
$objekt->ausgeben();

?>

Ausgabe

Kalssenmethode von MeineKlasse::ausgeben

Übersicht der Anpassungen und Erweiterungen

Einsatz von array_combine()

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von array_combine()

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von array_combine()

Diese Array-Funktion steht Ihnen zur Verfügung um aus zwei Arrays eines zu erzeugen. Hierbei wird eines der beiden Array für die Schlüssel verwendet und das andere Array für die Werte.

Syntax

array_combine (keys, values)

Beispiele

<pre>
<?php

$keys = array('Licht', 'Schlafzimmer', 'Tür');
$values = array('An', 'Zu', 'Offen');
$wohnung = array_combine($keys, $values);

print_r($wohnung);

?>
</pre>

Ausgabe

Array
(
    [Licht] => An
    [Schlafzimmer] => Zu
    [Tür] => Offen
)

Sollte die Anzahl der Elemente der beiden Arrays nicht übereinstimmen gibt array_combine() false zurück.

Vordefinierte Konstante

Einsatz von range()

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von range()

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von range()

Wie sie bereits in Kapitel 3 erfahren wird die Funktion range() eingesetzt um ein Array mit einem festgelegten Bereich von Elementen zu erzeugen. In PHP 5 wurde der dritte und optionale Parameter step eingeführt. Ist ein Wert für step angegeben, wird dieser Schrittweite zwischen den Elementen in der Sequenz verwendet. Ist step nicht angegeben, wird automatisch der Wert 1 angenommen.

Syntax

range (low,high [, step])

Beispiel

<?php

foreach(range(0, 100, 10) as $number) {
    echo "$number -";
}

?>

Ausgabe

0 -10 -20 -30 -40 -50 -60 -70 -80 -90 -100 -

Natürlich lässt sich dies auch bei Zeichenfolgen einsetzen.

Beispiel

<?php

foreach(range("A", "Z", 5) as $buchstabe) {
    echo "$buchstabe - ";
}

?>

Ausgabe

A - F - K - P - U - Z -

Hinweis: step sollte immer als positive Zahl angegeben werden.

Einsatz von array_combine()

Einsatz von microtime()

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von microtime()

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von microtime()

Mit Hilfe der Funktion sind Sie in der Lage den aktuellen UNIX-Zeitstempel mit Mikrosekunden zu erhalten. Seit PHP 5 steht Ihnen für die diese Funktion ein optionaler Parameter get_as_float zur Verfügung. Sollten Sie den Parameter mit true (1) setzen, gibt microtime() eine Fließkommazahl (float) zurück.

Syntax

microtime ( [get_as_float])

Beispiel

<?php

// PHP 4 ohne Parameter
function getmicrotime()
{
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = getmicrotime();

for ($i=0; $i < 1000; $i++) {
    //mach nichts,1000 mal
}

$time_end = getmicrotime();
$time = $time_end - $time_start;

echo "Nichts getan in $time Sekunden<br>";

// PHP 5 mit Parameter
$time_start = microtime(1);

for ($i=0; $i < 1000; $i++) {
    //mach nichts,1000 mal
}

$time_end = microtime(1);
$time = $time_end - $time_start;

echo "Nichts getan in $time Sekunden<br>";

?>

Ausgabe

Nichts getan in 0.00095582008361816 Sekunden
Nichts getan in 0.00088214874267578 Sekunden

Einsatz von range()

Einsatz von scandir()

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von scandir()

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von scandir()

Die Funktion scandir() ermöglicht es Ihnen sämtliche Dateien und Verzeichnisse eines Pfades aufzulisten. Hierbei sorgt die Funktion dafür, dass die gefundenen Dateien und Verzeichnisse in Form eines Arrays zurückgegeben werden. Der Optionale Parameter sorting_order ermöglicht Ihnen die Reihenfolge der Elemente im Array zu bestimmen, aufsteigend oder absteigend (1).

Syntax

scandir ( directory [, sorting_order])

Beispiel

<pre>
<?php

$verzeichnis    = '.';
$daten1 = scandir($verzeichnis);
$daten2 = scandir($verzeichnis, 1);

print_r($daten1);
print_r($daten2);

?>
</pre>

Ausgabe

Array
(
    [0] => .
    [1] => ..
    [2] => test.php
    [3] => test2.txt
)
Array
(
    [1] => test2.txt
    [2] => test.php
    [3] => ..
    [4] => .
)

Einsatz von microtime()

Einsatz von file_get_contents() und file_put_contents()

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von file_get_contents() und file_put_contents()

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von file_get_contents() und file_put_contents()

Die Funktion file_get_contents() wurde in PHP 4.3.0 eingeführt. Nun wurde auch file_put_contents() nachgereicht. Die Funktion file_get_contents() arbeitet ähnlich, wie file(), nur mit dem Unterschied das der Inhalt einer Datei als Zeichenfolge ausgegeben wird und nicht in Form eines Arrays, wie es bei file() der Fall ist. Der Einsatz dieser neuen Funktion führt im übrigen durch Memory Mapping zu einer deutlichen Performance Verbesserung. Sie sollten diese einsetzen, wenn dies Ihr Betriebsystem zu lässt.

Syntax

file_get_contents (filename [, path [, context]])

Die Funktion file_put_contents() arbeitet vom Prinzip her, wie die Kombination aus den Funktionen fopen(), fwrite() und fclose(). Die Funktion liefert nach einem erfolgreichen Speichervorgang, die Datenmenge in Bytes zurück.

Syntax

file_put_contents (filename, data [, flags [, context]])

Beide Funktionen sind im übrigen binary safe.

Beispiel

<?php

// Auslesen
$inhalt = file_get_contents("info.txt");
echo "Daten: $inhalt<br>";

$inhalt .= "mehr anfügen\n";

// Schreiben
$menge = file_put_contents("info.txt",$inhalt);
echo "Datenmenge: $menge Bytes";

?>

Ausgabe

Daten: Hier ein Text!
Datenmenge: 86 Bytes

Einsatz von scandir()

Erweiterungs-Optimierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Erweiterungs-Optimierung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Erweiterungs-Optimierung

Zusätzlich wurden Optimierung für folgende Erweiterungen vorgenommen:
. curl-Extension
. fam-Extension
. ftp-Extension
. iconv-Extension
. imap-Extension
. ibase-Extension
. dns-Extension
. proc-Extension
. stream-Extension
. yaz-Extension

Einsatz von file_get_contents() und file_put_contents()

MySQL und PHP 5

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation des MySQL-Datenbankservers

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation des MySQL-Datenbankservers

Die Installation eines MySQL-Servers kann in folgende Schritte unterteilt werden:

. Beschaffung des MySQL-Programms
. Installation des MySQL-Servers, gegebenenfalls Kompilierung des Quellcodes
. Konfiguration des Systems

Hinweis: Aktuelle Versionen des MySQl-Datenbankserver finden Sie im Internet unter dev.mysql.com/downloads/.

Moduleinstellungen

Installation auf UNIX-/LINUX-Systemen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Erforderliche Kenntnisse

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Erforderliche Kenntnisse

Folgende Tabelle gibt Ihnen eine Übersicht über erforderliche Kenntnisse, die für eine produktive Nutzung von MySQL notwendig sind.

Bereich | Notwendige Kenntnisse
Installation/Update - | Software-Installation auf dem jeweiligen Betriebssystem - Umgang mit Betriebssystem - Umgang mit Entwicklungsumgebungen/Editoren - Updates von vorhanden MySQL-Versionen vornehmen
Administration | - Anlegen von Datenbanken - Bedienung von Hilfsprogrammen
Projektplanung und -installation | - Grundlagen des Datenbankdesigns - SQL-Befehle
MySQL verwenden | - SQL-Befehle - Bedienung von Client-Programmen - Methoden für Datenausgabe und Formatierung
Programmierung | - Eine Sprache mit verfügbarer API (beispielsweise PHP) - Programmierkenntnisse für die Realisierung von User-Interfaces (beispielsweise HTML)
Fremdsprachen | - Englisch empfehlenswert, um die Dokumentation lesen zu können
Technische Ausstattung | - Serverbetriebssystem - Internetzugang - Kenntnisse über Netzwerktypologien

Vorwissen ausdrücklich erwünscht

Anwendungsgebiete für MySQL

Schnittstellen von MySQL

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Schnittstellen von MySQL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Schnittstellen von MySQL

MySQL kann aufgrund der vielfältigen Schnittstellen wie auch seiner konsequenten Konzeptionierung als Netzdatenbank in der Regel nahtlos in eine moderne IT-Architektur integriert werden. Zum Schnittstellenkonzept von MySQL gehört eine client library, über die sowohl Verwaltungswerkzeuge als auch Programmierschnittstellen bedient werden. Über die verschiedenen Progammierschnittstellen lässt sich MySQL praktisch in jede gängige IT-Architektur, von Inter-/Intranet bis hin zu eigenständigen Desktop-Programmen, eingliedern. Die folgende Abbildung zeigt die wichtigsten Punkte des Schnittstellenkonzepts von MySQL.

Was ist eine Datenbank?

Diese Frage wollen wir Ihnen noch beantworten, bevor wir uns den Datenbankentwürfen zuwenden. Die Antwort auf diese Frage scheint komplex, ist jedoch kurz, prägnant und ziemlich einfach. Eine Datenbank ist eine strukturierte Sammlung von Daten - das ist auch schon alles. Um mit diesen Daten bzw. der Datenbank arbeiten zu können, benötigen Sie üblicherweise noch geeignete Software, wobei hier von einem Datenbank-Management-System, kurz DBMS gesprochen wird.

Ohne grundlegende Kenntnisse können Datenbanken und DBMS-Systeme nicht effektiv betrieben werden. Fehler schon beim Anlegen der Datenbank werden später während des Betriebs mitgeführt und können sich nachteilig auf die Performance und die Datenbankverwaltung auswirken. In diesem Kapitel wenden wir uns den wichtigsten Grundlageninformationen zum Aufbau von relationalen Datenbanken und deren Modellerierung zu.

Erforderliche Kenntnisse

Phasen der Datenbankentwicklung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation auf UNIX-/LINUX-Systemen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation auf UNIX-/LINUX-Systemen

Die MySQL AB -Gruppe hält von der Binär-Version für LINUX- und UNIX-Betriebssysteme in der Regel ein gepacktes TAR-Archiv (*.tar.gz) zum Download bereit.

Für LINUX ist darüber hinaus noch eine Version als RPM-Archiv (Red Hat Paket Manager) verfügbar. Für LINUX (Intel) ist dieses RPM-Archiv die einfachste Möglichkeit, LINUX zu installieren. Dies gilt jedoch nur, wenn Sie keine Distribution verwenden, die MySQL menügesteuert installiert.

Für die Installation des MySQL-Servers benötigen Sie das Paket MySQL-VERSION.i386.rpm, wobei VERSION für die aktuelle Versionsnummer steht, beispielsweise 3.23.46 oder 4.1.0. Dieses Archiv ist momentan. ca. 9 MB groß. Für die 3.23-Version ist es die MAX-Version, sie ist daran erkenntlich, dass die Archive MAX im Namen tragen.

Die Installation erfolgt über die Kommandozeile mit
$>rpm -i MySQL-VERSION.i386.rpm

Das RPM-Archiv legt die Daten in /var/lib/mysql ab und übernimmt die notwendigen Einträge in /etc/rc.d, damit der MySQL-Server automatisch beim Booten als Prozess startet.

Nach der Installation sollte der MySQL-Server betriebsbereit sein. Weiter unter werden Hinweise gegeben, wie Sie die Installation überprüfen können.

Installation eines TAR-Archivs

Wenn Sie eine Binär-Version installieren wollen, die als TAR-Archiv vorliegt, gehen Sie wie folgt vor:

Sie benötigen hierfür ein TAR-Archiv, das mit mysql-Version-OS.tar.gz bezeichnet ist. Version steht hierbei für die jeweilige Versionsnummer und OS für das Betriebssystem, beispielsweise mysql-3.23.46-pc-linux-gnu-i686.tar.gz.

Legen Sie, soweit nicht schon vorhanden, eine Gruppe mit dem Namen mysql an.
$>groupadd mysql

Achtung: Der Befehl groupadd kann je nach Betriebssystem variieren.

Legen Sie, soweit noch nicht vorhanden, einen Benutzer mit dem Namen mysql an:
$>useradd -g mysql mysql

Achtung: Der Befehl useradd kann ebenfalls je nach Betriebssystem variieren.

Wechseln Sie in das Zielverzeichnis, beispielsweise /usr/local/mysql. Sie benötigen in dem Zielverzeichnis Rechte, um Verzeichnisse erzeugen zu können.

Entpacken Sie das gepackte Archiv mit dem Befehl
$>gunzip /Pfad_des_Archivs/mysql-Version-OS.tar.gz | tar xvf

Linken Sie die Version auf Ihr MySQL-Verzeichnis.
$>ln -s mysql-Version-OS mysql

Im Verzeichnis bin, beispielsweise /usr/local/mysql/bin, Ihres MySQL-Installationsverzeichnisses befinden sich alle Hilfs- und Client-Programme, die MySQL mitliefert. Damit diese später gefunden werden, sollte Ihre PATH-Variable um dieses Verzeichnis ergänzt werden.

Wechseln Sie in das Verzeichnis scripts, beispielsweise /usr/local/mysql/scripts, Ihres Installationsverzeichnisses. Führen Sie das Skript mysql_install_db aus, um die Rechtetabelle von MySQL zu erzeugen. Dieses Skript muss nur bei einer Neuinstallation ausgeführt werden.

Aktualisieren Sie die Verzeichnisrechte der MySQL-Installation. Der Besitzer der ausführbaren Dateien sollte root-Rechte besitzen und das Datenverzeichnis dem Besitzer zugewiesen werden, der den mysqld (MySQL-Server) startet. In unserem Fall ist das der Benutzer mysql.
$>chown -R root /usr/local/mysql
$>chown -R mysql /usr/local/mysql/data
$>chgrp -R mysql /usr/local/mysql

Achtung: Die Verzeichnisse können bei Ihnen natürlich auch andere Bezeichnungen haben.

Abschließend müssen Sie Ihr System noch so vorbereiten, dass der MySQL-Server beim Booten des Betriebssystems automatisch startet. Dies erfolgt gewöhnlich über ein Skript in /etc/init.de und einen Link nach /etc/rc3.d/S99mysql sowie /etc/rco.d/S01mysql. Im Verzeichnis support-files finden Sie mit mysql-server ein vorbereitetes Skript, das Sie verwenden können.

Installation der Source-Distribution
Für die Übersetzung von MySQL auf ein UNIX-/LINUX-System werden folgende Programme benötigt, die auf dem entsprechenden Zielrechner installiert sein müssen:
. Ein gunzip und tar zum Entpacken der Archive.
. Einen ANSI C++-Compiler wie gcc. Empfohlen wird eine Version größer oder gleich 2.95.2. Die Verfügbarkeit eines entsprechenden Compilers ist auch vom Betriebssystem abhängig. Nähere Informationen hierzu können Sie der Datei INSTALL-SOURCE, die in den Sourcen enthalten ist, entnehmen.
. Ein Make-Programm wie GNU make

Der Ablauf der Installation ist wie folgt:

Sie benötigen ein TAR-Archiv, das mit mysql-Version.tar.gz bezeichnet ist. Sie finden diese Datei auf der Homepage von MySQL.

Legen Sie, soweit nicht schon vorhanden, eine Gruppe mit dem Namen mysql an.
$>groupadd mysql

Legen Sie, soweit noch nicht vorhanden, einen Benutzer mit dem Namen mysql an:
$>useradd -g mysql mysql

Wechseln Sie in ein Verzeichnis, in dem die Sourcen gespeichert werden sollen, beispielsweise /usr/src/mysql. Entpacken Sie dort das gepackte Archiv mit dem Befehl
$>gunzip /Pfad_des_Archivs/mysql-Version-OS.tar.gz | tar xvf

Führen Sie
$>./configure -prefix=/usr/local/mysql
mit gegebenenfalls weiteren gewünschten Optionen aus. Weitere Optionen erhalten Sie über den Befehl configure -help.

Führen Sie
$>make
aus.

Führen Sie
$>make install
aus.

Wechseln Sie in das Verzeichnis scripts, beispielsweise /usr/local/mysql/scripts, Ihres Installationsverzeichnisses. Führen Sie dort das Skript mysql_install_db aus, um die Rechtetabelle von MySQL zu erzeugen. Dieses Skript muss nur bei einer Neuinstallation ausgeführt werden.

Aktualisieren Sie die Verzeichnisrechte der MySQL-Installation. Besitzer der ausführbaren Dateien sollte root-Rechte besitzen und das Datenverzeichnis dem Besitzer zugewiesen werden, der den mysqld (MySQL-Server) startet. In unserem Fall ist das der Benutzer mysql.
$>chown -R root /usr/local/mysql
$>chown -R mysql /usr/local/mysql/data
$>chgrp -R mysql /usr/local/mysql

Kopieren Sie die Beispielkonfigurationsdatei nach /ect:
$>cp support-files/my-medium.cnf /etc/my.cnf

Testen Sie, ob der MySQL-Server betriebsbereit ist. Dieses kann durch Starten des Servers erfolgen. Der Befehl hierfür lautet
$>/usr/local/mysql/bin/mysqld_safe --user=mysql &

Abschließend müssen Sie Ihr System noch so vorbereiten, dass der MySQL-Server beim Booten des Betriebssystems automatisch startet. Dies erfolgt gewöhnlich über ein Skript in /etc/init.d und einen Link nach /etc/rc3.d/S99mysql und /etc/rco.d/S10mysql. Im Verzeichnis support-files finden Sie mit mysql.server ein vorbereitetes Skript, das Sie verwenden können.

mysqld_safe

Unter UNIX-Systemen wird ein Skript mit dem Namen mysqld_safe mitgeliefert, das zusätzliche Sicherheits-Features für den Start des MySQL-Servers bietet. Hierzu gehören der automatische Restart nach einem Fehler oder die Protokollierung von Server-Vorgängen. Das Skript benötigt mit kleinen Ausnahmen dieselben Parameter wie mysqld und muss in der Regel nicht editiert werden.

Installation des MySQL-Datenbankservers

Installation auf Windows-Systemen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


DCL-Befehle

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

DCL-Befehle

SQL-Befehle der DCL-Kategorie können dabei wie folgt gegliedert werden:

. GRANT-Ausdrücke ermöglichen das Festlegen von Zugriffrechten.
. REVOKE-Ausdrücke ermöglichen das Aufheben von Zugriffsrechten.
. CREATE DATABASE-Ausdrücke dienen zum Anlegen von Datenbanken.
. DROP DATABASE-Ausdrücke dienen zum Löschen von Datenbanken.
. USE-Ausdrücke ermöglichen es, Datenbanken auszuwählen.
. CONNECT-Ausdrücke ermöglichen es, eine Verbindung zur Datenbank herzustellen.

Implementierung und Nutzung von SQL

DML-Befehle

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


DML-Befehle

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

DML-Befehle

SQL-Befehle der DML-Kategorie können dabei wie folgt gegliedert werden:

. INSERT-Ausdrücke ermöglichen das Speichern von neuen Datensätzen in der Datenbank.
. SELECT-Ausdrücke dienen zur Abfrage von Datensätzen aus der Datenbank. Es können einzelne oder mehrere Datensätze oder gezielt einzelne Felder von Datensätzen ausgegeben werden. Hierbei können eine oder mehrere Tabellen abgefragt werden.
. UPDATE-Ausdrücke ermöglichen die Bearbeitung von bestehenden Datensätzen.
. DELETE-Ausdrücke ermöglichen das Löschen von Datensätzen aus der Datenbank.

DCL-Befehle

DDL-Befehle

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


DDL-Befehle

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

DDL-Befehle

SQL-Befehle der DDL-Kategorie können dabei wie folgt gegliedert werden:

. CREATE-Ausdrücke ermöglichen das Anlegen und Definieren von Datenbanken und Tabellen.
. ALTER-Ausdrücke ermöglichen die Veränderung von Eigenschaften und Strukturen von Datenbanken und Tabellen.
. DROP-Ausdrücke ermöglichen das Entfernen von Datenbanken und Tabellen.

SQL-Ausdrücke sind wiederum in sich gegliedert. Sie bestehen dabei im Allgemeinen aus folgenden Elementen:

Element | Beschreibung
Spaltenname | Spalte einer bezeichneten Tabelle, die ausgegeben, mit der verglichen oder mit der gerechnet wird
Arithmetische Operatoren | +,-,* und /; sie werden zur Berechnung benötigt
Logische Operatoren | Schlüsselwörter AND, OR und NOT, die für einfache Suchfunktionen oder innerhalb von Verknüpfungen zu komplexen Suchanfragen verwendet werden. Ein logischer Operator gibt als Ergebnis immer wahr oder falsch zurück
Vergleichsoperatoren | <,>,<=,>=, und <> dienen dem Vergleich von zwei Werten. Ein Vergleichsoperator gibt immer wahr oder falsch zurück. In Suchabfragen stehen darüber hinaus weitere spezialisierte Vergleichsoperatoren wie beispielsweise LIKE, EXISTS, IN.
Verknüpfungsoperatoren | Dienen zur Verkettung von Zeichenketten

SQL-Ausdrücke

Obwohl die SQL-Syntax standardisiert ist, unterscheiden sich die verschiedenen Datenbanken nach den grundsätzlichen SQL-Befehlen INSERT, SELECT, UPDATE oder DELETE doch erheblich. Die Unterschiede liegen in der Syntax und im Umfang der Befehle. Insofern ist auch die SQL-Syntax zu studieren.

Um Tabellen einer Datenbank abzufragen, ist es immer notwendig, die Struktur der Tabelle sowie die Definition der Tabellenspalten und ihrer Datentypen zu kennen.

DML-Befehle

MySQL-Funktionen von PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Anlegen und Beabeiten von Benutzer

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anlegen und Beabeiten von Benutzer

Zum Anlegen eines neuen Benutzers klicken Sie im rechten Fenster auf Neue Zeile einfügen. Im folgenden Bild wird für localhost ein Benutzer matthias angelegt, der sämtliche Rechte erhält.

Für die Rechtevergabe stehen Ihnen folgende Rechte (Privilegien) zur Verfügung:

Recht | Bedeutung
Select_priv | Das Recht, Daten aus der Datenbank auszulesen. Sollte dieses Recht nicht erteilt sein, können keinerlei Daten aus der Datenbank ausgelesen werden.
Insert_priv | Das Recht, Daten in Tabellen einzufügen.
Update_priv | Das Recht, Daten in Tabellen zu ändern.
Delete_priv | Das Recht, Daten aus Tabellen zu löschen.
Create_priv | Das Recht, Datenbanken oder Tabellen anzulegen.
Drop_priv | Das Recht, Datenbanken oder Tabellen zu löschen.
Reload_priv | Das Recht, administrative Kommandos auszuführen.
Shutdown_priv | Das Recht zum Herunterfahren von MySQL. Hierbei wird auf andere Benutzer die möglichweise noch mit der MySQL verbunden sind keine Rücksicht genommen.
Process_priv | Das Recht, lesend auf Eingabeaufforderungen zuzugreifen.
File_priv | Das Recht, jede Datei zu lesen.
Grant_priv | Das Recht, Zugriffsrechte zu vergeben, die über die eigenen Rechte nicht Hinaus gehen.
Revoke_priv | Das Recht, anderen Benutzern Rechte zu entziehen.
Index_priv | Das Recht, Indizes einer Tabelle zu erzeugen und zu ändern.
Alter_priv | Das Recht, die Struktur von Tabellen zu ändern, beispielsweise ein zusätzliches Feld anfügen.

Abschliessend müssen Sie unten auf der Seite auf OK klicken um den Benutzer anzulegen. Durch die Auswahl der Funktion PASSWORD wird das Passwort dabei verschlüsselt und ist danach nicht mehr im Klartext innerhalb der Tabelle user zu sehen.

Angaben eines Benutzers ändern

Um die Angaben, wie Name, Passwort und Rechte eines Benutzer zu ändern, müssen Sie lediglich auf Ändern klicken und schon stehen Ihnen sämtliche Felder zur Bearbeitung zur Verfügung.

Benutzer löschen

Um einen Benutzer zu löschen, klicken Sie auf Löschen. Grunsätzlich sollten Sie darauf achten, dass Ihnen ein Benutzer mit sämtlichen Rechten zur Verfügung steht.

Verwaltung von MySQL-Benutzer

PHP & MySQL-Verbindung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation auf Windows-Systemen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation auf Windows-Systemen

Für Windows-Systeme ist es am sinnvollsten, die Binär-Version zu verwenden, die mit einem kompletten Installationsprogramm versehen ist.

Die Windows-Version läuft auf allen Windows 32 Bit-Systemen, also Win9x, ME, NT, Windows 2000 und XP. Auf dem Windows-Rechner muss ein TCP/IP-Stack installiert sein, damit MySQL installiert werden kann.

Administratorrechte

Unter den Serverbetriebssystemen Windows NT und Windows XP benötigen Sie für die Installation entsprechende Rechte. Die Installation des MySQL-Servers sollte hier mit Administrationsrechten erfolgen.

Die Dateien liegen auf dem MySQL-Server als gepackte ZIP-Datei. Sie benötigen also noch ein entsprechendes Programm wie Win-ZIP zum Entpacken des Archivs. In dem Archiv befindet sich eine SETUP.EXE, mit der Sie das Installationsprogramm starten können.

Befolgen Sie die Anweisungen des Installationsprogramms. Falls Sie MySQL in ein anderes Verzeichnis als das vorgeschlagene Verzeichnis C:\mysql installieren wollen, wählen Sie ein entsprechendes Verzeichnis aus.

Auch für Windows steht eine Source-Code-Version zur Verfügung. Für die Übersetzung des Source Codes benötigen Sie allerdings zwingend den Microsoft Visual C++ 6.0 Compiler und können im Gegensatz zu UNIX-Versionen nicht auf einen Open-Source-Compiler zurückgreifen.

Installation auf UNIX-/LINUX-Systemen

Installation überprüfen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenbank erstellen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenbank erstellen

Wie Sie bereits wissen, ist eine Datenbank unter MySQL nichts anderes als ein Verzeichnis. Die Einrichtung einer Datenbank bedeutet somit, ein Verzeichnis zu erzeugen. Die MySQL-Funktion mysql_create_db() ermöglicht es Ihnen, via PHP ein solches Verzeichnis anzulegen.

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Datenbank Verein erzeugen
if (mysql_create_db ("verein", $db)) {
    echo "Datenbank erfolgreich angelegt";
} else {
    echo "Fehler beim Anlegen der Datenbank: " . mysql_error ();
}

// Verbindung beenden
mysql_close ($db);

?>

Sollte die Datenbank (Verzeichnis) bereits existieren, wird folgende Fehlerausgabe zu sehen sein:
Fehler beim Anlegen der Datenbank: Can't create database 'Verein'. Database exists

PHP & MySQL-Zugriffe

Datenbanktabelle erstellen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenbanktabelle erstellen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenbanktabelle erstellen

Nachdem Sie nun eine Datenbank erstellt haben, sollten Sie eine Tabelle erzeugen. Eine Tabelle wird mit Hilfe der Funktion mysql_db_query() erzeugt. Das folgende Skript sorgt dafür, dass Ihnen die Tabelle Mitglieder innerhalb der Datenbank Verein zur Verfügung gestellt wird.

<?php

// Signalvariable
$db_vorhanden = false;

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Erfassen sämtlicher Datenbanken
$datenbanken = mysql_list_dbs($db);

// Anzahl von Datenbanken
$anzahl = mysql_num_rows($datenbanken);

// Auflisten sämtlicher Datenbanken
for ($i = 0; $i < $anzahl; $i++) {
   if (mysql_result($datenbanken, $i) == "verein") {
       $db_vorhanden = true;
   }
}

// Sollte die Datenbank nicht vorhanden sein
// wird diese mit Hilfe von mysql_create_db erzeugt
if (!$db_vorhanden) {
    if (mysql_create_db("verein", $db)) {
        $db_vorhanden = true;
    }
}

// Tabellenfelder definieren
$SQL_Befehl = "CREATE TABLE Mitglieder (
MitgliedID INTEGER NOT NULL AUTO_INCREMENT,
MitgliedVorname CHAR(40),
MitgliedNachname CHAR(40),
Aufgabe CHAR(40),
Geburtsdatum DATE,
PRIMARY KEY (MitgliedID)
)";

// Tabelle erzeugen und prüfen
if ($db_vorhanden) {
    if (mysql_db_query("verein", $SQL_Befehl)) {
        echo "Tabelle erzeugt!";
    } else {
        echo "Fehler beim Anlegen der Tabelle: " . mysql_error ();
    }
}

// Verbindung beenden
mysql_close($db);

?>

Das Skript erscheint Ihnen vielleicht etwas lang. Die vielen Sicherheitsabfragen führen dazu, dass das Skript schnell an Umfang gewinnt. Bei Prozessen, die vom Erfolg anderer Prozesse abhängig sind, sollten Sie jedoch immer prüfen, ob der vorhergehende Prozess samt Operationen erfolgreich abgeschlossen wurde oder nicht. Es wird überprüft, ob die Datenbank, die erzeugt werden soll, bereits vorhanden ist. Sollte dies nicht der Fall sein, wird diese erzeugt. Anschließend ist wieder zu überprüfen, ob die Datenbank erfolgreich erzeugt werden konnte. Dann kommt es zur Festlegung der Tabellenfelder und deren Datentypen, Mit Hilfe der Funktion mysql_db_query() wird der MySQL-Befehl, welcher für die Erzeugung der Tabelle Mitglieder verantwortlich ist, am Ende ausgeführt.

Sollte die Tabelle bereits vorhanden sein, erhalten Sie folgende Fehlermeldung:
Fehler beim Anlegen der Datenbank: Table 'mitglieder' already exists

Primärschlüsselfeld

Die vorliegende Tabelle enthält noch eine Besonderheit und zwar einen Primärenschlüssel, welcher durch die MitgliedID symbolisiert wird. Eine Tabelle benötigt in der Regel einen Primärenschlüssel, über den der einzelne Datensatz eindeutig identifiziert werden kann. Sie können hierfür mehrere Spalten einsetzen. Sinnvoller sind jedoch meist einzelne Felder zu verwenden. Mit dem Zusatz PRIMARY KEY erklären Sie das zuvor definierte Feld MitgliedID zum Schlüsselfeld. Hier sind dann automatisch nur noch eindeutige Einträge zulässig. Der Zusatz NOT NULL legt fest, dass dieses Feld nicht leer bleiben darf. Der Anwender ist somit gezwungen, hier einen Wert einzugeben.

Primärschlüsselfeld und AUTO_INCREMENT

Das Problem, in ein Schlüsselfeld immer eindeutige Einträge eingeben zu müssen, lässt sich mit Hilfe von AUTO_INCREMENT lösen. Sobald ein Feld als auto_increment-Feld daklarierte wurde, werden beim hinzufügen neuer Datensätze, automatisch passende Einträge in dem Feld eingesetzt. Der Anwender muss sich um dieses Feld gar nicht mehr kümmern. MySQL ermittelt automatisch den bisher höchsten Eintrag und erhöht diesen um den Wert 1. Diese Lösung des Problems stellt den bequemste und gleichzeitig den sichersten Weg dar.

Datentypen

MySQL unterstützt eine Reihe von Spaltentypen, die in drei Kategorien unterteilt werden können: Numerische Typen, Datums- und Zeit-Typen sowie Zeichenketten-Typen.

Der jeweilige Typ sollte möglichst genau auf die Daten abgestimmt sein, die Sie speichern wollen. Durch die Spaltentypen erhalten Sie eine gewisse Eingabekontrolle, da falsche Daten eventuell schon bei der Eingabe mit einer Fehlermeldung abgewiesen werden. Wenn ein Feld beispielsweise nur ganzzahlige Werte enthalten soll, ist der Typ INTEGER zu wählen.

Hier eine Zusammenstellung der wichtigsten Spaltentypen (Datentypen):

Typ | Bedeutung
TINYINT | Eine sehr kleine Ganzzahl. Der vorzeichenbehaftete Bereich ist -128 bis 127, der vorzeichenlose Bereich ist 0 bis 255.
SMALLINT | Eine kleine Ganzzahl. Der vorzeichenbehaftete Bereich ist -32768 bis 32767, der vorzeichenlose Bereich ist 0 bis 65535.
MEDIUMINT | Eine Ganzzahl mittlerer Größe. Der vorzeichenbehaftete Bereich ist -8388608 bis 8388607, der vorzeichenlose Bereich ist 0 bis 16777215.
INT/INTEGER | Eine Ganzzahl normaler Größe. Der vorzeichenbehaftete Bereich ist -2147483648 bis 2147483647, der vorzeichenlose Bereich ist 0 bis 4294967295.
BIGINT | Eine große Ganzzahl. Der vorzeichenbehaftete Bereich ist -9223372036854775808 bis 9223372036854775807, der vorzeichenlose Bereich ist 0 bis 18446744073709551615.
FLOAT | Eine kleine Fließkommazahl (einfacher Genauigkeit). Der Wertebereich umfasst -3.402823466E+38 bis -1.175494351E-38, 0 und 1.175494351E-38 bis 3.402823466E+38.
DOUBLE / REAL | Eine normal große Fließkommazahl (doppelter Genauigkeit). Der Wertebereich umfasst -1.7976931348623157E+308 bis -2.2250738585072014E-308, 0 und 2.2250738585072014E-308 bis 1.7976931348623157E+308.
DATE | Ein Datum. Der unterstützte Wertebereich ist '1000-01-01' bis '9999-12-31'. MySQL zeigt DATE-Werte im 'YYYY-MM-DD'-Format an, gestattet jedoch, DATE-Spalten Werte als Zeichenkette oder als Zahl zuzuweisen.
DATETIME | Eine Datums-/Zeit-Kombination. Der unterstützte Wertebereich ist '1000-01-01 00:00:00' bis '9999-12-31 23:59:59'. MySQL zeigt DATETIME-Werte im 'YYYY-MM-DD HH:MM:SS'-Format an, gestattet jedoch, DATETIME-Spalten Werte als Zeichenkette oder als Zahl zuzuweisen.
TIMESTAMP | Ein Zeitstempel. Der Wertebereich ist '1970-01-01 00:00:00' bis irgendwann im Jahr 2037.
TIME | Ein Zeit-Typ. Der Wertebereich ist '-838:59:59' bis '838:59:59'. MySQL zeigt TIME-Werte im 'HH:MM:SS'-Format an, gestattet jedoch, TIME-Spalten Werte entweder als Zeichenkette oder als Zahle zuzuweisen.
CHAR | Eine Zeichenkette fester Länge, die beim Speichern rechts stets und mit Leerzeichen bis zur angegebenen Länge aufgefüllt wird. Der Wertebereich liegt zwischen 1 bis 255 Zeichen.
VARCHAR | Eine Zeichenkette variabler Länge. Der Wertebereich liegt zwischen 1 bis 255 Zeichen.
TINYBLOB / TINYTEXT | Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 255 (28 - 1) Zeichen.
BLOB / TEXT | Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 65535 (216 - 1) Zeichen.
MEDIUMBLOB / MEDIUMTEXT | Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 16777215 (224 - 1) Zeichen.
LONGBLOB / LONGTEXT | Eine BLOB- oder TEXT-Spalte mit einer maximalen Länge von 4294967295 (232 - 1) Zeichen.

Bei der Definition von Feldern ist neben der Typangabe gelegentlich auch noch die Feldlänge anzugeben. Das gilt vor allem für die Typen CHAR und VARCHAR.

MitgliedNachname CHAR(40)

Bei ganzzahligen Typen, wie INTEGER (INT), SMALLINT und BIGINT können Sie mit UNSIGNED noch bestimmen, ob ein Wert mit oder ohne Vorzeichen dargestellt werden soll:

ProduktNr INTEGER UNSIGNED

Für Felder, wie MitgliedID, welche lediglich positive Werte enthalten, kann es sinnvoll sein, UNSIGNED zu verwenden.

Speicherbedarf von Spaltentypen

Der Speicherbedarf jedes Spaltentyps, der von MySQL unterstützt wird, ist unten nach Kategorie sortiert aufgelistet:

Speicherbedarf für numerische Typen

Spaltentyp | Speicherbedarf
TINYINT | 1 Byte
SMALLINT | 2 Bytes
MEDIUMINT | 3 Bytes
INT | 4 Bytes
INTEGER | 4 Bytes
BIGINT | 8 Bytes
FLOAT(X) | 4, wenn X <= 24, oder 8, wenn 25 <= X <= 53
FLOAT | 4 Bytes
DOUBLE | 8 Bytes
DOUBLE PRECISION | 8 Bytes
REAL | 8 Bytes
DECIMAL(M,D) | M+2 Bytes, wenn D > 0, M+1 Bytes, wenn D = 0 (D+2, wenn M < D)
NUMERIC(M,D) | M+2 Bytes, wenn D > 0, M+1 Bytes, wenn D = 0 (D+2, wenn M < D)

Speicherbedarf für Datums- und Zeit-Typen

Spaltentyp | Speicherbedarf
DATE | 3 Bytes
DATETIME | 8 Bytes
TIMESTAMP | 4 Bytes
TIME | 3 Bytes
YEAR | 1 Byte

Speicherbedarf für Zeichenketten-Typen

Spaltentyp | Speicherbedarf
CHAR(M) | M Bytes, 1 <= M <= 255
VARCHAR(M) | L+1 Bytes, wobei L <= M und 1 <= M <= 255
TINYBLOB, TINYTEXT | L+1 Bytes, wobei L < 2^8
BLOB, TEXT | L+2 Bytes, wobei L < 2^16
MEDIUMBLOB, MEDIUMTEXT | L+3 Bytes, wobei L < 2^24
LONGBLOB, LONGTEXT | L+4 Bytes, wobei L < 2^32
ENUM('wert1','wert2',...) | 1 oder 2 Bytes, abhängig von der Anzahl der Aufzählungswerte (65535 Werte maximal)
SET('wert1','wert2',...) | 1, 2, 3, 4 oder 8 Bytes, abhängig von der Anzahl an SET-Elementen (64 Elemente maximal)

Anzahl der Datenbanktabellen in einer Datenbank

Sollten Sie in Erfahrung bringen wollen, wie viele Datenbanktabellen innerhalb einer Datenbank vorhanden sind können Sie folgendes Skript einsetzen, um eine Auflistung zu erhalten.

<?php
$db = mysql_connect ("localhost:3306", "matthias", "")
  or die ("keine Verbindung möglich: " .mysql_error());

// Erfassen sämtlicher Tabellen
$tabellen = mysql_list_tables("verein");

// Anzahl von Tabellen
$anzahl = mysql_num_rows($tabellen);

// Auflisten sämtlicher Tabellen der Datenbank Verein
for ($i = 0; $i < $anzahl; $i++) {
        echo mysql_result($tabellen, $i);
        echo "<br>";
}

// Verbindung beenden
mysql_close ($db);
?>

Hinweis: Die Funktion mysql_list_tables() geht hierbei ähnlich vor wie die Funktion mysql_list_dbs().

Datenbank erstellen

Datenverwaltung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenverwaltung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenverwaltung

Sie sollten sich nun der Datenverwaltung zuwenden. Hierbei sind sämtliche Verarbeitungsprozesse wie Einfügen, Ändern, Löschen und Ausgeben von Datensätzen einer Datenbanktabelle gemeint. Die Verarbeitung erfolgt über die MySQL-Anweisungen INSERT, UPDATE, DELETE und SELECT.

Achtung: Im folgenden Abschnitt gehen wir davon aus, dass Sie die aus dem vorherigen Abschnitten die vorgestellte Datenbank samt Datenbanktabelle erzeugt haben.

INSERT - Datensätze einfügen

Die erzeugte Datenbanktabelle Mitglieder enthält noch keine Datensätze, die Sie bearbeiten könnten. Daher sollten Sie als erstes einen oder mehrerd Datensätze, je nach Bedarf, hinzufügen. Hierbei wird Ihnen die Funktion mysql_db_query(), die Sie bereits kennengelernt haben, behilflich sein.

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Datensatz-Inhalte festlegen
$SQL_Befehl = "
INSERT INTO Mitglieder (
    MitgliedID,
    MitgliedVorname,
    MitgliedNachname,
    Aufgabe,
    Geburtsdatum
) VALUES (
    '',
    'Matthias',
    'Kannengiesser',
    'Leitung',
    '1974-11-20'
)";

// Datensatz hinzufügen
$resultat = mysql_db_query("verein", $SQL_Befehl);

if ($resultat) {
    echo "Datensatz erfolgreich hinzugefügt!";
} else {
    echo "Datensatz konnte nicht hinzugefügt werden!";
}

mysql_close($db);

?>

Das Beispiel enthält sämtliche erforderlichen Prozesse. Sie sollten sich vor allem den SQL-Befehl genauer betrachten. Mit INSERT INTO bestimmen Sie die Tabelle, in die Sie den Datensatz hinzufügen wollen. Anschließend werden sämtliche benötigten Felder aufgelistet. Die Inhalte bzw. Werte der Felder sind im VALUES-Abschnitt anzugeben. Sie sollten hierbei vor allem auf die einfachen Anführungszeichen achten. Da der gesamte String in doppelte Anführungszeichen eingeschlossen ist, müssen Sie hier einfache Anführungszeichen verwenden.

Der SQL-Befehl kann im vorliegenden Fall etwas gekürzt werden, da Sie bereits während der Erzeugung der Tabelle festgelegt haben, dass das Feld MitgliedID ein Primärschlüsselfeld ist, das automatisch eine Wertveränderung erfährt. Die Variable $SQL_Befehl könnte somit wie folgt angepasst werden:

$SQL_Befehl = "
INSERT INTO Mitglieder (
    MitgliedVorname,
    MitgliedNachname,
    Aufgabe,
    Geburtsdatum
) VALUES (
    'Matthias',
    'Kannengiesser',
    'Leitung',
    '1974-11-20'
)";

Sollten Sie bei der Übergabe der Felder die Reihenfolge einhalten, in der Sie die Datenbanktabelle angelegt haben, können Sie die Angabe sogar noch weiter anpassen:

$SQL_Befehl = "
INSERT INTO Mitglieder VALUES (
    '',
    'Matthias',
    'Kannengiesser',
    'Leitung',
    '1974-11-20'
)";

Gleichzeitiges Speichern mehrerer Datensätze

MySQL unterstützt auch, abweichend vom SQL-Standard, das gleichzeitige Speichern mehrerer Datensätze in einer Zelle. Die Syntax lautet dann wie folgt:

// Mehrere Datensätze festlegen
SQL_Befehl = "
INSERT INTO Mitglieder (
    MitgliedID,
    MitgliedVorname,
    MitgliedNachname,
    Aufgabe,
    Geburtsdatum
) VALUES (
    '',
    'Matthias',
    'Kannengiesser',
    'Leitung',
    '1974-11-20'
),(
    '',
    'Caroline',
    'Kannengiesser',
    'Leitung',
    '1979-01-04'
),(
    '',
    'Thomas',
    'Mustermann',
    'Mitglied',
    '1967-10-10'
)";

oder ohne Feldbezeichnungen:

// Mehrere Datensätze festlegen
$SQL_Befehl = "
INSERT INTO Mitglieder VALUES (
    '',
    'Matthias',
    'Kannengiesser',
    'Leitung',
    '1974-11-20'
),(
    '',
    'Caroline',
    'Kannengiesser',
    'Leitung',
    '1979-01-04'
),(
    '',
    'Thomas',
    'Mustermann',
    'Mitglied',
    '1967-10-10'
)";

UPDATE - Datensätze bearbeiten

Zur Bearbeitung von Datensätzen wird die MySQL-Anweisung UPDATE verwendet. Diese Anweisung kann gleich mehrere Datensätze und Felder ändern und sollte daher sehr sorgfältig eingesetzt werden. Sie werden nun erfahren, wie sich die Bearbeitung von Datensätzen darstellt.

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Datensatz-Bearbeitung festlegen
$SQL_Befehl = "
UPDATE Mitglieder
SET Aufgabe = 'Chef'
WHERE MitgliedNachname = 'Kannengiesser'
";

// Datensatz Bearbeitung durchführen
$resultat = mysql_db_query("verein", $SQL_Befehl);

if ($resultat) {
    echo "Anzahl geänderter Datensätze: " . mysql_affected_rows($db);
} else {
    echo "Datensatz konnte nicht bearbeitet werden!";
}

mysql_close($db);

?>

Es werden sämtliche Datensätze bearbeitet, die im Feld MitgliedNachname Kannengiesser enthalten. Innerhalb des jeweiligen Datensatzes wird das Feld Aufgabe bearbeitet.

Natürlich können Sie auch ohne weiteres mehrere Felder gleichzeitig bearbeiten. Die einzelnen Änderungen werden durch Kommas getrennt.

// Datensatz-Bearbeitung festlegen
$SQL_Befehl = "
UPDATE Mitglieder
SET Aufgabe = 'Chef',
    MitgliedVorname = 'Matze',
WHERE MitgliedNachname = 'Kannengiesser'
";

DELETE - Datensätze löschen

Zum Löschen von Datensätzen wird die MySQL-Anweisung DELETE verwendet. Diese Anweisung kann ebenfalls gleich mehrere Datensätze und Felder löschen und sollte daher genau so sorgfältig wie die MySQL-Anweisung UDPATE eingesetzt werden. Sie werden nun erfahren, wie sich das Löschen von Datensätzen darstellt:

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Datensatz-Löschvorgang festlegen
$SQL_Befehl = "
DELETE FROM Mitglieder
WHERE MitgliedNachname = 'Kannengiesser' AND Geburtsdatum = '1974-11-20'
";

// Datensatz-Löschvorgang durchführen
$resultat = mysql_db_query("verein", $SQL_Befehl);

if ($resultat) {
    echo "Anzahl gelöschter Datensätze: " . mysql_affected_rows($db);
} else {
    echo "Datensatz konnte nicht gelöscht werden!";
}

mysql_close($db);

?>

An diesem Beispiel lässt sich zusätzlich erkennen, wie man den WHERE-Abschnitt des SQL-Befehls erweitern kann und somit den zu löschenden Datensatz genauer eingrenzen kann. Schließlich wäre es schade, wenn sämtliche Kannengiesser aus der Tabelle entfernt würden.

SELECT - Datensätze ausgeben

Es stehen Ihnen unzählige Möglichkeiten zur Verfügung, die Daten aus einer Datenbank abzufragen und auszugeben. Wir werden Ihnen jedoch lediglich einige ausgewählte Varianten vorstellen.

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Datensatz-Ausgabe festlegen
$SQL_Befehl = "SELECT * FROM Mitglieder";

// Datensatz-Ausgabe durchführen
$resultat = mysql_db_query("verein", $SQL_Befehl);

echo mysql_result($resultat, 0);          // 1
echo mysql_result($resultat, 0, 1);          // Matthias
echo mysql_result($resultat, 0, "Aufgabe"); // Leitung

mysql_close($db);

?>

Die MySQL-Anweisung liefert sämtliche Spalten und Zeilen der im FROM-Abschnitt bezeichneten Tabelle, also die komplette Tabelle. Die echo-Zeilen geben einzelne Feldinhalte aus. Die Funktion mysql_result() benötigt hierfür drei Argumente.

Einsatz von mysql_fetch_array()

Eine weitere Möglichkeit, Datensätze auszugeben, könnte sich wie folgt darstellen:

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Datensatz-Ausgabe festlegen
$SQL_Befehl = "SELECT * FROM Mitglieder";

// Sämtliche Datensatz-Ausgabe durchführen
$resultat = mysql_db_query("verein", $SQL_Befehl);

while ($row = mysql_fetch_array($resultat)) {
extract($row);
echo "$MitgliedVorname $MitgliedNachname $Aufgabe<br>";
}

mysql_close($db);

?>

Die while-Schleife durchläuft mit Hilfe von mysql_fetch_array() sämtliche Datensätze, die durch SELECT geliefert wurden. Sie gibt die Feldinhalte in Form eines Arrays aus. Die PHP-Funktion extract() ermöglicht es Ihnen, mit Hilfe der Feldbezeichnungen auf die Fehldinhalte zuzugreifen und diese auszugeben. Die Ausgabe kann durch zusätzliche HTML-Strukturen optimiert werden.

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Datensatz-Ausgabe festlegen
$SQL_Befehl = "SELECT * FROM Mitglieder";

// Sämtliche Datensatz-Ausgabe durchführen
$resultat = mysql_db_query("verein", $SQL_Befehl);

echo "
<table border=1>
<tr>
    <td>Vorname</td>
    <td>Nachname</td>
    <td>Aufgabe</td>
</tr>
";

while ($row = mysql_fetch_array($resultat)) {
extract($row);

echo "
<tr>
    <td>$MitgliedVorname</td>
    <td>$MitgliedNachname</td>
    <td>$Aufgabe</td>
</tr>
";

}

echo "</table>";

mysql_close($db);

?>

Einsatz von mysql_fetch_object()

Mit Hilfe der Funktion myslq_fetch_object() wird anstelle eines Arrays ein Objekt erzeugt. Auf die einzelnen Spalten kann über die Eigenschaften des Objekts zugegriffen werden. Diese erhalten ganz einfach die Feldnamen der Datenbanktabelle als Bezeichnungen zugewiesen. Für die Ausgabe ist dann die in PHP übliche Objekt-Syntax: Objekt->Eigenschaft zu verwenden.

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

// Datensatz-Ausgabe festlegen
$SQL_Befehl = "SELECT * FROM Mitglieder";

// Sämtliche Datensatz-Ausgabe durchführen
$resultat = mysql_db_query("verein", $SQL_Befehl);

while ($daten = mysql_fetch_object($resultat)) {
echo "
    <p>
    $daten->MitgliedID<br>
    $daten->MitgliedVorname<br>
    $daten->MitgliedNachname<br>
    $daten->Aufgabe<br>
    $daten->Geburtsdatum
    </p>
";
}

mysql_close($db);

?>

Der Unterschied zwischen mysql_fetch_array() und mysql_fetch_object() ist nur maginal. Die Performance ist bei beiden gleich. Sie haben somit die Qual-der-Wahl.

Zusätze für SELECT

Die SELECT-Syntax ist jedoch noch viel umfangreicher. So können die Felder für die Ausgabe auch durch arithmetische oder String-Operatoren erzeugt werden. Eine Abfrage kann sich über verschiedene Tabellen des gesamten relationalen Datenbankmodells erstrecken. Alternativ wird die Selektion mit Bedingungen verknüpft.

Hier eine Übersicht der SELECT-Befehle:

Element | Beschreibung
SELECT | Liste der Spalten, die ausgegeben werden sollen, einschließlich generierter Spalten.
FROM | Liste der Tabellen, die abgefragt werden.
WHERE | Suchbedingung zur Eingrenzung von Datensätzen. Über WHERE können auch verschiedene Tabellen verknüpft werden.
HAVING | Analog zu einer Funktion wie WHERE, allerdings mit der Möglichkeit, Felder des eigenen SELECT miteinzubeziehen.
GROUP BY | Angabe der Spalte, die zur Gruppierung von gleichartigen Datensätzen verwendet werden soll.
ORDER BY | Legt die Ausgabereihenfolge der selektierten Datensätze fest.
LIMIT | Beschränkung der Anzahl der auszugebenden Datensätze.

Um eine Ausgabe zu erhalten werden folgende Datensätze der Datenbanktabelle verein voraussgesetzt:

$SQL_Befehl = "
INSERT INTO Mitglieder VALUES (
    '',
    'Matthias',
    'Kannengiesser',
    'Leitung',
    '1974-11-20'
),(
    '',
    'Caroline',
    'Kannengiesser',
    'Leitung',
    '1979-01-04'
),(
    '',
    'Thomas',
    'Mustermann',
    'Mitglied',
    '1967-10-10'
)";

Beispiel - limit

<?php

$db = mysql_connect ("localhost", "matthias", "");

$SQL_Befehl = "SELECT * FROM Mitglieder limit 2";

$resultat = mysql_db_query("verein", $SQL_Befehl);

while ($daten = mysql_fetch_object($resultat)) {
echo "
    <p>
    $daten->MitgliedID<br>
    $daten->MitgliedVorname<br>
    $daten->MitgliedNachname<br>
    $daten->Aufgabe<br>
    $daten->Geburtsdatum
    </p>
";
}

mysql_close($db);

?>

Ausgabe

1
Matthias
Kannengiesser
Leitung
1974-11-20

2
Caroline
Kannengiesser
Leitung
1979-01-04

Beispiel - order by

<?php

$db = mysql_connect ("localhost", "matthias", "");

$SQL_Befehl = "SELECT * FROM Mitglieder order by MitgliedVorname";

$resultat = mysql_db_query("verein", $SQL_Befehl);

while ($daten = mysql_fetch_object($resultat)) {
echo "
    <p>
    $daten->MitgliedID<br>
    $daten->MitgliedVorname<br>
    $daten->MitgliedNachname<br>
    $daten->Aufgabe<br>
    $daten->Geburtsdatum
    </p>
";
}

mysql_close($db);

?>

Ausgabe

1
Caroline
Kannengiesser
Leitung
1979-01-04

2
Matthias
Kannengiesser
Leitung
1974-11-20

3
Thomas
Mustermann
Mitglied
1967-10-10

Beispiel - Kombination

<?php

$db = mysql_connect ("localhost", "matthias", "");

$SQL_Befehl = "SELECT * FROM Mitglieder order by MitgliedVorname limit 2";

$resultat = mysql_db_query("verein", $SQL_Befehl);

while ($daten = mysql_fetch_object($resultat)) {
echo "
    <p>
    $daten->MitgliedID<br>
    $daten->MitgliedVorname<br>
    $daten->MitgliedNachname<br>
    $daten->Aufgabe<br>
    $daten->Geburtsdatum
    </p>
";
}

mysql_close($db);

?>

Ausgabe

2
Caroline
Kannengiesser
Leitung
1979-01-04

1
Matthias
Kannengiesser
Leitung
1974-11-20

Hinweis: Teilweise gelten einige dieser Befehle auch für UPDATE, DELETE und INSERT.

Datenbanktabelle erstellen

Datenbanken und Tabellen löschen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenbanken und Tabellen löschen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenbanken und Tabellen löschen

Im folgenden Abschnitt werden Sie erfahren, wie Sie die Datenbanken und Tabellen via PHP löschen können.

Tabelle löschen

<?php

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

$SQL_Befehl = "DROP TABLE Mitglieder";

mysql_db_query("verein", $SQL_Befehl);

mysql_close($db);

?>

Datenbank löschen

<?

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

mysql_drop_db("verein");

mysql_close($db);

?>

Datenverwaltung

Datenbanktabellen ändern

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenbanktabellen ändern

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenbanktabellen ändern

Nachdem Sie nun erfahren haben, wie man Datenbanktabellen erzeugt und entfernt, wollen wir Ihnen nun noch zeigen, wie Sie Änderungen an der Datenbanktabellen-Struktur vornehmen können.

Sie haben die Möglichkeit, einzelne Felder hinzuzu fügen, zu löschen oder deren Typ zu ändern. Die Änderungen erfolgen hierbei mit Hilfe der MySQL-Anweisung ALTER, die Sie mit mysql_query() oder mysql_db_query() an den Server senden.

Felder hinzufügen

Neue Felder in eine Datenbanktabelle einzufügen geht so:

<?

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

$SQL_Befehl = "ALTER TABLE Mitglieder ADD Telefon CHAR(14)";

mysql_db_query("verein", $SQL_Befehl);

mysql_close($db);

?>

Im vorliegenden Beispiel wird das Feld Telefon mit dem Typ CHAR hinzugefügt.

Feldtyp ändern

Wollen Sie den Typ eines bestehenden Feldes ändern, lässt sich dies wie folgt umsetzen:

<?

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

$SQL_Befehl = "ALTER TABLE Mitglieder MODIFY Telefon INTEGER";

mysql_db_query("verein", $SQL_Befehl);

mysql_close($db);

?>

Nun besitzt das Feld Telefon den Typ INTEGER.

Achtung: Das Ändern des Typs eines Feldes sollte äußerst sorgfältig durchgeführt werden. Nicht jeder Typ lässt sich in einen anderen Typ umwandeln. Daher ist darauf zu achten, dass es zu keinem Datenverlust kommt.

Feld löschen

Das Löschen von Feldern bereitet keine Schwierigkeiten. Natürlich sollte klar sein, dass die Entfernung eines Feldes grundsätzlich zu einem Datenverlust führt.

<?

// Verbindung zum MySQL-Server
$db = mysql_connect ("localhost", "matthias", "");

$SQL_Befehl = "ALTER TABLE Mitglieder DROP COLUMN Telefon";

mysql_db_query("verein", $SQL_Befehl);

mysql_close($db);

?>

Ermitteln der Tabellenstruktur

Die meisten Funktionen, die Informationen über Tabellen und Felder liefern, beziehen sich auf die Tabelleninhalte (Ergebnistabellen). Die Funktion mysql_list_fields() bezieht sich dagegen auf die Struktur der Datenbanktabellen. Diese Unterscheidung sollten Sie immer beachten, wenn es um die Ermittlung von Tabelleninhalte geht. Mit mysql_list_fields() können Sie die Spaltenbezeichnungen einzelner Datenbanktabellen auslesen.

<?php

$db = mysql_connect ("localhost", "matthias", "");
$felder = mysql_list_fields("verein","mitglieder",$db);
mysql_close($db);

?>

Allerdings lassen sich auf die Ergebnisstruktur nicht Funktionen wie mysql_result() oder mysql_num_rows() anwenden. Es handelt sich nicht, wie bisher um eine der üblichen Ergebnistabellen. Zur Verarbeitung stehen Ihnen folgende Funktionen zur Verfügung:
. mysql_num_fields() - ermittelt die Zahl der Felder.
. mysql_field_flags() - liefert eine Liste mit Feldeigenschaften.
. mysql_field_len() - ermittelt die Länge eines Feldes.
. mysql_field_name() - ermittelt den Namen eines Feldes.
. mysql_field_type() - ermittelt den Datentyp eines Feldes.

Mit Ausnahme von mysql_num_fields(), mit der Sie die Anzahl der Felder ermitteln, beziehen sich sämtliche Funktionen immer auf ein bestimmtes Feld. Dieses ist per Index im zweiten Argument anzugeben. Der Indexwert 0 steht auch in diesem Fall für das erste Feld. Im ersten Argument ist die Ergebnis-ID, also der Zeiger auf die Ergebnisstruktur, zu benennen, im vorliegenden Fall ist dies die Variable $felder.

Achtung: Hierbei handelt es sich um die Struktur, die von mysql_list_fields() erzeugt wird, nicht um das Ergebnis einer Abfrage.

Beispiel

<?php

$db = mysql_connect ("localhost", "matthias", "");
$felder = mysql_list_fields("verein","mitglieder",$db);

if ($felder) {
    $anzahl = mysql_num_fields($felder);
    for ($i = 0; $i < $anzahl; $i++) {
        echo "<p>";
        echo mysql_field_name($felder, $i) . " / ";
        echo mysql_field_type($felder, $i) . " / ";
        echo mysql_field_len($felder, $i) . " / ";
        echo mysql_field_flags($felder, $i);
        echo "</p>";
    }
}

mysql_close($db);

?>

Ausgabe

MitgliedID / int / 11 / not_null primary_key auto_increment
MitgliedVorname / string / 40 /
MitgliedNachname / string / 40 /
Aufgabe / string / 40 /
Geburtsdatum / date / 10 /

Wie Sie sehen durchläuft die for-Schleife sämtliche Felder. Für jedes Feld werden Name, Typ, Länge und die Feldeigenschaften ausgegeben.

Datenbanken und Tabellen löschen

Verknüpfte Tabellen (WHERE/JOIN)

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Verknüpfte Tabellen (WHERE/JOIN)

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verknüpfte Tabellen (WHERE/JOIN)

Ein wichtiges Thema bei der Selektion von Daten aus der Datenbank ist die Verknüpfung von verschiedenen Tabellen für die Ausgabe. Das relationale Datenmodell bzw. die Anlage der Tabellen mit relationalen Verknüpfungen gewährleistet Ihnen eine effektive Datenhaltung. Wie an verschiedenen Stellen bereits erläutert wurde, sind diese relationalen Verknüpfungen zwischen verschiedenen Tabellen ein ständiger Begleiter bei der Datenbankarbeit. Auch bei SELECT-Abfragen über mehr als eine Tabelle ist es notwendig, diese relationalen Verknüpfungen handhaben zu können, da die Verknüpfung in den SELECT-Statements von Ihnen formuliert werden muss. Diese Verknüpfungen werden als Joins bezeichnet.

Sie können Tabellen auf zwei verschiedene Arten miteinander verknüpfen:
. Über eine WHERE-Bedingung oder
. über den SQL-Befehl JOIN.

Einführungsbeispiel für Verknüpfungen

Um Verknüpfungen zu demonstrieren, fangen wir am besten mit einem einfachen Beispiel an. In diesem Beispiel liegen zwei Tabellen vor. Die Tabelle, die alle Produkte enthält, ist referenziell mit der Tabelle aller Anbieter verknüpft. Es handelt sich hierbei also um eine 1:n-Beziehung.

Für dieses Beispiel soll nunmehr eine Tabelle erzeugt werden, die alle Anbieter und deren Produkte auflistet. In der Praxis wäre die Tabelle natürlich noch länger und würde beispielsweise Preisinformationen etc. enthalten. An dieser Stelle ist ein vereinfachtes Beispiel jedoch ausreichend, um Ihnen beim Thema Joins schnellere Erfolgserlebnisse zu ermöglichen.

Die zu erzeugende Tabbelle hat dann folgendes Aussehen:

name | produkt
Deutsche Telekom | T-ISDN
Deutsche Telekom | T-Net
Deutsche Telekom | T-Mobile
VIAG Interkom | Call by Call
VIAG Interkom | Preselect
Mobilcom | City Call
Mobilcom | Call by Call

Um das richtige Ergebnis zu erreichen, müssen Sie die Verknüpfungen in der Abfrage nachbilden und die sachliche Zuordnung "Produkt gehört zu Anbieter" darstellen.

Eine Möglichkeit, diese Abfrage zu formulieren, lautet:

SELECT anbieter.name, telprodukte.produkt FROM anbieter, telprodukte WHERE anbieter.id = telprodukte.ida;

Die Verknüpfung der Tabelle ist also in der WHERE-Bedingung dargestellt. Wenn Sie diese Abfrage ohne die WHERE-Bedingung formulieren, würde Ihnen MySQL eine Liste aller möglichen Kombinationen aus Anbietern und Produkten liefern.

Hinweis: Gelegentlich kann es vorkommen, dass die Schlüsselfelder der beteiligten Tabellen den selben Namen tragen. In diesem Fall werden Sie die Bedingung unter Angabe des jeweiligen Tabellennamens nach dem Muster Tabelle.Spalte präzisieren müssen.

Bezeichnung von Spalten

Die Verwendung des Ersatzeichens "*" liefert sämtliche Spalten der verknüpften Tabelle. Das ist jedoch nur in seltenen Fällen erforderlich. Üblicherweise benötigen Sie nur eine bestimmte Anzahl von Spalten. In der SELECT-Anweisung sind dann die Spalten aufzulisten, die in der Ergebnistabelle erscheinen sollen. Grundsätzlich können Sie die Spalten wie gewohnt mit ihrem Namen auflisten, auch wenn diese unterschiedlichen Tabellen angehören:

SELECT kundenNr, Firma, Ort
FROM kunden, anbieter
WHERE kundenNr = KdNr

Dabei ist jedoch auf gleichnamige Spalten zu achten. Um diese unterscheiden zu können müssen, Sie die Feldnamen gegebenenfalls mit dem vorangestellten Tabellennamen kennzeichnen:

SELECT kunden.kundenNr, kunden.Firma
anbieter.nr, anbieter.Firma, anbieter.Ort
...

Eine solche Schreibweise erleichert zudem die Lesbarkeit des Codes. Wollen Sie gleichnamige Felder ausgeben, ist hierfür ein Alisaname zu bestimmen, damit sich die Felder in der Ergebnistabelle unterscheiden lassen:

SELECT kunden.Firma AS Kfirma ...

Im PHP-Skript greifen Sie über diese Namen auf die betreffenden Spalten zu.

Verknüpfung mehrerer Tabellen über WHERE

Sind mehr als zwei Tabellen zu verknüpfen, wird die Abfrage um die entsprechenden Tabellen und WHERE-Bedingungen erweitert.

Die Syntax lautet dann wie folgt:

SELECT FROM Tabelle_1, Tabelle_2, ..., Tabelle_n WHERE Tabelle_i.Spaltenname Tabelle_j.Spaltenname AND Tabelle_m.Spaltenname;

Wobei i,j,m für den jeweiligen Tabellennamen steht und nach FROM aufgelistet sein muss.

Relationsalgebra

Die Verknüpfung von Tabellen unterliegt grundsätzlich der Relationsalgebra. Dahinter verbirgt sich nichts anderes als das Erzeugen neuer Relationen auf der Basis vorhandener Relationen. Joins sind dabei die Verbundmenge aus zwei oder mehr Relationen. Je nach Formulierung der Verknüpfung wird das Ergebnis ausgegeben.

Über den Typ der Verknüpfungsart werden verschiedene Joins unterschieden:
. Inner Join
Gibt nur die Datensätrze zurück, bei denen die Verknüpfungsbedingung übereinstimmt. Das Einführungsbeispiel ist ein solcher Inner Join. Zum Anbieter wurden diejenigen Produkte ausgewählt, die diesem Anbieter zugeordnet sind. Es wurden keine Datensätze von Anbietern ausgegeben, die keine Produkte anbieten, bzw. es sind keine Produkte ausgeben worden, die keinem Anbieter zugeordnet sind. Beim Inner Join handelt es sich um die typische Form, die Sie beim Verknüpfen von Tabellen benötigen.
. Outer Join
Gibt dieselben Datensätze wie ein Inner Join zurück. Allerdings werden hier alle Datensätze einer Tabelle ausgegeben, auch wenn keine korrespondierenden Datensätze in der jeweils anderen Tabelle vorhanden sind. In diesem Fall wird ein leerer Datensatz verknüpft.
. Theta Join
Üblicherweise werden Tabellen über gleiche Datensätze in bestimmten Feldern verknüpft. Die Verknüpfungsbedingung muss aber nicht unbedingt mit dem Gleichheitsoperator gebildet werden. Auch Ungleichheit und Kleiner/Grösser-Vergleiche sind möglich. In diesem Fall spricht man von einem Theta Join.

Left und Right Join

Hieraus resultieren dann die Begriffe Left und Right Join, je nachdem, von welcher der beiden Tabellen alle Datensätze ausgegeben werden. Bezogen auf unser Beispiel ist ein Outer Join eine Abfrage, bei der auch dann alle Anbieter ausgegeben werden, auch wenn ihnen keine Produkte zugeordnet sind.

Um Tabellen miteinander verknüpfen zu können, müssen die Felder, über die die Tabellen verknüpft werden, über einen kompatiblen Datentyp verfügen. Im Einführungsbeispiel wurden die Tabellen über die ID verknüpft, die jeweils als INTEGER definiert sind.

Verknüpfung über JOIN-Syntax

Beim Einführungsbeispiel handelte es sich um die alte SQL-Methode zur Realisierung von Verknüpfungen mit WHERE.

SELECT anbieter.name, telprodukte.produkt FROM anbieter, telprodukte WHERE anbieter.id = telprodukte.ida;

Die Verknüpfung innerhalb von Abfragen zwischen Tabellen kann jedoch, außer über die oben gezeigte WHERE-Bedingung, auch ANSI-SQL 92-konform über das Schlüsselwort JOIN und die Angabe der Verknüpfungsbedingung deklariert werden. Mit einem LEFT JOIN sieht die oben genannte Abfrage wie folgt aus:

SELECT anbieter.name, telprodukte.produkt FROM anbieter LEFT JOIN telprodukte ON anbieter.id = telprodukte.ida;

Ausgabe

name | produkt
Deutsche Telekom | T-ISDN
Deutsche Telekom | T-Net
Deutsche Telekom | T-Mobile
VIAG Interkom | Call by Call
VIAG Interkom | Preselect
Mobilcom | City Call
Mobilcom | Call by Call

Die allgemeine Syntax hinter dem FROM des SELECT-Befehls lautet:

, JOIN [ON ] WHERE []

Verknüpfungsabfragen können beliebig komplex werden. Die Definition umfangreicher JOIN-Abfragen kann durchaus einige Zeit in Anspruch nehmen.

Die JOIN-Syntax soll nochmals an einem weiteren Beispiel gezeigt werden:

Ein klassisches Beispiel hierfür wäre ein Belegungsplan für die Kursbelegung in Hochschulen oder die Belegung von Zimmern in einem Hotel. Dies sind in der Regel n:m-Beziehungen. Das heißt für das erste Beispiel: Ein Kurs kann von vielen Studenten besucht werden, und ein Student kann viele Kurse besuchen.

Die Tabellendefinitionen hierfür sehen wie folgt aus:

CREATE TABLE kurse (
  ID int(11) NOT NULL auto_increment,
  Bezeichnung varchar(50) default NULL,
  PRIMARY KEY  (ID)
);

Daten

INSERT INTO kurse VALUES (1, 'Deutsch');
INSERT INTO kurse VALUES (2, 'Mathe');
INSERT INTO kurse VALUES (3, 'Englisch');
INSERT INTO kurse VALUES (4, 'Latein');
INSERT INTO kurse VALUES (5, 'Informatik');
INSERT INTO kurse VALUES (6, 'Biologie');
INSERT INTO kurse VALUES (7, 'Physik');

und

CREATE TABLE studenten (
  ID int(11) NOT NULL auto_increment,
  Vorname varchar(50) default NULL,
  Name varchar(50) default NULL,
  PRIMARY KEY  (ID)
);

Daten

INSERT INTO studenten VALUES (1, 'Bernd', 'Klein');
INSERT INTO studenten VALUES (2, 'Caroline', 'Kannengiesser');
INSERT INTO studenten VALUES (3, 'Manfred', 'Bohnmann');
INSERT INTO studenten VALUES (4, 'Susanne', 'Maier');
INSERT INTO studenten VALUES (5, 'Jan', 'Kuhnert');
INSERT INTO studenten VALUES (6, 'Tanja', 'Biedorf');

Dies sind die beiden Tabellen für die Kurse und die Studenten. Aufgrund der n:m-Beziehung wird im relationalen Datenmodell eine zusätzliche Tabelle Kursbelegung benötigt, die die Zuordnung von Studenten und Kursen beinhaltet. Die Tabellendefinition, einschließlich der Fremdschlüssel, sieht so aus:

CREATE TABLE Kursbelegung (
    Kurse_ID INT,
    Studenten_ID INT,
    FOREIGN KEY (Kurse_id) REFERENCES Kurse(ID),
    FOREIGN KEY (Studenten_id) REFERENCES Studenten(ID)
);

Daten

INSERT INTO kursbelegung VALUES (1,1);
INSERT INTO kursbelegung VALUES (1,2);
INSERT INTO kursbelegung VALUES (1,3);
INSERT INTO kursbelegung VALUES (1,4);
INSERT INTO kursbelegung VALUES (2,2);
INSERT INTO kursbelegung VALUES (2,3);
INSERT INTO kursbelegung VALUES (2,4);
INSERT INTO kursbelegung VALUES (2,5);
INSERT INTO kursbelegung VALUES (3,3);
INSERT INTO kursbelegung VALUES (3,4);
INSERT INTO kursbelegung VALUES (3,5);
INSERT INTO kursbelegung VALUES (3,6);

Um jetzt eine Liste zu erhalten, die alle Studenten mit ihren belegten Kursen auflistet, sind alle Tabellen miteinander zu verknüpfen:

SELECT Studenten.Vorname, Studenten.Name, kurse.bezeichnung
FROM kursbelegung
INNER JOIN kurse ON kurse.ID=kursbelegung.Kurse_ID
INNER JOIN Studenten ON Studenten.ID=kursbelegung.Studenten_ID
ORDER BY  Studenten.Name;

In diesem Fall werden also zwei Verknüpfungen in einer Abfrage realisiert, nämlich die Verknüpfung zwischen den Tabellen kursbelegung und Studenten sowie zwischen den Tabellen kursbelegung und Kurse. Das Ergebnis dieser Abfrage sieht wie folgt aus:

Vorname | Name | Bezeichnung
Tanja | Biedorf | Englisch
Manfred | Bohnmann | Englisch
Manfred | Bohnmann | Mathe
Manfred | Bohnmann | Deutsch
Caroline | Kannengiesser | Deutsch
Caroline | Kannengiesser | Mathe
Bernd | Klein | Deutsch
Jan | Kuhnert | Englisch
Jan | Kuhnert | Mathe
Susanne | Maier | Mathe
Susanne | Maier | Deutsch
Susanne | Maier | Englisch

Wer macht was an der Uni?

Theta Join - Joins auf der Basis von Vergleichen

Inner Joins können auch mit Vergleichen durchgeführt werden, die nicht das Gleichheitszeichen beinhalten. Es kann beispielsweise eine Verknüpfung zwischen Tabellen erzeugt werden, die einen Vergleich benötigen.

Gegeben sind beispielsweise zwei Tabellen, die die Fläche von Ländern und Bundesländern enthalten. Die Tabellen haben folgendes Aussehen:

CREATE TABLE bundeslaender (
  id int auto_increment PRIMARY KEY,
  name varchar(50) ,
  flaeche float
);

und

CREATE TABLE laender (
  id int auto_increment PRIMARY KEY,
  name varchar(50),
  flaeche float
);

Ermittelt werden sollen jetzt alle Länder, die kleiner als das Bundesland Bayern sind. Die Abfrage hierfür lautet:

SELECT l.name,l.flaeche, bl.name,bl.flaeche FROM laender as l INNER JOIN bundeslaender as bl ON bl.flaeche>l.flaeche AND bl.name='Bayern';

Self Join

Verbindungen müssen nicht nur zwischen verschiedenen Tabellen bestehen. Tabellen können auch als SELF JOIN mit sich selbst verbunden werden. Ein Beispiel wäre ein Stammbaum, der Personen und deren Väter enthält. Um jetzt herauszufinden, welche Personen Geschwister sind, kann ein SELF JOIN verwendet werden. Das folgende Beispiel beschreibt dies:

CREATE TABLE stammbaum (
    name varchar(50),
    Vater varchar(50)
);

Daten

INSERT INTO stammbaum VALUES ('Tanja Biedorf','Manfred Biedorf');
INSERT INTO stammbaum VALUES ('Toni Meier','Manfred Meier');
INSERT INTO stammbaum VALUES ('Susanne Schmidt','Helmut Schmidt');
INSERT INTO stammbaum VALUES ('Michael Meier','Bernd Meier');
INSERT INTO stammbaum VALUES ('Joanna Schmidt','Helmut Schmidt');
INSERT INTO stammbaum VALUES ('Sandra Meier','Manfred Meier');

Die SQL-Abfrage hierfür lautet:

SELECT s1.name,s2.name AS Geschwister, s1.Vater FROM stammbaum AS s1 INNER JOIN stammbaum AS s2 USING(Vater) WHERE s1.name<>s2.name;

Im Ergebnis werden dann zu jeder Person die Geschwister ermittelt.

Hinweis: Wie Sie sehen kann auch bei der Verwendung von JOIN- und ON-Klauseln noch eine zusätzliche WHERE-Klausel enthalten sein. Die Bedingung kann sich hierbei auf die linke, die rechte oder beide Tabellen beziehen. Es sind somit auch zusammengesetzte Bedingungen möglich.

Outer Join

Beim Outer Join werden sämtliche Datensätze einer der beteiligten Tabellen angezeigt. Ob es sich hierbei um die linke oder rechte Tabelle handelt, bestimmen Sie mit den Schlüsselwörtern wie LEFT oder RIGHT. Das folgende Beispiel zeigt sämtliche Datensätze der linken Tabelle an, in diesem Falls der Tabelle kunden:

SELECT * FROM kunden
LEFT OUTER JOIN anbieter ON kundenNr = KdNr

Wenn für einen Datensatz der linken Tabelle kunden keine Datensätze in der rechten Tabelle anbieter enthalten sind, werden in den betreffenden Spalten NULL-Werte ausgegeben. In der Regel können Sie auf das Schlüsselwort OUTER sogar verzichten.

SELECT * FROM kunden
LEFT JOIN anbieter ON kundenNr = KdNr

Damit ist dennoch ein Outer Join gemeint. Eine LEFT-JOIN-Verknüpfung werden sie recht häufig nutzern können. Sie entspricht der Tabellenbeziehung 1:n, welche Sie bereits kennen gelernt haben. Wesentlich seltener dürfte ein RIGHT-JOIN sein. Dies würde bedeuten, dass in der rechten Tabelle Datensätze enthalten sind, denen in der linken keine Datensätze entsprechen. Bei der Struktur der Beispieltabelle kann dies durchaus vorkommen. Zwar wäre ein anbieter ohne Kunden arm dran, aber das soll es bekanntermassen ja auch geben.

Datenbanktabellen ändern

Tabellen vereinigen (UNION)

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Tabellen vereinigen (UNION)

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Tabellen vereinigen (UNION)

Manchmal kann es vorkommen, dass verschiedene Tabellen teilweise identisch aufgebaut sind oder Felder mit demselben Inhalt besitzen. So könnte eine Tabelle beispielsweise alle Mitglieder und eine weitere alle Interessenten für eine Mitgliedschaft enthalten, die getrennt voneinander aufgeführt werden, da für die Mitglieder teilweise andere Daten gespeichert werden als für die Interessenten.

Um solche Tabellen in einer einzigen Abfrage ausgeben zu können, müssen die Tabellen so kombiniert werden, dass jeweils Teilmengen verwendet werden. Hierfür steht ab Version 4 von MySQL der UNION-Befehl zur Verfügung. UNION fügt identische Datensätze aus verschiedenen Tabellen zu einem Datensatz zusammen und eliminiert dabei doppelte Datensätze.

Die Syntax für UNION lautet:

mysql>SELECT FROM UNION SELECT FROM ;

Hier ein Beispiel zur Ausgabe von Daten aus zwei Tabellen.

Tabellen - mitglieder und interessenten

CREATE TABLE mitglieder (
  MitgliedID int(11) NOT NULL auto_increment,
  MitgliedVorname char(40) default NULL,
  MitgliedNachname char(40) default NULL,
  Aufgabe char(40) default NULL,
  Geburtsdatum date default NULL,
  PRIMARY KEY  (MitgliedID)
);

INSERT INTO mitglieder VALUES (1, 'Matthias', 'Kannengiesser', 'Leitung', '1974-11-20');
INSERT INTO mitglieder VALUES (2, 'Caroline', 'Kannengiesser', 'Leitung', '1979-01-04');
INSERT INTO mitglieder VALUES (3, 'Thomas', 'Mustermann', 'Mitglied', '1967-10-10');

CREATE TABLE interessenten(
  InteressentenID int(11) NOT NULL auto_increment,
  InteressentenVorname char(40) default NULL,
  InteressentenNachname char(40) default NULL,
  Geburtsdatum date default NULL,
  PRIMARY KEY  (InteressentenID)
);

INSERT INTO interessenten VALUES (1, 'Manfred', 'Müller', '1990-10-02');
INSERT INTO interessenten VALUES (2, 'Tina', 'Maier', '1978-10-27');

Der UNION-Befehl samt Skript für die Ausgabe der Datensätze stellt sich, wie folgt dar:

<?php

$db = mysql_connect ("localhost", "matthias", "");

$SQL_Befehl = "
SELECT
    MitgliedID,
    MitgliedVorname,
    MitgliedNachname,
    Geburtsdatum
    FROM mitglieder UNION
    SELECT
    InteressentenID,
    InteressentenVorname,
    InteressentenNachname,
    Geburtsdatum
    FROM interessenten
";

$resultat = mysql_db_query("verein", $SQL_Befehl);

while ($daten = mysql_fetch_array($resultat)) {
extract($daten);
echo "
    <p>
    $MitgliedID<br>
    $MitgliedVorname<br>
    $MitgliedNachname<br>
    $Geburtsdatum
    </p>
";
}

mysql_close($db);

?>

Ausgabe

1
Matthias
Kannengiesser
1974-11-20

2
Caroline
Kannengiesser
1979-01-04

3
Thomas
Mustermann
1967-10-10

1
Manfred
Müller
1990-10-02

2
Tina
Maier
1978-10-27

Verknüpfte Tabellen (WHERE/JOIN)

Backups von Daten und Tabellen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation überprüfen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation überprüfen

War die Installation erfolgreich, sollte der MySQL-Server als Prozess laufen. Eine Ausnahme stellen Windows 9x und ME dar.

Unter UNIX-Systemen können Sie mit ps -a | gre mysqld die Prozessliste anzeigen lassen. Ist der MySQL-Server betriebsbereit, sollte er wie folgt als Prozess aufgelistet sein:

$>ps -a | grep mysqld
11015 pts/1 00:00:00 mysqld
11017 pts/1 00:00:00 mysqld

Unter Windows sollte ein entsprechender Eintrag (mysqld.exe) in der Taskleiste vorhanden sein.

Eine bestehende Installation können Sie auch testen, indem Sie eine Verbindung zum MySQL-Server herstellen. Dies kann mit folgender Kommandozeile bewirkt werden:
$>mysql -uroot

Läuft der Server, sollte die Verbindung mit der Shell des mysql-clients in der folgenden Form quittiert werden:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.23.49
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Läuft der Datenbankserver nicht, wird der Versuch, die Verbindung aufzubauen, mit folgender Fehlermeldung quittiert:
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

Installation auf Windows-Systemen

Kommandozeilenwerkzeuge von MySQL

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Sichern von Struktur und Daten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Sichern von Struktur und Daten

Wie bereits erwähnt versetzt Sie phpMyAdmin in die Lage die Struktur und Daten einer oder mehrerer Tabellen zu sichern und in eine Sicherungsdatei (Backup) zusammenzufassen.

Sichern von mehreren Tabellen

Um die Anagebn für mehrere oder sämtliche Tabellen zu sichern, klicken Sie zunächst im linken Navigationsbereicht auf den Namen der Datenbank. Anschliessend wählen Sie aus dem rechten Fenster Exportieren. Nun haben Sie die Möglichkeit die gewünschten Tabellen auszuwählen und festzulegen, ob Struktur und Daten oder nur eines von beiden gesichert werden soll. Mit dem Häckchen vor der Option Senden legen Sie fest, dass die SQL-Befehle als Datei gespeichert werden sollen.

Abschliessend klicken Sie auf OK und geben den Speicherort für die Sicherungsdatei an.

Wenn Sie in dieser Form mit phpMyAdmin Sicherungsdateien erstellen, wird hierbei die Struktur in einem CREATE-Befehl festgehalten und zum Speichern der Daten wird für jeden Datensatz ein INSERT-Befehl erzeugt.

#
# Tabellenstruktur für Tabelle `mitarbeiter`
#

CREATE TABLE `mitarbeiter` (
  `MNr` int(11) NOT NULL auto_increment,
  `VNr` int(11) default NULL,
  `AbtNr` int(11) NOT NULL default '0',
  `Name` varchar(30) NOT NULL default '',
  `GebDat` date default NULL,
  `Telefon` varchar(30) default NULL,
  PRIMARY KEY  (`MNr`)
);

#
# Daten für Tabelle `mitarbeiter`
#

INSERT INTO `mitarbeiter` VALUES (1,  NULL, 3, 'Matthias', '1974-11-20',  NULL);
INSERT INTO `mitarbeiter` VALUES (2, 1, 1, 'Caroline', '1979-01-04', '1235');
INSERT INTO `mitarbeiter` VALUES (5, 1, 1, 'Toni',  NULL, '8989');
INSERT INTO `mitarbeiter` VALUES (6, 5, 2, 'Maik',  NULL, '8976');

Sie können sich den Inhalt der Sicherungsdatei in einem beliebigen Texteditor betrachten.

Sichern von einzelnen Tabellen

Sollen Struktur und Daten lediglich einer Tabelle gesichert werden, können Sie als ersten Schritt im Navigationsbereich statt der Datenbank direkt die Tabelle auswählen und anschliessend auf Exportieren.

Sicherungsdatei selbst erstellen

Eine bestehende Sicherungsdatei können Sie in einem Texteditor auch jederzeit selbt erstellen:

# Datenbank : `Verlag`
DROP TABLE IF EXISTS autoren;

CREATE TABLE autoren (autorID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, autor VARCHAR(50));

INSERT INTO autoren (autor) VALUES ('Matthias'), ('Caroline'));

Mit diesen drei SQL-Befehlen löschen Sie eine gegebenenfalls vorhandene Tabelle autoren und erstellen sie wieder neu. Anschliessend werden die zwei Einträge zur Spalte autor hinzugefügt.

Backups von Daten und Tabellen

Ausführung von gespeicherten SQL-Befehlen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Ausführung von gespeicherten SQL-Befehlen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Ausführung von gespeicherten SQL-Befehlen

Um die in einer Datei gespeicherten SQL-Befehle auszurführen, klicken Sie innerhalb des rechten Fenster von phpMyAdmin auf SQL und anschliessend auf Durchsuchen und wählen die gewünschte Datei aus.

Abschliessend klicken Sie auf OK um die in der Datei befindlichen SQL-Befehle auszuführen. Sollte hierbei ein Fehler auftreten, wird die Ausführung abgebrochen und eine Fehlermeldung ausgegeben.

Im Prinzip können Sie diesen Weg auch nutzen, um bei Ihrem Provider Struktur und Daten neuer Tabellen aufzuspielen, so gehen die lokal auf der Testumgebung angelegten Daten nicht verloren und können direkt für die Web-Anwendung genutzt werden.

Sichern von Struktur und Daten

Useronline via MySQL

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Absätzen & Co

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Absätzen & Co

Wie verhält es sich mit Absätzen

, oder wäre der Einsatz von <div></div> eine Alternative. Diese Frage stellen sich sicher eine Vielzahl von Entwickler. Wir können Ihnen ruhigen Gewissens den
-Tag empfehlen. Dieser lässt sich mit Hilfe von Cascading Style Sheets (CSS) anpassen. Auf den Punkt gebracht man kann den

-Container durch den

-Container ersetzen und kann diesen wesentlich flexibler einsetzen.

. <br /> - Definiert einen Zeilenumbruch.
. <p></p> - Definiert einen Absatz.
. <div></div> - Erzeugt einen Container, welcher äusserst flexibel einsetzbar ist.
. <span><span> - Erzeugt einen Container, welcher äusserst flexibel einsetzbar ist.

Beispiele

<p align="left">
    Ein Absatz...
</p>

<div align="justify">
    Ein freier Absatz...
</div>

Sie haben zusätzlich die Möglichkeit eine CSS-Klasse (class/id) als Attribut anzugeben.

Beispiel

<p class="blocksatz" id="block">
    Klasse samt ID im Absatz
</p>

<div class="blocksatz" id="block">
    Klasse samt ID im freien Absatz
</div>

<span class="blocksatz" id="block">
    Klasse samt ID im freien Absatz
</span>

HTML-Kurzreferenz

Einsatz von Textformatierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Textformatierung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Textformatierung

Zur Formatierung von Text stehen Ihnen in HTML eine Reihe von Tags zur Verfügung, diese können ihr Textbild optmieren und damit Ihre Anwendung um einiges attraktiver gestalten. Look and Fell einer Anwendung sind genau so wesentliche Bestandteile, wie die Usability.

Tag | Bedeutung
<h1></h1> bis <h6></h6> | Überschriften der Stufe 1 (gross) bis 6 (klein)
<b></b> | Fett (bold)
<i></i> | Kursiv (italic)
<u></u> | Unterstrichen (underline)
<q></q> | Zitate (quote), meist kursiv
<em></em> | Hervorgehoben (emphatic), kursiv
<big></big> | Grosse Schrift
<small></small> | Kleine Schrift
<sub></sub> | Tiefgestellt (subscript)
<sup></sup> | Hochgestellt (superscript)
<strike></strike> | Durchgestrichen
<strong></strong> | Stark betont
<code></code> | Geeignet für die Ausgabe von Quellcode
<cite></cite> | Zitate, meist kursiv
<samp></samp> | Text wird ausgegeben, wie er eingegeben wurde.
<pre></pre> | Formatierter Text wird ausgegeben, wie eingegeben.
<kbd></kbd> | Tastaturtext (keyboard)
<dfn></dfn> | Definitionstext (definition)
<tt></tt> | Fernschreiber Text (teletype)

Einsatz von Absätzen & Co

Einsatz von Grafik-Dateien

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Grafik-Dateien

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Grafik-Dateien

Das einsetzen von Grafiken in HTML-Seiten ist sicher kein all zu grosses Problem. Es kommt dennoch immer wieder zu Problemen, da nicht beachtet wird, das lediglich die Formate GIF, JPEG und PNG von aktuellen Browser Versionen unterstützt werden, dies sollten Sie vor allem bei der Verknüpfung von Grafiken mit HTML-Seiten berücksichtigen.

Folgende Konventionen gilt es zu beachten:
. Dateinamen dürfen keine Umlaute oder Leerzeichen enthalten.
. Auf Gross- und Kleinschreibung muss geachtet werden, da Server Systeme, wie UNIX zwischen Gross- und Kleinschreibung unterscheiden.
. Grafiken sollten lediglich über relative Pfade eingebunden werden, z.B. ../bilder/foto.jpg.

Einsatz des <img />-Tag

Attribut | Beispiel | Bedeutung
src | <img src="pfad/bildname.jpg" /> | Verweis auf Grafik-Datei.
align | <img src="rose.gif" align="left" /> <img src="rose.gif" align="right" /> | Ausrichtung der Grafik, links oder rechtsbündig mit Textfluss.
width | width="100" | Breite der Grafik.
height | height="100" | Höhe der Grafik.
alt | <img src="rose.gif" alt="Rose" /> | Alternativtext, wird zur QuickInfo
border | <img src="rose.gif" border="2" /> | Zeigt einen Rahmen an, (border="0" - enspricht keinem Rahmen)
vspace | <img src="rose.gif" vspace="5" /> | Zusätzlicher Abstand in Pixel, oben und unten.
hspace | <img src="rose.gif" hspace="5"/> | Zusätzlicher Abstand in Pixel, links und rechts.

Einsatz von Textformatierung

Einsatz von Listen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Kommandozeilenwerkzeuge von MySQL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kommandozeilenwerkzeuge von MySQL

MySQL verfügt über eine Reihe von Kommandozeilenwerkzeugen. Diese lassen sich vor allem für Administrationsaufgaben einsetzen. Sie finden diese in Ihrem Installationsverzeichnis von MySQL im Unterverzeichnis bin.

mysql - die SQL-Shell

Das wichtigste Tool, das im Standardumfang von MySQL mitgeliefert wird und auf allen Betriebssystemen verfügbar ist, ist das Kommandozeilenwerkzeug mysql. Dieser Client wird von MySQL AB als einfache SQL-Shell bezeichnet.

Das Praktische an diesem Tool ist die Möglichkeit, es nicht nur interaktiv, sondern auch im Batch-Modus benutzen zu können. Wenn Sie den Client mysql interaktiv verwenden wollen, erfolgt der Programmstart durch Eingabe von mysql mit Parametern. Bei korrektem Aufruf und korrekter Installation startet das Programm mit einer Verbindung zum MySQL-Server und bietet einen Kommandozeilenprompt an. In diese Kommandozeile können Sie dann die Befehle eingeben.

Start der mysql-shell

Der Start der mysql-Shell erfolgt über Eingabe von mysql in die Kommandozeile. Die mysql-Shell verfügt dabei über eine Reihe von Parametern für den Aufruf. Diese können wie folgt angezeigt werden:
$>mysql -help

Die wichtigsten Aufrufparameter sind der Benutzername, das Passwort und der Zielrechner. Grundsätzlich können Sie sich mit jedem beliebigen Rechner, auf dem eine MySQL-Datenbank läuft, verbinden, soweit Sie dort als Benutzer bekannt sind und eine Netzwerkverbindung zu diesem Zielrechner besteht. Der Aufruf mit Angabe eines Benutzernamens, Passworts und Zielrechners erfolgt in folgender Form:
$>mysql -u -p -h

Eingaben in den mysql-Client werden mit einem Semikolon (;) oder \g abgeschlossen. Diese Information erhalten Sie auch zur Erinnerung bei jedem Start des mysql-Clients. Um den mysql-Client zu verlassen, ist der Befehl quit oder exit einzugeben.

Der Start und das Beenden der mysql-Shell sieht beispielsweise wie folgt aus:
$>mysql -uroot -pmypassword

Die mysql-Shell meldet sich mit einem mysql>-Prompt. Dort können Sie dann die Befehle eingeben.

Mysql-Shell im Batch-Modus betreiben

Um die mysql-Shell im Batch-Modus zu benutzen, können Sie die Anweisungen, die Sie ausführen wollen, in eine Skript-Datei schreiben und anschließend über folgende Kommandozeile ausführen:
$>mysql

Im Skript stehen alle Befehle, die abgearbeitet werden sollen. Mit werden diese Befehle eingelesen. Die Ausgabe kann mit in eine Datei umgeleitet werden.

Auf diese Weise können wiederkehrende Aufgaben automatisiert werden.

mysqladmin

Dies ist ein Programm zur Unterstützung von administrativen Aufgaben von der Kommandozeile. Mit mysqladmin können Sie:
. den Server herunterfahren
. Datenbanken anlegen
. Datenbanken löschen
. Versions-, Prozess- und Statusinformationen anzeigen
. Rechtetabellen neu laden

Der Start von mysqladmin erfolgt von der Kommandozeile aus mit:
$>mysqladmin [OPTIONEN] Befehl Befehl

Wie bei allen Kommandozeilentools von MySQL können Sie die Hilfe und die zur Verfügung stehenden Optionen mit folgender Kommandozeile abrufen:
$>mysqladmin --help

Beispielhaft ist hier der Aufruf der Prozessliste von MySQL aufgezeigt, mit der Sie überwachen können, welche Prozesse aktuell auf der Datenbank laufen:
$>mysqladmin -uuser -ppasswort -hxxx.xxx.xxx.xxx processlist

Sie können natürlich auch auf entfernten Rechnern mit Hilfe der Angabe des Hosts (-h), des Usernamens (-u) und des dazugehörigen Passwortes (-p) die gewünschten Optionen ausführen, soweit Ihnen entsprechende Rechte auf der Datenbank eingeräumt wurden.

Um einen MySQL-Server herunterzufahren, ist folgender Befehl einzugeben:
$>mysqladmin -uroot -ppasswort shutdown

mysqlshow

Dieses Programm zeigt Informationen über eine Datenbank, Tabellen, Spalten und Indizes an. mysqlshow wird wie folgt aufgerufen:
$>mysqlshow [OPTIONS] [ [ []]]

Wenn Sie sich Informationen zu einer Tabelle anzeigen lassen wollen, kann die Ausgabe wie folgt aussehen:
$>mysqlshow -uuser -ppasswort -h127.0.0.72 mysqlpraxis kunden

Weitere Hilfsprogramme

myisamchk

Hierbei handelt es sich um ein Hilfsprogramm zur Überprüfung, Optimierung und Reparatur von MySQL-Tabellen.

mysqldump

Dieses Programm erzeugt eine Kopie der Datenbank oder Teile davon als ASCII-Datei in vollständiger SQL-Syntax. Es ist äußerst hilfreich beim Transfer von Datenbanken oder bei Backup-Aufgaben.

mysqltest

MySQL liefert unter UNIX ein Testsystem mit, das es Ihnen erlaubt, auch komplexe Datenbankabläufe zu simulieren.

mysqlimport

Ein Hilfsprogramm zum Importieren von Tabellen und Daten.

mysqlhotcopy

Dies ist ein Perl-Skript zur schnellen Sicherung von Datenbanken und Tabellen. Es ist lediglich bei der UNIX-Version vorhanden.

perror

Dieses Programm dient zur Übersetzung von Fehlernummern und wird folgendermassen aufgerufen:
$>perror ...

Beispiel

$>perror 13 23
Keine Berechtigung
Zu viele offene Dateien im System

Installation überprüfen

Grafische MySQL-Clients

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Listen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Listen

Wer kennt Sie nicht die <ul>, <ol> und <li>-Tags. Diese ermöglichen es Ihnen ohne weiteres Listen darzustellen, welche Sie für Glossars oder Indizes einsetzen können.
. <ul></ul> - Erzeugt eine Aufzählung mit Aufzählungszeichen (unordered)
. <ol></ol> - Erzeugt eine Aufzählung mit Nummeriung (ordered)
. <li></li> - Eintrag innerhalb einer Auszählung (list item)

Attribut | Wert | Bedeutung
<ul></ul> |  | Aufzählung (unordered)
type | disc | Voreinstellung, gefüllte runde Bullets
 | square | Erzeugt gefüllte, quadratische Bullets
 | circle | Erzeugt hohle, kreisförmige Bullets
<ol></ol> |  | Aufzählung (ordered)
type | 1 | Voreinstellung, sind arabische Zahlen
 | A | Erzeugt Großbuchstaben
 | a | Erzeugt Kleinbuchstaben
 | I | Große römische Ziffern (großes i)
 | i | Kleine römische Ziffern (kleines i)
 | start | Startwert, Voreinstellung ist 1

Beispiel - <ul>

<ul>
  <li>Erste Kapitel</li>
  <li>Zweites Kapitel
    <ul type="square">
      <li>Unter Kapitel
        <ul type="disc">
          <li>...</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>...</li>
</ul>

Beispiel - <ol>

<ol>
  <li>Erster Kapitel</li>
  <li>Zweites Kapitel
    <ol type="I">
      <li>Unter Kapitel</li>
      <li>...</li>
    </ol>
  </li>
  <li>...</li>
</ol>

Einsatz von Grafik-Dateien

Einsatz von Schriften

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Schriften

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Schriften

Noch vor einigen Jahren kamen Web-Anwendungen ohne den Einsatz des <font>-Tag gar nicht erst aus. Heutzutage wird für die Textformatierung vor allem CSS eingesetzt. Auch wenn das <font>-Tag zu den Evergreens gehört, ist es eines der Tags, welches selbst von älteren Browser Generation unterstützt wird und somit zur Grundausrüstung gehört.

Attribut | Wert | Bedeutung
<font></font> |  | Legt die Schrifteigenschaften fest.
face | Schriftart | Definiert eine Schriftart
color | hex. Wert oder Farbname | Definiert die Schriftfarbe
size | 1 bis 7 (Normal=3) oder relativer Werte -1, -2, +1, +2 (Normal=0) | Definiert die Schriftgröße

Beispiel

<font size="7">Gross</font> und <font size="-7">Klein</font>

Einsatz von Listen

Einsatz von Hyperlinks

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Hyperlinks

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Hyperlinks

Hyperlinks stellen die Verbindungsachse zwischen dem HTML-Dokument und den benötigten externen Informationen dar. Dabei kann es sich um Verweise auf entfernte Websites handeln, oder um die Einbindung von Grafik- und Multimedia-Dateien. Auch bei der Realisierung von dynamischen Web-Anwendungen spielen Hyperlinks eine wesentliche Rolle, sie ermöglichen die Kommunikation der einzelnen Anwendungsbestandteile untereinander und lösen meist nutzergesteuert weiter Aktionen aus. In HTML wird das <a>-Tag zur Generierung eines Hyperlinks verwendet.

Attribut | Wert | Bedeutung
<a></a> |  | Legt die Schrifteigenschaften fest.
href | Pfad + Dateiname Ankerbezeichnung | Verweist auf eine interne oder externe Datei (Quelle)
target | _blank _parent _self _top oder Fenstername | Verweist auf ein Ziel und öffnet in bestimmten Fällen ein neues Browserfenster.
Name bzw. id | Ankerbezeichnung | Definiert einen benannten Anker

Beispiel - Verweis

<a href="www.atomicscript.de" target="_blank">AtomicScript Website</a>

Beispiel - BenannterAnker

<a href="unten" id="unten"></a>

Beispiel - Verweis auf benannten Anker

<a href="index.html#unten">Seitenende</a>

Einsatz von Schriften

Einsatz von Tabellen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Tabellen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Tabellen

Mit Hilfe des <table>-Tags sind Sie als Entwickler in der Lage Ihre Web-Anwendungen optimal zu gestalten. Hiermit lässt sich ein Layout festlegen und selbst in älteren Browsers wiedergeben. Auch in diesem Fall dominiert jedoch mehr und mehr der Einsatz von StyleSheets.
. <table></table> - Definiert eine Tabelle.
. <tr></tr> - Legt eine Zeile innerhalb der Tabelle fest.
. <td></td> - Legt eine Zelle innerhalb der Tabelle fest.
. <th></th> - Legt eine Zelle im Tabellenkopf fest.

Attribut | Wert | Bedeutung
<table></table> |  | Definiert eine Tabelle
bgcolor | Hex. Wert oder Farbname | Hintergrundfarbe
border | Pixel | Definiert den Tabellen Rahmen, Voreinstellung =0
background | Pfad + Dateiname | Bindet eine Hintergrundgrafik ein.
align | left, right, center | Ausrichtung, lediglich bei left/right findet Textfluss statt, Voreinstellung ist ohne.
width | Pixel oder % | Breite absolut oder relativ
height | Pixel oder % | Höhe absolut oder relativ
cellpadding | Pixel | Platz zwischen Zellrand und Zellinhalt, Polsterung.
cellspacing | Pixel | Abstand zwischen einzelnen Feldern, Dicke der Wand.
valign | top, middle, bottom | Legt die vertikale Ausrichtung fest.
<td></td> |  | Definiert eine Zelle
background | Pfad + Dateiname | Bindet eine Hintergrundgrafik ein.
bgcolor | Hex. Wert oder Farbname | Hintergrundfarbe
width | Pixel oder % | Breite absolut oder relativ
align | left, right, center | Ausrichtung, lediglich bei left/right findet Textfluss statt, Voreinstellung ist ohne.
valign | top, middle, bottom | Legt die vertikale Ausrichtung fest.
colspan | Wert | Definiert, über wie viele Spalten sich eine Zelle erstreckt.
colrow | Wert | Definiert, über wie viele Zeilen sich eine Zelle erstreckt.

Beispiel

<table width="400" border="1" cellspacing="2" cellpadding="2">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>

Einsatz von Hyperlinks

Einsatz von Formulare

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Formulare

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Formulare

Der Einsatz von Formulare innerhalb von Web-Anwendungen stellt einen wesentlichen Kern der Anwendungs-Entwicklung dar. Wie Sie wissen ist ohne eine brauchbare Eingabemaske eine Anwendung nur halb so viel wert, vor allem heutzutage sind Anwender mehr gewohnt als ein Blinkender Cursor in einem Textfeld, da müssen Sie sich schon mehr einfallen lassen. An dieser Stelle hat das <form>-Tag mit all seinen Elementen, seinen großen Auftritt.

Wie Sie bereits in Kapitel 4 erfahren haben, lässt sich der Einsatz von Formulare hervorragend mit PHP kombinieren.
. <form></form> - Definiert eine Formular
. <input /> - Definiert ein Formularelement
. <textarea></textarea> - Definiert ein mehrzeiliges Eingabetextfeld
. <select></select> - Definiert eine Auswahlfeld
. <option></option> - Auswahlfeld im <select>-Tag

Attribut | Wert | Bedeutung
<form></form> |  | Definiert ein Formular
action | Pfad zu CGI-Skript oder eine E-Mail-Adresse |
methode | GET/POST | Art der Übertragungsmethode
<input/> |  | Definiert ein Formularelement
type | text password radio checkbox submit reset hidden button | Legt den Typ eines Forumlarelements fest.
<textarea></textarea> |  | Mehrzeiliges Eingabetextfeld
rows | Wert | Anzahl der Zeilen
cols | Wert | Anzahl der Spalten
wrap | physical, virtual, soft, off | Zeilenumbruch
<select></select> |  |
size | Wert | Legt die Anzahl der anzuzeigenden Felder fest.
<option></option> | Wert | Auswahlfeld im <select>-Tag.

Einsatz von Tabellen

CSS-Kurzreferenz

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


CSS und Hover-Links

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

CSS und Hover-Links

Es stehen Ihnen für die Formatierung von Hyperlinks, vier Pseudo-Klassen für zur Verfügung:
. A:link ist der normale Hyperlink
. A:hover ist der Hyperlink während des Darüber fahrens mit der Maus
. A:active ist der aktive Link
. A:visited ist der besuchte Hyperlink

Um beispielsweise einen Hyperlink hervorzuheben während die Maus darüber fährt, können Sie wie folgt forgehen:

A:hover {
     text-decoration: none;
     color: blue;
}

CSS-Kurzreferenz

Basiseinheiten von CSS

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Basiseinheiten von CSS

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Basiseinheiten von CSS

Für die meisten Stylesheet Angaben sind standardisierte Einheiten gültig. Hier findest Du eine Übersicht.
. Relative Längenangaben
. Absolute Längenangaben
. Zahl
. Prozentuale Angaben
. Winkelangaben
. Zeitangaben
. Frequenzangaben

Relative Längenangaben

Einheit | Beispiel | Bedeutung
em | font-size:0.4em; | Angabe der Schriftgröße, relativ zur Normalgröße. 1em = 100%
ex | font-size:2.6ex; | Angabe der Schriftgröße, relativ zum x der Normalgröße. 1ex = 100%
px | border-width:5px; | Längen- und Breitenangabe relativ zur Bildschirmauflösung. 1px = 1 Pixel

Absolute Längenangaben

Einheit | Beispiel | Bedeutung
in | width:0.4in; | Inch. 1in = 2.54cm
cm | line-height:2cm; | Zentimeter
mm | height:13mm; | Millimeter
pt | font-size:5pt; | Punkt. 1pt = 1/72 Inch
pc | font-size:5pc; | Pica 1pc = 12 pt

Einige Eigenschaften erwarten lediglich eine ganze oder eine reale Zahl als Wert. Ganze Zahlen (integer) habe keine Nachkommastellen und können positiv oder negativ sein. Reale Zahlen (real) haben eine oder mehrere Nachkommastellen. Sie müßten eigentlich Nachpunktstellen heissen, da sie durch einen Punkt und nicht einem Komma getrennt werden. Auch reale Zahlen können positiv und negativ sein.

Zahlenart | Beispiel
Positive ganze Zahlen | 1 2 579 2500
Negative ganze Zahlen | -1 -2 -579 -2500
Positive reale Zahlen | 1.5 25.35 1999.364 4.85
Negative reale Zahlen | -1.5 -25.35 -1999.364 -4.85

Prozentuale Angaben

%
Einheit | Beispiel | Bedeutung
width:80%; | Längen- und Breitenangabe relativ zur Normalgröße von Elementen, bzw. zur Fenstergröße.

Zeitangaben

Einheit | Beispiel | Bedeutung
s | pause-before:4s; | Sekunden. 1 Minute = 60 Sekunden 1 Stunde = 3600 Sekunden
ms | pause-before:800ms; | Millisekunden. 1 Sekunde = 1000 Millisekunden

Winkelangabe

Einheit | Beispiel | Bedeutung
deg | azimuth:90deg; | Grad. Kreis = 360 deg
grad | azimuth:90grad; | Neugrad. Kreis = 400 grad
rad | azimuth:90rad; | Radiant. 1rad = 57.296deg

Frequenzangaben

Einheit | Beispiel | Bedeutung
Hz | pitch:180Hz; | Hertz
kHz | pitch:1.80kHz; | Kilohertz. 1 kHz = 1000 Hz

CSS und Hover-Links

Einsatz von Schrift

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Schrift

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Schrift

Eigenschaft | Werte | Bedeutung
font | font-family, font-weight, font-size, font-style, font-variant, line-heightcaption, icon, menu, message-box, small-caption, status-bar | Schrift
font-family | Schriftart | Schriftfamilie
font-size | Längenangabe, Prozentangabe, xx-small, x-small, small, smaller, medium, large, x-large, xx-large, larger | Schriftgröße
font-size-adjust | werte S | chriftgröße anpassen
font-stretch | werte | Laufweite
font-style | normal, italic, oblique | Schriftstil
font-variant | normal, small-caps | Kapitälchen
font-weight | normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900 | Schriftgewicht

Basiseinheiten von CSS

Einsatz von Text

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Text

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Text

Eigenschaft | Werte | Bedeutung
direction | ltr, rtl | Schreibrichtung
letter-spacing | Längenangabe, normal | Zeichenabstand
line-height | Längenangabe, Prozentangabe, Zahl, normal | Zeilenhöhe
text-align | left, right, center, justify, Zeichenfolge | Horizontale Ausrichtung
text-decoration | none, underline, overline, line- through, blink | Textdekoration
text-indent | Längenangabe, Prozentangabe | Texteinrückung
text-shadow | Farbangabe, none | Textschatten
text-transform | capitalize, uppercase, lowercase, none | Großschreibung
unicode-bidi | normal | embed | bidi-override | Vertikale Ausrichtung
vertical-align | baseline, sub, super, top, text-top, middle, bottom, text-bottom, Längenangabe, Prozentangabe | Vertikale Ausrichtung
white-space | normal, pre, nowrap | Textumbruch
word-spacing | Längenangabe, Prozentangabe, normal | Wortabstand

Einsatz von Schrift

Einsatz von Rahmen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Grafische MySQL-Clients

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Grafische MySQL-Clients

Natürlich können Sie alle Arbeiten auf der Datenbank mit Bordmitteln wie mysql-Client erledigen. Wesentlich komfortabler und produktiver kann dies jedoch mit grafischen Clientprogrammen erfolgen.

Diese bieten die üblichen Vorteile von Copy&Paste über mehrere Fenster bis hin zur Mausbedienung. Im Folgenden werden einige dieser grafischen Clients vorgestellt.

MySQLManager

Unter Windows stellt MySQL noch ein einfaches Tool mit dem Namen MySQL-Manager zur Verfügung, das ebenfalls im bin-Verzeichnis unterhalb der Installationsverzeichnisse zu finden ist. Hiermit kann die Datenbank- und Tabellenstruktur angezeigt sowie SQL-Kommandos ausgeführt werden.

phpMyAdmin

Wer ohne Installation von Software auf den Clients auskommen möchte, kann auch auf eine serverseitige Lösung zurückgreifen. Da MySQL häufig auf Servern läuft, ist eine serverseitige Lösung zumindest für die Daten- und Rechteverwaltung eine praktikable Sache. Dabei ist momentan phpMyAdmin das Verbreitetste unter den serverseitigen Programmen.

phpMyAdmin läuft auf Webservern, die die Programmiersprache PHP unterstützen und entsprechend konfiguriert sind. Um das Programm einsetzen zu können, benötigen Sie also einen Webserver, an den die Zielclients angebunden sind.

Alle wichtigen Operationen, wie das Anlegen von Datenbanken und Datenbanktabellen oder die Benutzerverwaltung, sind hiermit komfortabel zu verwalten, ohne dass Sie sich mit den Kommandozeilenwerkzeuge und Befehle auseinandersetzen müssen.

Installation von phpMyAdmin

Die Installation von phpMyAdmin erweist sich als äusserst einfach, wenn man einige wesentliche Schritte beachtet:
. Entpacken Sie die Datei phpMyAdmin-2.6.0-pl2.zip in Ihr Dokumentenverzeichnis des Webservers und bennen Sie den hierbei erzeugten Ordner in phpmyadmin um, so wird das Aufrufen von phpMyAdmin wesentlich erleichtert.
. Öffnen Sie die im neuen Verzeichnis phpmyadmin enthaltene Datei config.inc.php mit einen Texteditor, wie Notepad.

Nun geht es noch darum die folgenden Zeilen zu bearbeiten und die Daten für den lokalen Betrieb einzutragen.

Als erstes sollten Sie die URI zu ihrer phpmyadmin Installation festlegen.
$cfgPmaAbsoluteUri = 'localhost/phpmyadmin/';

Als Host tragen Sie localhost ein.
$cfgServers[$i]['host'] = 'localhost';

Für den Zugriff auf phpMyAdmin liegt der Benutzer root vor. Ein Passwort ist nicht erforderlich und der entsprechende Eintrag hierfür kann leer bleiben.
$cfgServers[$i]['user'] = 'root';
$cfgServers[$i]['password'] = '';

Sollten Sie bereits einen Benutzer und ein Passwort angelegt haben, müssen Sie diese hier eintragen. Dies ist beispielsweise immer dann notwendig, wenn Sie phpMyAdmin bei Ihrem Provider einsetzen wollen.
Beispiel - puretec.de
$cfgServers[$i]['host'] = 'db09.puretec.de';
$cfgServers[$i]['port'] = '3306';
$cfgServers[$i]['stduser'] = 'root';
$cfgServers[$i]['stdpass'] = '';
$cfgServers[$i]['user'] = 'pxxxxxxx';
$cfgServers[$i]['password'] = 'xxxxxxxx';
$cfgServers[$i]['only_db'] = 'db1829';

Hinweis: Verfügbar ist phpMyAdmin unter www.phpmyadmin.net.

Tipp: Einen Online-Test von PHPMyAdmin können Sie unter folgender URL durchführen: www.phpmyadmin.net/phpMyAdmin/index.php

MyWitch

MyWitch
bietet den Zugriff auf jede MySQL-Datenbank im Internet über HTTP Port 80, eben wie normale Internet-Browser auch, aber um eine Vielfaches schneller und bedienungsfreundlicher. Die grafische Oberfläche ist auf die Verwaltung von Daten abgestimmt.

Und hier die Vorteile:
. Einfache Bedienung über grafische Oberfläche
. Zugriff auf jede MySQL-Datenbank über HTTP (PHP-Skript)
. Sicherheit (Blowfish-Verschlüsselung)
. Daten(sätze) können angelegt, verändert oder gelöscht werden
. Verwaltung von eigenen SQL-Abfragen
. Backup-Funktionen

Durch die kontinuierliche Weiterentwicklung nimmt der Funktionsumfang stetig zu. MyWitch stellt daher eine gute Alternative zur Kommandozeile dar.

Hinweis: MyWitch kann unter folgender URL bezogen werden: www.mywitch.de

WinMySQLAdmin

Mit der Windows-Version von MySQL erhalten Sie automatisch das Programm winmysqladmin.exe, das Sie bei der Administration des MySQL-Servers unterstützen kann. Das Programm befindet sich im bin-Verzeichnis des MySQL-Installationsverzeichnisses und kann mit Hilfe des Windows Explorers gestartet werden. Nach dem ersten Start sehen Sie eine Eingabemaske, mit deren Hilfe Sie Nutzerkennung und Passwort festlegen können, die das Programm zukünftig zum Anmelden an die Datenbank verwenden soll.

Das Programm versteckt sich nach dem Start sofort in der Windows-Task-Leiste und ist dort als kleine Ampel sichtbar. Die Farben grün und rot zeigen an, ob der MySQL-Server läuft oder nicht.

Wenn Sie mit der rechten Maustaste auf die Ampel klicken, erhalten Sie ein Menü, mit dessen Hilfe Sie das Arbeitsfenster des Programms einblenden können (Show me). Der MySQL-Server lässt sich hierüber auch starten und stoppen.

Das eigentliche Arbeitsfenster von WinMySQLAdmin enthält verschiedene Registerkarten, mit denen Sie die Konfigurationsdatei bearbeiten oder verschiedene Informationen des MySQL-Servers abrufen können, wie etwa die Systemvariablen und die aktuell laufenden Prozesse.

Zusätzlich lassen sich die Datenbanken inklusive ihrer enthaltenen Objekte anzeigen.

Im Prinzip liefert Ihnen dieses Tool eine Zusammenstellung verschiedener show-Kommandos. Alle hier bereitgestellten Informationen lassen sich natürlich auch mit Hilfe des MySQL-Client abrufen. Das mag wohl nicht ganz so überschaubar sein, aber die Informationen sind dieselben.

MySQLFrontend

MySQLFrontend von Hubert Denkmair ist ein freies Windows-Programm mit folgenden Features:
. Ausführung von MySQL-Befehlen
. Editor für BLOB- und Text-Felder, einschließlich Bitmap (GIF- und JPEG-Support)
. Anzeige von Server-Variablen
. Anzeige und Löschen von Datenbankprozessen
. Anzeige der Tabellendefinitionen
. Exportfunktionen
. Replikation zwischen verschiedenen Datenbanken
. Syntax Higlighting
. Tabellendiagnose (CHECK, REPAIR, OPTIMIZE, ANALYZE)

MySQLFrontend bietet einen Funktionsumfang, mit dem sich eine Reihe von Aufgaben wesentlich bequemer als über die Kommandozeile erledigen lassen. Integriert ist die Anzeige aller Variablen sowie die Anzeige der Prozessliste, sodass auch der laufende Betrieb überwacht werden kann.

MySQL Front

MySQL Front von Ansgar Becker ist ein freies Windows-Programm mit folgenden Features:
. Ausführung von MySQL-Befehlen
. Anzeigen von Server-Variablen
. Anzeige der Tabellendefinition
. BLOB und Text-Felder-Editor, einschließlich Bitmap (GIF- und JPEG Support)
. Im-/Exportfunktionen
. Replikation zwischen verschiedenen Datenbanken
. Anzeigen und Löschen von Datenbankprozessen
. Benutzerverwaltung
. Syntax-Highlighting
. ODBC-Support
. Tabellendiagnose

MySQL Front bietet einen Funktionsumfang, mit dem sich eine Vielzahl von Aufgaben wesentlich bequemer erledigen lassen als über die Kommandozeile. Es kann sich durchaus mit Programmen wie MySQL Manager und MySQL Studio messen.

Achtung: Leider hat der Entwickler Ansgar Becker die weiter Entwicklung des Programms beendet. Es wird somit keine Updates geben. Die letzte vorliegende freie Version ist die Version 2.5. Die aktuelle Kommerzielle Version ist die Version 3.1.

KSql

Wer einen grafischen Client für LINUX sucht, kann KSql verwenden. Die Homepage von KSql ist ksql.sourceforge.net. Dort finden Sie die neueste Version und weitere Hinweise.

KSql hat folgenden Funktionsumfang:
. SQL-Befehle können in einem Editor bearbeitet werden
. SQL-Befehle können gespeichert werden
. Verbindung zu mehreren Datenbanken gleichzeitig ist möglich
. Export von HTML
. Unterstützt neben MySQL auch weitere Datenbanken

Voraussetzung für KSql sind:
. KDE 1.1.1 oder höher
. Qt 1.42 oder höher
. Gcc 2.7.x oder höher

KSql ist häufig in LINUX-Distributionen wie SuSE enthalten, sodass eine separate Installation entfallen kann.

Hinweis: KSql kann unter folgender Adresse bezogen werden: ksql.sourceforge.net

Kommandozeilenwerkzeuge von MySQL

Anwendungen der MySQL AB-Gruppe

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Rahmen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Rahmen

Die Rahmen-Eigenschaften legen Art, Farbe und Breite eines Rahmens um Elemente fest. Diese Rahmen können für jede Seite (links, recht, oben, unten) unterschiedliche Formate annehmen. Leider unterstützen nicht sämtliche Browser die CSS-Rahmen-Eigenschaften

Eigenschaft | Werte | Bedeutung
border | border-width, border-style, border-color | Rahmen
border-bottom | border-bottom-width, border-bottom-style, border-bottom-color | Rahmen unten
border-bottom-color | Farbangabe | Rahmenfarbe unten
border-bottom-style | none, dotted, dashed, solid, double, groove, ridge, inset, outset | Rahmenart unten
border-bottom-width | thin, medium, thick oder Längenangabe | Rahmenbreite unten
border-color | Farbangabe | Rahmenfarbe
border-left | border-left-width, border-left-style, border-left-color | Rahmen links
border-left-color | Farbangabe | Rahmenfarbe links
border-left-style | none, dotted, dashed, solid, double, groove, ridge, inset, outset | Rahmenart links
border-left-width | thin, medium, thick oder Längenangabe | Rahmenbreite links
border-right | border-right-width, border-right-style, border-right-color | Rahmen rechts
border-right-color | Farbangabe | Rahmenfarbe rechts
border-right-style | none, dotted, dashed, solid, double, groove, ridge, inset, outset | Rahmenart rechts
border-right-width | thin, medium, thick oder Längenangabe | Rahmenbreite rechts
border-style | none, dotted, dashed, solid, double, groove, ridge, inset, outset | Rahmenart
border-top | Die Werte für border-top-width, border-top-style, border-top-color | Rahmen oben
border-top-color | Farbangabe | Rahmenfarbe oben
border-top-style | none, dotted, dashed, solid, double, groove, ridge, inset, outset | Rahmenart oben
border-top-width | thin, medium, thick oder Längenangabe | Rahmenbreite oben
border-width | thin, medium, thick oder Längenangabe | Rahmenbreite

Einsatz von Text

Einsatz von Konturen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Konturen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Konturen

Eigenschaft | Werte | Bedeutung
outline | outline-color, outline-style, outline-width | Kontur
outline-color | Farbangabe | Konturfarbe
outline-style | none, dotted, dashed, solid, double, groove, ridge, inset, outset | Konturstil
outline-width | Längenangabe, Prozentangabe | Konturbreite

Einsatz von Rahmen

Einsatz von Äussere- und Innereabstände

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Äussere- und Innereabstände

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Äussere- und Innereabstände

Außenabstände sind die Abstände zwischen dem Rand eines Elements (der Box) und anderen Elemente , bzw. dem übergeordneten Element. Außenabstände sind immer transparent. Innenabstände, häufig auch Polsterung genannt, legen den Abstand zwischen Inhalt und Rahmen einer Box fest.

Eigenschaft | Werte | Bedeutung
margin | Längenangabe, Prozentangabe, auto | Außenabstand
margin-bottom | Längenangabe, Prozentangabe, auto | Außenabstand unten
margin-left | Längenangabe, Prozentangabe, auto | Außenabstand links
margin-right | Längenangabe, Prozentangabe, auto | Außenabstand rechts
margin-top | Längenangabe, Prozentangabe, auto | Außenabstand oben
padding | Längenangabe, Prozentangabe | Innenabstand
padding-bottom | Längenangabe, Prozentangabe | Innenabstand unten
padding-left | Längenangabe, Prozentangabe | Innenabstand links
padding-right | Längenangabe, Prozentangabe | Innenabstand rechts
padding-top | Längenangabe, Prozentangabe | Innenabstand oben

Einsatz von Konturen

Einsatz von Listen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Listen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Listen

In Style Sheets stehen Ihnen zahlreiche Optionen zur Gestaltung von Listen zur Verfügung. Äusserst interessant ist die Möglichkeit, eine kleine Grafik als Aufzählungszeichen zu nutzen. Das folgende Beispiel bindet die Datei punkt.gif als Aufzählungszeichen ein.

Beispiel

ul {
    list-style-image: url(kreuz.gif);
    font-family: Arial, Helvetica;
    font-size: 12pt;
}

Eigenschaft | Werte | Bedeutung
list-style | list-style-type, list-style-image, list-style-position | Listen
list-style-image | none, url() | Aufzählungsgrafik
list-style-position | inside, outside | Listenzeichen einrücken
list-style-type | normal, circle, square, disc, decimal, lower-alpha, upper-alpha, lower-roman, upper-roman, decimal-leading-zero, lower-greek, lower-latin, upper-latin, hebrew, armenian, georgian, cjk-ideographic, hiragana, katakana, hiragana-iroha, katakana-iroha | Aufzählungszeichen
marker-offset | Längenangabe, auto | Abstand zum Listensymbol

Einsatz von Äussere- und Innereabstände

Einsatz von Tabellen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Tabellen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Tabellen

Eigenschaft | Werte | Bedeutung
border-collapse | collapse, separate | Tabellenrahmen
border-spacing | Längenangabe | Tabellenrahmenabstände
caption-side | top, bottom, left, right | Tabellenüberschrift
empty-cells | hide, show | Leere Zellen
table-layout | auto, fixed | Tabellenlayout

Einsatz von Listen

Einsatz von Hintergrundbilder

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von Hintergrundbilder

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von Hintergrundbilder

Der Hintergrund eines Elements kann als Farbe oder als Bild festgelegt werden. Nach dem Boxmodell erstreckt sich der Hintergrund über den Inhalt und dem padding-Bereich, dies ist der Abstand zwischen Inhalt und Rahmen. Hintergründe werden nicht vererbt. Da aber transparent der voreingestellte Wert für Hintergründe ist, scheint der Hintergrund der übergeordneten Box durch.

Eigenschaft | Werte | Bedeutung
background | background-color, background-image, background-attachment, background-repeat, background-position | Hintergrund
background-attachment | fixed, scroll | Hintergrund fixieren
background-image | none, url() | Hintergrundbild
background-position | Werte Paar aus Längenangabe, Prozentangabe, oder left, center oder right und top, center oder bottom | Hintergrundbild positionieren
background-repeat | no-repeat, repeat, repeat-x, repeat-y | Hintergrund wiederholen

Einsatz von Tabellen

Einsatz von absoluter Positionierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von absoluter Positionierung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von absoluter Positionierung

Die wohl interessanteste CSS Eigenschaft stellt die Positionierung von Elementen, wie Text, Grafik, etc. dar. Diese können Sie genau innerhalb des Browserfenster platzieren. Hierfür setzt man in den meisten Fällen das <div>-Tag ein. Sie können beispielweise einen Text exakt 100 Pixel von oben und 100 Pixel von links ausrichten.

Beispiel

div {
    position: absolute;
    top: 100px;
    left: 100px;
}

Im Dokument selbst müssen Sie anschliessend lediglich das <div>-Tag an die gewünschte Stelle platzieren.

Beispiel

<div>Dieser Inhalt wurde exakt auf 100x100 Pixel ausgerichtet.</div>

Eigenschaft | Werte | Bedeutung
bottom | Längenangabe, Prozentangabe, auto | Position von unten
clear | left, right, both, none | Text umfließen beenden
clip | rect() | Ausschnitt
display | none, block, inline, list-item, compact, inline-table, marker,run-in, table, table-caption,table-cell, table-column, table-columns-group, table-footer-group, table-header-group, table-row, table-row-group | Anzeigeart
float | left, right, none | Text umfließen
height | Längenangabe, Prozentangabe, auto | Höhe
left | Längenangabe, Prozentangabe, auto | Position von links
max-height | Längenangabe, Prozentangabe | Maximale Höhe
max-width | Längenangabe, Prozentangabe | Maximale Breite
min-height | Längenangabe, Prozentangabe | Minimale Höhe
min-width | Längenangabe, Prozentangabe | Minimale Breite
overflow | auto, hidden, visible, scroll | Überlauf
position | absolute, relative, fixed, static | Positionsart
right | Längenangabe, Prozentangabe, auto | Position von rechts
top | Längenangabe, Prozentangabe, auto | Position von oben
visibility | visible, hidden, collapse | Unsichtbar
width | Längenangabe, Prozentangabe, auto | Breite
z-index | Zahl | Überlappung

Einsatz von Hintergrundbilder

Mail via PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Mail versenden via PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mail versenden via PHP

Wie Sie bereits in einem vorherigen Kapitel erfahren haben setzt die Mailfunktionen einige Parameter voraus, hierbei ist der vierte Parameter optional, mit diesem ist man in der Lage zusätzliche Headerzeilen definieren zu können. Diese Headerzeilen können den MIME-Type einer Mail bestimmen, den Absender der Mail festlegen oder auch beliebige Nicht-Standard-Header (X-Mailer: etc.) enthalten.

Beispiel

<?php
$nachricht = "<b>Herzlich Willkommen...<b>";
$an      = "empfaenger@test.de";
$betreff = "Betrefftext";
$xtra    = "From: mail@sender.de (Mr. Sender)\r\n";
$xtra   .= "Content-Type: text/html\r\nContent-Transfer-Encoding: 8bit\r\n";
$xtra   .= "X-Mailer: PHP ". phpversion();

mail($an, $betrefft, $nachricht, $xtra);
?>

Mail via PHP

Attachment via Mail

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Attachment via Mail

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Attachment via Mail

Bei der mail()-Funktion von PHP kann man im vierten Argument jeden beliebigen zusätzlichen Header angeben, diese haben Sie im vorherigen Beispiel erfarhen. Attachments werden MIME-kodiert. Die HTML Mime Mail class von Richard Heyes kapselt diese Funktionalität und ermöglicht das versenden von Attachment. Unter folgender URL finden sich auch Anwendungsbeispiele:

www.phpguru.org/static/mime.mail.html

Mail versenden via PHP

Gültigkeit einer Mail prüfen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Anwendungen der MySQL AB-Gruppe

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anwendungen der MySQL AB-Gruppe

Im Zusammenhang mit grafischen MySQL-Clients hat sich in den letzten Jahren auch einiges aus dem Hause der MySQL AB-Gruppe ergeben. Die wohl attraktivsten Anwendungen dürften, die folgenden drei Hilfswerkzeuge darstellen, welche allesamt kostenlos von der MySQL AB-Gruppe zur Verfügung gestellt werden. Sie sollten sich diese Hilfswerkzeuge auf keinen Fall entgehen lassen, da Sie mit deren Hilfe die Funktionsweise eines MySQL-Datenbankservers in einer wesentlich kürzeren Zeit erlernen.

Sollten Ihnen die folgenden Funktionsbeschreibungen der Anwendungen zu blumig erscheinen, rate ich Ihnen eines, werfen Sie unbedingt selbst einen Blick darauf, dannach werden Sie sicher nachvollziehen können, wieso mich der Leistungsumfang und die Umsetzung überzeugt haben!

MySQL Administrator

Der MySQL Administrator ist ein leistungsfähiges Werkzeug, wenn es darum geht die MySQL-Umgebung zu verwalten. Es wird einem ein deutlich besserer Überblick über den Status der Datenbanken wiedergegeben.

Der MySQL Administrator integriert Wartung und Administration einer Datenbank in einer einheitlichen Umgebung mit klar strukturierter bedienbarer Benutzeroberfläche.

Der MySQL Administrator ermöglicht Entwicklern und Datenbankadministratoren alle Operationen der Befehlszeilenebene über die graphische Benutzeroberfläche auszuführen - Server konfigurieren, Benutzer verwalten und Zustände der Datenbanken überwachen. Darüber hinaus können Arbeiten wie die Überwachung von Datenbankreplikationen, Backup und Restore und das Überprüfen von Protokolldateien über die graphische Benutzeroberfläche des MySQL Administrator erledigt werden.

Ein weiteres Feature ist die plattformübergreifende Verfügbarkeit des MySQL Administrator. Es steht sowohl eine Windows als auch eine Linux Distribution zur Verfügung.

Bisher war eine solche Funktionalität in diesem Umfang meist kommerziellen Distributionen vorenthalten. Auf einer Bewertungsskala von 1 bis 10 würde der MySQL Administrator eine glatte 10 erhalten.

MySQL Administrator Distributionen

Sollten Sie nach aktuellen Distributionen fahnden, empfiehlt es sich einen Blick auf www.mysql.de/products/administrator/ zu werfen. Dort finden Sie die jeweils aktuellen Distributionen.

MySQL Control Center

Wir kommen nun zum nächsten Streich der MySQL AB-Gruppe, dem MySQL Control Center. Das MySQL Control Center, auch als MySQLCC bekannt, ist ein plattformunabhängiger grafischer MySQL-Administrationsclient.

Der Funktionsumfang des MySQL Control Center kann sich durchaus sehen lassen:
. SQL-Editor mit Syntaxhervorhebung - Mit MySQLCC können Sie über einen Texteditor mit Syntaxhervorhebung Abfragen erstellen und dann die Ergebnisse in einer konfigurierbaren Tabelle betrachten. Die Tabellenansicht unterstützt auch die Anzeige von Bildern, die in BLOB-Feldern gespeichert sind.
. Datenbank- und Tabellenverwaltung - MySQLCC erleichtert die Erstellung und Verwaltung von Datenbanken sowie Tabellen und enthält Ansichten für alle Tabellen- und Feldeigenschaften wie Kommentare und Schlüssellängen. Sie können Tabellen auch prüfen, reparieren und optimieren.
. Serververwaltung - Sie können Servervariablen überprüfen und ändern sowie Statusinformationen des Servers betrachten. MySQLCC unterstützt auch die gleichzeitige Anzeige mehrerer Server.
. Plattformübergreifend - MySQLCC verwendet Trolltechs Qt-Toolkit. Deshalb läuft es sowohl unter Windows als auch unter Unix. Für zukünftige Versionen ist auch eine MacOS X Distribution geplant.

Das MySQL Control Center wird darüber hinaus unter dem "Dualen Lizenzierungsmodell" zur Verfügung gestellt. Bei diesem Modell können die Anwender wählen, MySQL-Produkte unter einer GNU General Public License oder unter einer kommerzielle Lizenz zu nutzen.

MySQL Control Center Distributionen

Sollten Sie nach aktuellen Distributionen fahnden, empfiehlt es sich einen Blick auf www.mysql.de/products/mysqlcc/ zu werfen. Dort finden Sie die jeweils aktuellen Distributionen.

MySQL Query Browser

Da alle guten Dinge drei sind können wir natürlich nicht bei zwei attraktiven MySQL-Clients aufhören und die MySQL AB-Gruppe hat sich mit dem MySQL Query Browser etwas einfallen lassen, dass es in dieser Form bisher noch nicht gab und zwar einen vollwertigen Datenbankserver Browser.

Am MySQL Query Browser wurde bereits einige Zeit lang gewerkelt und die aktuelle Version kann sich durchweg sehen lassen. Vom Funktionsumfang gesehen, gehen die Funktionen des MySQL Query Browser weit über die eines herkömmlichen Web-Browser hinaus, da ohne weiteres sämtliche Verwaltungs- und Bearbeitungsoptionen zur Verfügung stehen, so dass sich beispielsweise Datensätze bearbeiten lassen oder Datenbanken optimiert werden können. Wer den MySQL Query Browser bei der alltäglichen Arbeit mit einem MySQL-Datenbankserver nicht einsetzt ist selber schuld.

Der MySQL Query Browser wird ebenfalls unter dem "Dualen Lizenzierungsmodell" zur Verfügung gestellt.

MySQL Query Browser Distributionen

Sollten Sie nach aktuellen Distributionen fahnden, empfiehlt es sich einen Blick auf dev.mysql.com/downloads/query-browser/ zu werfen. Dort finden Sie die jeweils aktuellen Distributionen.

DBDesigner 4

Nun stehen Ihnen bereits zahlreiche nützliche Werkzeuge zur Auswahl. Aber ein ordentliches Datenbankmodellierungstool, welches Sie in die Lage versetzt Relationen zwischen einzelnen Datenbanktabellen zu visualisieren und es Ihnen ermöglicht auch umfangreiche Projekte im Griff zu haben fehlt.

FabForce liefert mit dem DBDesigner 4 das fehlende Bindeglied.

Es handelt sich hierbei um eine Anwendung, die sowohl als Windows und Linux Distribution vorliegt.

Vom Funktionsumfang kann sich der DBDesigner mit Anwendungen, wie:
. Oracle's Designer
. IBM's Rational Rose
. Computer Associates's ERwin
. Kompany's DataArchitect
messen. Ein gravierender Unterschied zu den aufgeführten Anwendungen namenhafter Hersteller, der DBDesigner ist ein Open Source Project und wird unter der GNU General Public License vertrieben.

Der DBDesigner kann auch unter ODBC, Oracle und MSSQL Datenbanken eingesetzt werden. Wie Sie den Abbildungen entnehmen können, kann sich die grafische Umsetzung durchaus sehen lassen und in meinen Augen ist dieses Datenbankmodellierungstool ein wahrer Schatz.

FabForce DB Designer Distributionen

Sollten Sie nach aktuellen Distributionen fahnden, empfiehlt es sich einen Blick auf www.fabforce.net/dbdesigner4/ zu werfen. Dort finden Sie die jeweils die aktuellen Distributionen.

Grafische MySQL-Clients

Entwicklungsumgebungen vs Editoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Gültigkeit einer Mail prüfen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Gültigkeit einer Mail prüfen

Der Mailer eines Systems kann eine Mail ledliglich dann zustellen, wenn das Domain Name System (DNS) für die Zieladresse einen Mail Exchanger (MX) Ressource Record (RR) oder einen Address (A) Resource Record enthält. Wenn Sie testen wollen, ob die Empfängeradresse für eine Mail gültig ist, benötigen Sie Zugriff auf das Internet und einen DNS-Server, den man befragen kann. Dann kann man die Anfrage, die der Mailer später einmal stellen wird, um die Mail zuzustellen, manuell mit Hilfe der Funktion checkdnsrr() nachvollziehen. Die Funktion liefert true, wenn ein passender RR vorhanden ist.

Beispiel

<?php
$email = "user@host.de";
list($user, $host) = explode("@", $email);

if (checkdnsrr($host, "MX") or checkdnsrr($host, "A")) {
  print "Mail ist anscheindend zustellbar.<BR>\n";
} else {
  print "Mail ist leider nicht zustellbar.<BR>\n";
}
?>

Hinweis: Eine DNS-Anfrage kann je nach Verfügbarkeit des DNS-Systems bis zu mehreren Minuten dauern. Der betreffende Webserverprozeß ist in diesem Zeitraum blockiert. Das Vorhandensein der benötigten RRs garantiert jedoch nicht, dass der gewünschte Anwender existiert und die Mail empfangen kann.

Attachment via Mail

Versenden einer Mail an mehrere Empfänger

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Versenden einer Mail an mehrere Empfänger

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Versenden einer Mail an mehrere Empfänger

Das versenden einer Mail an mehrere Empfänger können Sie mit Hilfe von spezialisierter Software realisieren. Mailinglisten Server, wie die folgenden bieten Ihnen diesen Servicer:
. Ecartis - www.ecartis.org
. Ezmlm - www.ezmlm.org
. Majordomo - www.greatcircle.com/majordomo

Alternativ können Sie sich mit einer deutlich primitiveren Lösung in PHP behelfen, indem man gemäß den vorherigen Beispielen zusätzliche Headerzeilen mit BCC-Empfängern (Blind Carbon Copy) erzeugt. Auf diese Weise generiert man eine einzelne Mail die an mehrere Empfänger versandt werden kann. Gleichzeitig vermeidet man durch die Verwendung von BCC-Empfängern, dass die Empfänger im Kopf der Mail mit aufgeführt werden und auf diese Weise ein überdimensionaler Header entsteht.

Beispiel

<?php
// Empfaengerliste
$empfaenger = array(
        "x@mail.de",
        "y@mail.de",
        "z@mail.de"
        );

// BCC-Erzeugen
foreach ($empfaenger as $key => $email) {
    $bcc .= "Bcc: $email\r\n";
}

// Mail samt BCC-Empfänger versenden
mail(
    "erster@mail.de",
    "Newsletter",
    "Hier das Neueste...",
    $bcc
    );

?>

Gültigkeit einer Mail prüfen

PHP & HTTP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Automatische Weiterleitung bzw. Redirect

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Automatische Weiterleitung bzw. Redirect

Um einen Redirect zu erzeugen, muss man den HTTP-Header Location senden und dort die neue URL angeben.

header('Location: absolute_url');

Die Angabe absolute_url entspricht der gewünschten URL auf die weitergeleitet werden soll. Nach den RFC-Spezifikationen muss es sich um eine absolute URL Angabe handeln, auch wenn fast alle Browser eine relative URL verstehen!

Beispiel

header("Location: www.atomiscript.de");
exit;

Die exit Anweisung im vorliegenden Beispiel ist optional, allerdings würde es nichts bringen, nach dem header noch etwas auszugeben, da eh nicht dargestellt wird.

Hinweis: Bei dieser Anweisung sendet Apache automatisch den Statuscode 302.

PHP & HTTP

Not Found 404

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Not Found 404

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Not Found 404

Sollten Sie Ihren Server so konfiguriert haben, dass dieser als Fehlerseite eine PHP-Seite anzeigt, wird der Statuscode 200 (OK) gesendet. Dies kann jedoch bei Suchmaschinen dazu führen, dass Ihre Fehlerseite mit indiziert wird. Um dies zu vermeiden legen Sie den Statuscode für die Seite selbst fest.

header('HTTP/1.0 404 Not Found');

Der Statuscode 404 (Not Found) wird durch die header()-Funktion gesetzt und somit auch von Sumaschinen als Fehlerseite erkannt.

Automatische Weiterleitung bzw. Redirect

Cache-Control

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Cache-Control

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Cache-Control

Für den Cache-Control stehen Ihnen in PHP ebenfalls Funktionen zur Verfügung die man im Header einsetzen kann. Die Standard Befehle zum Steuern des Cache lauten Last-Modified, Cache-Control und Pragma. Diese werden auch von sämtlichen Browsern Interpretiert.

Zeitbegrenztes Cachen

Im folgenden Beispiel wird das Cachen einer Seite zugelassen, jedoch wird eine befristete Zeitspanne festgelegt bis zu der die Seite verfallen oder Aktualisiert werden muß.

<?php
// Cache Lebensdauer (in Minuten)
$dauer = 15;
$exp_gmt = gmdate("D, d M Y H:i:s", time() + $dauer * 60) ." GMT";
$mod_gmt = gmdate("D, d M Y H:i:s", getlastmod()) ." GMT";

header("Expires: " . $exp_gm);
header("Last-Modified: " . $mod_gmt);
header("Cache-Control: public, max-age=" . $dauer * 60);
// Speziel für MSIE 5
header("Cache-Control: pre-check=" . $dauer * 60, FALSE);
?>

Die Funktion getlastmod() gibt die Zeit der letzten Änderung der Aktuell aufgerufenen Seite an. Um das Cachen einer Seite auf private Caches zu begrenzen muss man den Code wie folgt anpassen:

<?php
// Cache Lebensdauer (in Minuten)
$dauer = 15;
$exp_gmt = gmdate("D, d M Y H:i:s", time() + $dauer * 60) ." GMT";
$mod_gmt = gmdate("D, d M Y H:i:s", getlastmod()) ." GMT";

header("Expires: " . $exp_gm);
header("Last-Modified: " . $mod_gmt);
header("Cache-Control: private, max-age=" . $dauer * 60);
// Speziel für MSIE 5
header("Cache-Control: pre-check=" . $dauer * 60, FALSE);
?>

Not Found 404

Cachen Vermeiden

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Cachen Vermeiden

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Cachen Vermeiden

Sie haben auch die Möglichkeit das Cachen einer Seite explizit zu unterbinden:

<?php
// Datum aus Vergangenheit
header("Expires: Mon, 12 Jul 1995 05:00:00 GMT");
// Immer geändert
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
// Speziel für MSIE 5
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

Microsoft Internet Explorer Problematik

Leider werden Pragma und no-cache im IE nicht Interpretiert - hier gibt es drei Befehle auf die Sie jedoch zurückgreifen können:
. No-Check - Besagt das der Client kein Cachekontrolle durchführen soll. Anderes ausgedrückt, es wird gecached aber nie Aktualisiert!
. Post-Check - Der Client vergleicht den Browsercache mit der Seite nach einer vorgegebenen Zeit (interval expires) Wenn nicht angegeben dann Aktiv und wird vom Browser selbst Verwaltet.
. Pre-Check - Der Browser fragt die Webseite auf die letzte Aktualisierung ab und vergleicht bei einem Unterschied den Cache mit der Seite. Es wird die Zeit der Letzten Änderung genommen, also das Datum der Datei.

Wie Sie sehen liegt, die einzige Möglichkeit darin das Problem zu umgehen und den Cache des IE zu deaktivieren oder Besser gesagt ihm zu untersagen diese Seiten zu cachen! Dies kann sowohl via PHP oder HTML erfolgen:

PHP

header("Cache-Control: post-check=0, pre-check=0", FALSE);

HTML

<meta http-equiv="Cache-Control" content="post-check=0">
<meta http-equiv="Cache-Control" content="pre-check=0">

Cachen vermeiden via GET-Parameter

Eine Alternative zum Header, ist das Anhängen von Parametern an die URL einer Seite.

Beispiel

// URL
www.atomiscript.de/index.php

// Alternative
www.atomiscript.de/index.php?zufall=xxx

Sie müssen lediglich sicherstellen, dass xxx immer etwas anderes ist. Dies lässt sich beispielsweise mit Hilfe der time()-Funktion erreichen.

Beispiel

<?php
$zeit = time();
echo "<a href = www.atomiscript.de/index.php?zufall=$zeit>AtomicScript</a>";
?>

Cache-Control

Download

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Download

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Download

In bestimmten Fällen ist es erwünscht, das ein PHP-Skript die von ihm erzeugten Daten nicht einfach in Form einer HTML-Seite ausgibt, sondern diese an den Client sendet. Dieser sollte diese Datei, z.B. in Form einer Datei speichern oder an andere Applikationen übergeben.

Solche Fälle tauchen vorwiegend bei Anhängen (Attachments) in einem Webmail-System auf. Normalerweise wird die Ausgabe eines PHP-Skript als HTML interprertiert, welches der Browser darstellt. Damit der Browser die Datei jedoch speichert, muss die Angabe über den Typ des Dateiinhalts für doe Übertragung geändern werden. Hierfür stehen Ihnen Content-Type und Content-Disposition zur Verfügung:

header("Content-Type: application/octetstream");

Soweit nichts anderes angegeben wird, benutzt der Browser den Dateinamen des PHP-Skript aus der URL als Dateinamen zum Abspeichern.

header("Content-Disposition: attachment; filename=dateiname.ext");

Mit diesem Header wird der Dateiname auf dateiname.ext gesetzt. Sie sollten vor allem darauf achten, dass keine Quoting-Zeichen wie etwa Hochkommata vorkommen. Grund hierfür ist, dass bestimmte Browser wie der Internet Explorer sonst die Quoting-Zeichen als Teil des Dateinamens interpretieren.

Achtung: Eventuelle Pfadangaben werden übrigens ignoriert, d.h. es ist möglich den Dateinamen festzulegen, aber nicht in welches Verzeichnis die Datei gespeichert werden sollte.

Microsoft Internet Explorer Problematik

Microsoft verarbeitet die RFCs scheinbar anders als alle anderen Browser, so daß der IE 5.5nur folgenden Header versteht:

header("Content-Disposition: filename=dateiname.ext");

Über die Variable $HTTP_USER_AGENT können Sie PHP auch entscheiden lassen, welche Variante wahrscheinlich die richtige ist.

header("Content-Disposition: ".(strpos($HTTP_USER_AGENT,"MSIE 5.5")?"":"attachment;")."filename=dateiname.ext");

Nachteil der Header-Methode

Die Methode, den Dateinamen über den Header festzulegen, hat jedoch einen kleinen Nachteil: Sollte der Anwender später im Browser nicht auf den Link klickt, um dann die Datei zu speichern, sondern direkt über Save Link as speichern will, konnte noch kein Header gesendet werden, so daß der Browser den Dateinamen nicht kennt und wieder den Dateinamen des Skripts vorschlägt. Das kann nur umgangen werden, indem man dafür sorgt, daß der gewünschte Dateiname in der URL steht. Dies ist wiederum nur über Funktionen des Webservers möglich. Beim Apache sind das die Funktionen Rewrite und Redirect.

Die Erfahrung hat gezeigt, daß ein Content-Transfer-Encoding Header die ganze Sache sicherer macht, auch wenn er laut RFC 2616 nicht benutzt wird.

header("Content-Transfer-Encoding: binary");

Die meisten Browser zeigen beim Download häufig einen Fortschrittsbalken an. Dies funktioniert allerdings nur dann, wenn der Browser weiß, wie groß die Datei ist. Die Größe der Datei in Bytes wird über den Content-Length Header angegeben.

header("Content-Length: {Dateigröße}");

Zusammenfassend können wir nun folgenden Header benutzen, wenn die Ausgabe eines Skripts heruntergeladen werden soll:

<?php
// Dateityp, der immer abgespeichert wird
header("Content-Type: application/octetstream");

// Dateiname mit Sonderbehandlung des IE 5.5
header("Content-Disposition: ".(!strpos($HTTP_USER_AGENT,"MSIE 5.5")?"attachment; ":"")."filename=datei name.ext");

// Im Grunde ueberfluessig, hat sich anscheinend bewährt
header("Content-Transfer-Encoding: binary");

// Zwischenspeichern auf Proxies verhindern
header("Cache-Control: post-check=0, pre-check=0");

// Dateigröße für Downloadzeit-Berechnung
header("Content-Length: {Dateigroesse}");
?>

Hinweis: Diese Headerkombination sollte zuverlässig funktionieren. Bei der Vielzahl von Browsern, die sich nicht immer an die RFCs halten, ist jedoch nicht ausgeschlossen, daß diese Kombination angepasst werden muß.

Cachen Vermeiden

Authentifizierung via HTTP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Authentifizierung via HTTP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Authentifizierung via HTTP

Es bestht die Möglichkeit, den Browser ein Fenster öffnen zu lassen, in dem Name und Passwort eingetragen werden müssen. Dies jedoch nur dann, wenn PHP als Modul und nicht als CGI läuft.

Die Umsetzung stellt sich recht einfach dar:

<?php
  if($PHP_AUTH_USER!="Matthias" OR $PHP_AUTH_PW!="Kannen") {
    Header('HTTP/1.1 401 Unauthorized');
    Header('WWW-Authenticate: Basic realm="Privatezone"');
    echo "Sie haben den Vorgang abgebrochen!";
    exit;
  }
?>
<html>
<head>
 <title>Privatzone</title>
</head>
<body>
<h1>Hier ist die Privatzone von </h1>
<h2>
<?php
  echo "Nutzer: ".$PHP_AUTH_USER." Passwort: ".$PHP_AUTH_PW;
?>
</h2>
</body>
</html>

Beim ersten Aufruf sind beide Variablen $PHP_AUTH_USER und $PHP_AUTH_PW nicht gesetzt. Hierdurch wird der Abschnitt der IF-Anweisung bearbeitet. In diesem werden die beiden Header zurückgegeben, die den Browser veranlassen, nach den Nutzernamen und dem Passwort zu fragen. Die Bezeichnung für den Privatenbereich können Sie nach belieben anpassen, sämtliche übrigen Bestandteile des Headers sollten Sie genauso übernehmen. Die echo-Anweisung wird lediglich dann ausgegeben, wenn der Anwender bei der Paßwortabfrage auf Abbrechen klickt oder im Falle des Internet Explorers, drei Versuche, sich zu authentifizieren, mißlungen sind, dann springt der Webserver nach dem echo aus der Datei und der Rest wird nicht mehr ausgegeben. Sollte der Anwender jedoch über das korrekte Passwort mit dem korrekten Nutzernamen eingeben, wird der Bereich innerhalb der IF-Anweisung nicht bearbeitet und der Rest der Datei interpretiert.

Sollten Sie auf Nummer sicher gehen wollen sollten Sie die globalen Servervariablen $_SERVER, wie folgt einbinden:

<?php
  if($_SERVER["PHP_AUTH_USER"]!="Matthias" OR $_SERVER["PHP_AUTH_PW"]!="Kannen") {
    Header('HTTP/1.1 401 Unauthorized');
    Header('WWW-Authenticate: Basic realm="Privatezone"');
    echo "Sie haben den Vorgang abgebrochen!";
    exit;
  }
?>
<html>
<head>
 <title>Privatzone</title>
</head>
<body>
<h1>Hier ist die Privatzone von </h1>
<h2>
<?php
  echo "Nutzer: ".$_SERVER["PHP_AUTH_USER"]." Passwort: ".$_SERVER["PHP_AUTH_PW"];
?>
</h2>
</body>
</html>

Das PHP-Skript erhält über folgende Servervariablen die Anmeldedaten:

Variable | Wert
$_SERVER["PHP_AUTH_USER"] | Nutzername
$_SERVER["PHP_AUTH_PW"] | Passwort im Klartext
$_SERVER["PHP_AUTH_TYPE"] | Authentifizierungstyp

Das Skript kann die Gültigkeit der so übergebenen Daten prüfen. Diese Variablen stehen Ihnen immer nur dann zur Verfügung, wenn das PHP-Skript die Authentifizierung veranlasst hat. Hat sich ein Anwender einmal am System angemeldet, werden die Anmeldungsdaten im Browser gesichert. Bei jedem Aufruf einer Ressource im geschützten Bereich sendet dieser automatisch die Authentifizierungsdaten mit. Der Anwender muss sich somit nur einmal anmelden. Sie sollten jedoch beachten, dass im Authentifizierungsschema Basic das Passwort im Klartext gesendet wird. Es wäre daher ratsam gegebenenfalls HTTPS zu verwenden, um eine sichere Übertragung zu gewährleisten.

Sicherheitsproblem

Es gibt noch ein kleines Sicherheitsproblem das es zu berücksichtigen gilt. Der Browser speichert nämlich den Nutzernamen und das Paßwort, so daß die Autoren derjenigen Seiten, die man nach der Passworteingabe abruft, theoretisch das Passwort abfragen könnten. Dies kann man jedoch ganz einfach verhindern, indem man den Browser komplett beendet oder den PHP-Abschnitt, wie folgt anpasst:

<?php
  if($PHP_AUTH_USER!="Matthias" OR $PHP_AUTH_PW!="Kannen") {
    Header('HTTP/1.1 401 Unauthorized');
    Header('WWW-Authenticate: Basic realm="Privatezone"');
    echo "Sie haben den Vorgang abgebrochen!";
    exit;
  } else {
   unset($PHP_AUTH_PW);
  }
?>

Download

Sicherheit

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Entwicklungsumgebungen vs Editoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Entwicklungsumgebungen vs Editoren

Entwicklern stehen zwei Klassen von Werkzeugen zur Verfügung - Editoren oder Integrierte Entwicklungsumgebungen (IDE). Zur Entwicklung einfacher PHP-Applikationen reicht jeder simple Texteditor wie, z.B. Windows Notepad. Professionelle PHP-Entwickler wissen jedoch, dass die Entwicklung von PHP-Applikationen erheblich mehr bedeutet, als nur die Eingabe von Codezeilen. Die Verwendung eines Texteditors zur Entwicklung von PHP-Applikationen kommt der Verwendung von Disketten zur Datenübertragung Ihrer digitalen Bilder oder Medien gleich. Es mag funktionieren, aber niemand ersetzt Ihnen die unnötig verschwendete Wartezeit.

Entwicklungsumgebungen sind dazu ausgelegt, die Bedürfnisse des professionellen PHP-Entwicklers durch Bereitstellung sämtlicher zur Kodierung, Debugging, Management und Einsatz komplexer PHP-Applikationen erforderlichen Tools zu erfüllen.

Zusätzlich zur Kodierung von PHP, HTML und JavaScript, ermöglichen Ihnen IDEs:
. Debugging Ihrer Applikationen - Wenn Sie noch keinen Debugger verwenden, sollten Sie wissen, dass Sie Zeit verschwenden, und nicht zu knapp! Debugger reduzieren den Pflegeaufwand und die Verwaltungskosten für Codes, indem er Fehler findet, sobald sie auftreten.
. Code-Profil - Suchen und reparieren Sie Leistungsengpässe, indem Sie zu erratende Unbekannte aus der Gleichung entfernen.
. Integrieren Sie ein CVS - Diffs mittels eines CVS aktualisieren, einchecken oder ausführen. Dies ist ein fantastisches Feature für teamorientierte Entwicklungsarbeit.
. Projekte - Fassen Sie mehrere Dateien und Verzeichnisse in eine einzelne Projekteinheit zusammen, um Ihre Applikation schnell zu durchsuchen und darin zu navigieren.
. Darstellung - Zeigen und erlernen Sie die Hierarchie der Funktionen, Klassen, Methoden, Eigenschaften und Konstanten in Ihrer Applikation.
. Code Completion - Ähnlich wie beim Debugging kann die Wichtigkeit der Code Completion nicht ausreichend betont werden. Wenn Sie von einem einfachen Editor ohne Code Completion kommen, werden Sie feststellen, dass Ihre Produktivität zunimmt.

Wenn Sie die Realisierung von Projekten ernst nehmen und ein professionelles Tool benötigen, das Ihnen ermöglicht, Ihre Applikationen zu entwickeln, debuggen, verwalten und einzusetzen, ist es an der Zeit, dass Sie sich für eine Entwicklungsumgebung entscheiden. Ersparen Sie sich den Frust!

Anwendungen der MySQL AB-Gruppe

Zend Studio

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


HTTP-Authentifizierung via HTACCESS

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

HTTP-Authentifizierung via HTACCESS

Die Authentifizierung über das HTTP-Protokoll ist sicher eine der bequemsten Möglichkeit einen Anwender zu einer Identifizierung zu veranlassen. Der Server bzw. das Skript senden einen HTTP-Header an den Browser, der zur Authentifizierung auffordert. Der Anwender erhält daraufhin vom Browser ein Loginfenster präsentiert, wie Sie es bereits im Abschnitt Authentifizierung via http kennen gelernt haben. Der Anwender loggt sich ein und erhält Zugriff auf den geschützten Bereich. Kann dieser nicht identifiziert werden, so wird der Zugriff verweigert und der Anwender erhält eine Fehlermeldung. Der Apache-Webserver ermöglicht es, ein Verzeichnis und sämtliche Unterverzeichnisse durch eine sog. .htaccess-Datei zu schützen. Eine solche Datei stellt sich, wie folgt dar:

AuthUserFile /htdocs/user/www.domain.de/admin/.htpasswd
AuthName Madania
AuthType Basic
<Limit GET>
require valid-user
</Limit>

Tipp: Unter UNIX sorgt der Punkt vor dem htaccess-Dateinamen dafür, dass diese Datei versteckt wird. Dies können Sie auch für eigene Dateien verwenden.

Hat sich ein Anwender über die Webserver-Authentifizierung angemeldet, si können Sie mit Hilfe der globalen Servervariablen $_SERVER["REMOTE_USER"] den Nutzernamen des angemeldeten Anwenders und mit $_SERVER["AUTH_TYPE"] die Authentifizierungsmethode ermitteln.

Anpassen der Passwortdatei

Die Webserver-Identifizierung besitzt einen wesentlichen Nachteil. Sie müssen den Anwender nicht nur für die jeweilige Web-Anwendung registrieren, sondern auch beim Webserver. Bei einer Passwortänderung muss dieses dem Server ebenfalls mitgeteilt werden.

Natürlich können Sie jederzeit den Serveradministrator darum bitten die Anpassungen vorzunehmen, doch wir wollen Ihnen eine Lösung vorstellen, die es Ihnen ermöglicht die Änderungen selbst vorzunehmen.

Ein Eintrag in einer gültigen Passwortdatei, welche in den Meisten Fällen den Dateinamen .htpasswd besitzt, setzt sich aus einer Zeile zusammen. Die Zeile stellt sich, wie folgt dar:

Nutzername:Passwort

Diese Zeile können Sie mit Hilfe von PHP auch selbst erzeugen bzw. anfügen. Wir haben hierfür eine Funktion setze_passwort(), welche wie folgt umgesetzt wurde:

<?php

// Passwort Funktion
function setze_passwort($pwddatei,$nutzer,$nutzer_pwd="") {
 if (empty($nutzer) || empty($pwddatei) || strlen($nutzer)<3) {
    return false;
 }
 // Sollte die Datei existieren wird ein Backup
 // mit einem Zeitstempel erzeugt
 if (file_exists($pwddatei)) {
  $pwd=file($pwddatei);
  copy("$pwddatei",$pwddatei.time());
 } else {
  $pwd=array();
 }
 // Neue Passwort Variable initialisieren
 $neu_pwd="";

 // Sämtliche Nutzer durchlaufen
 foreach($pwd as $eintrag) {
    if (strstr($eintrag,$nutzer.":")==$eintrag) {
        $change_nutzer=true;
        if (empty($nutzer_pwd)) {
         continue;
        }
        $neu_pwd.= $nutzer.":".crypt($nutzer_pwd,$nutzer[2].$nutzer[1])."\n";
    } else {
        $neu_pwd.=trim($eintrag)."\n";
    }
 }

 // Nutzer neues Passwort zuweisen
 if (!isset($change_nutzer)) {
    if (empty($nutzer_pwd)) {
     return false;
    } else {
     $neu_pwd.= $nutzer.":".crypt($nutzer_pwd,$nutzer[2].$nutzer[1])."\n";
    }
 }

 // Daten sichern
 $datei=fopen($pwddatei,"w");
 if (is_resource($datei)) {
  flock($datei,LOCK_EX);
  fwrite($datei,$neu_pwd);
  flock($datei,LOCK_UN);
  fclose($datei);
  return true;
 } else {
  return false;
 }
}

?>

Wir empfehlen Ihnen die Funktion in eine Datei mit dem Namen phpcrypt.php abzulegen. So können Sie bei bedarf auf die Funktion zugreifen.

Beispiel - anlegen eines Nutzers (Anwenders)

<?php

// Funktion einbinden
include("phpcrypt.php");

// Zieldatei, Nutzer, Passwort
if (setze_passwort(".htpasswd","matthias","test")) {
    echo "Erfolgreich";
} else {
    echo "Fehlgeschlagen";
}

?>

Die Funktion selbst ist in der Lage:
. Ein Nutzerpasswort zu ändern
. Einen neuen Nutzer samt Passwort anzulegen
. Einen Nutzer samt Passwort zu löschen

Sie erhält den Dateinamen, den Benutzernamen und das Passwort übergeben. Sollte das Passwort nicht vorhanden sein bzw. leer, wird der betreffende Nutzer aus der Datei entfernt. Sie ist in der Lage die Passwortdatei zu erzeugen oder eine vorhandene zu öffnen. Sollte die Passwortdatei vorhanden sein wird diese nach entsprechenden Nutzernamen durchsucht. Sollte der Nutzername vorhanden sein, wird dessen Passwort entweder ersetzt oder wenn das Passwort, welches im Argument $nutzer_pwd festgelegt wird, leer sein sollte, der Nutzer aus der Datei entfernt. Wird kein Nutzer gefunden, wird ein neuer Eintrag in der Passwortdatei angelegt. Die jeweiligen Passwörter in der Passwortdatei müssen verschlüsselt abgelegt werden. Die Funktion die Ihnen bei der Verschlüsselung behilflich ist, ist crypt(). Diese erhält das Passwort im Klartext übergeben und als Schlüsselbasis wird der dritte und zweite Buchstabe des Nutzernamens verwendet. Das so erzeugte Passwort wird dem String hinzugefügt, welcher sich aus Nutzername und verschlüsseltem Passwort zusammensetzt und in der Variablen $neu_pwd liegt. Anschliessend wird die neu erzeugte Passwortdatei gespeichert. Da ein Eingriff in die Passwortdatei auch zu Problemen führen kann, sollte man an eine Sicherung der möglicherweise vorhandenen Passwortdatei denken. Daher wird bei jeder Anpassung der Passwortdatei, eine Kopie der Datei angelegt, sofern diese vorhanden ist. Sollten sämtliche Prozesse innerhalb der Funktion setze_passwort() fehlerfrei durchlaufen worden sein, wird diese true zurückliefern, andernfalls false.

Achtung: Es wird nicht geprüft, ob Sie bzw. das PHP-Skript das Recht hat Änderungen an der Datei vorzunehmen. Daher sollten Sie vorab klären ob dem so ist.

Sicherheit

Session basierte Authentifizierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Session basierte Authentifizierung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Session basierte Authentifizierung

Eine weitere Möglichkeit der Authentifizierung besteht darin, die Zugangsdaten eines Anwenders auszuwerten und diese in einer Session zu registrieren. Sie sollten bei der Übertragung mit Hilfe eines HTML-Formulars berücksichtigen, dass das Passwort im Klartext übertragen wird und daher die POST-Methode eingesetzt werden sollte. Sie könnten zusätzlich Clientseitig das Passwort mit Hilfe von JavaScript verschlüsseln, diese setzt jedoch voraus das beim Anwender die Ausführung von JavaScript zugelassen ist.

Um das folgende Beispiel, so flexibel, wie möglich zu gestalten, sollten Sie dafür sorgen, dass die Nutzeridentifizierung in eine externe Datei ausgelagert wird. Wir haben hierfür die Datei check.php angelegt. In dieser befindet sich folgende Funktion:

<?php

// Nutzeridenifikations-Funktion
function check_nutzer($pwddatei=".htpasswd") {
 session_start();

 if (isset($_SESSION["versuch"]) && $_SESSION["versuch"]>2) {
    return false;
 }

 if (!isset($_SESSION["auth"]) && !isset($_POST["username"])) {
    return false;
 }

 if (isset($_POST["username"])) {
    if (!isset($_SESSION["versuch"])) {
     $_SESSION["versuch"]=1;
    } else {
     $_SESSION["versuch"]++;
    }

    if (!isset($_COOKIE[session_name()])) {
     return false;
    }

    $nutzer = trim($_POST["username"]);
    $pwd  = trim($_POST["passwort"]);

    if (strlen($nutzer)<3) {
     return false;
    }

    $pwd=$nutzer.":".crypt($pwd,$nutzer[2].$nutzer[1])."\n";
    $pwd_liste=file($pwddatei);

    if (array_search($pwd,$pwd_liste)!== false) {
     $_SESSION["auth"]=$nutzer;
     return true;
    } else {
     return false;
    }
 }

 if (isset($_GET["logout"])) {
    session_destroy();
    session_unset();
    unset($_SESSION);
    return false;
 } else {
     return true;
 }
}

?>

Die Datei welche die Eingabemaske samt Funktionsaufruf enthält, wird als login.php angelegt:

<?php

include("check.php");
if (!check_nutzer()) {

?>

<html>
<head>
<title>Eingang</title>
</head>
<body>
<h1>Login</h1>
<form method="post" action="<?php echo $PHP_SELF ?>">
  <p>Nutzer:
    <input type="text" name="username">
  </p>
  <p>Passwort:
    <input type="password" name="passwort">
  </p>
  <p>
    <input type="submit" name="Submit" value="Login">
  </p>
</form>

<?php

if (isset($_SESSION["versuch"]) && $_SESSION["versuch"] < 3) {
 echo "Login nicht erfolgreich!
 Es stehen Ihnen noch ".
 (3-$_SESSION["versuch"]) .
 " Versuche zur Verfügung!";
} else if ($_SESSION["versuch"] == 3) {
 echo "Es stehen Ihnen keine
 weiteren Versuche zur Verfügung!";
}

?>

</body>
</html>

<?php

} else {

?>

<html>
<head>
<title>Private Zone</title>
</head>
<body>
<h1>Herzlich Willokmmen</h1>
<a href="<?php echo $PHP_SELF ?>?logout=1">Logout</a>
</body>
</html>

<?php

}

?>

Wie Sie anhand des ersten Arguments $pwddatei der Funktion erkennen können, verwenden wir in diesem Fall die mit Hilfe der setze_passwort()-Funktion erzeugte Passwortdatei um die Authentifizierung durchzuführen. Es steht Ihnen natürlich frei der Passwortdatei einen beliebigen Namen zu zuweisen, achten Sie lediglich darauf das sich jeder Nutzereintrage aus einem Nutzernamen und einem verschlüsselten Passwort zusammensetzt. Die Funktion selbst sorgt dafür, dass die benötigte Session initialisiert wird und prüft, ob ein Anwender angemeldet ist oder nicht. Gegebenfalls wird der Anwender identifiziert bzw. abgemeldet. Ist ein Anwender angemeldet oder war seine Anmeldung erfolgreich, gibt die Funktion true zurück, andernfalls false. Mit Hilfe der Rückgabewerte können Sie somit entscheiden, was bei einem erfolgreichen bzw. nicht erfolgreichen Login geschehen soll. Die Funktion ist zusätzlich in der Lage zu erkennen, wie oft versucht wurde sich einzuloggen. Dem Anwender stehen drei Versuche zur Verfügung. Nach drei Versuchen, welche in der Sessionvariable $_SESSION["versuch"] gespeichert sind, wird die Funktion grundsätzlich den Rückgabewert false liefern. Dies gilt auch in dem Fall, wenn weder die Sessionvariable $_SESSION["auth"] noch die Postvariable $_POST["username"] existieren. In diesem Fall wird davon ausgegangen, dass der Anwender noch keinen Loginversuch unternommen hat. Sobald der Anwender das Loginformular abgeschickt hat, beginnt der Authentifizierungsprozess. Die Sessionvariable $_SESSION["versuch"] wird in der Session registriert bzw. um den Wert 1 erhöht. Anschliessend wird überprüft, ob die Session durch ein Cookie übergeben wurde. Sollte dieses nicht existieren, wird die Funktion abgebrochen und false zurückgegeben. Der Nutzernamen und das Passwort werden in den Variablen $nutzer und $pwd gespeichert. Dabei werden mit Hilfe der Funktion trim() eventuell vorhandene Leerzeichen vor und nach dem Nutzernamen und Passwort entfernt. Eine weitere Bedingung, welche es zu berücksichtigen gilt ist die Tatsache, dass der Nutzername nicht kürzer als drei Zeichen sein darf. Damit ein identischer Eintrag in der Passwortdatei gefunden werden kann, wird ein String gebildet, welcher genauso aufgebaut ist wie eine Zeile in der Passwortdatei. Anschliessend wird der Inhalt dieser Datei mit Hilfe der Funktion file() in das Array $pwd_liste einglesen. Dieses Array wird mit Hilfe der Funktion array_search() durchsucht. Ist der Rückgabewert der Suche ungleich false, so bedeutet dies, der Anwender ist in der Passwortdatei enthalten und hat sich mit dem richtigen Passwort angemeldet. Die Sessionvariable $_SESSION["auth"] wird angelegt und in ihr der Nutzername gespeichert. Die Funktion liefert dann noch den Wert true zurück. Sollte der Anwender bereits angemeldet sein, wird geprüft, ob in der URL der Parameter logout enthalten ist. Ist dies der Fall, wird die Session beendet und die Funktion gibt false zurück, andernfalls true.

Session-Variante

Wir haben Ihnen noch eine weitere Variante angefügt, so dass Sie selbst entscheiden können, welche von beiden Lösungen Ihnen zusagt. Bei der folgenden Variante handelt es sich um eine Umsetzung, die ohne eine externe Passwortdatei auskommt.

Sie basiert auf insgesamt drei Dateien:
. login.php - enthält die Eingabemaske samt Authentifizierungsfunktion.
. gruss.php - auf diese Seite gelangt der Anwender nach dem Login
. logout.php - Hier wird der Anwender ausgeloggt und verabschiedet.

Beispiel - login.php

<?

session_start();

function check_auth($nutzer,$pwd) {
    $nutzer_liste = array ("matthias" => "mad",
                    "caroline" => "car");
    if (isset($nutzer_liste[$nutzer]) && ($nutzer_liste[$nutzer] == $pwd)) {
        return true;
    } else {
        return false;
    }
}

$geheim_wort = 'geheim';

unset($_POST["$username"]);

if ($_SESSION['login']) {
    list($s_username, $session_hash) = explode(',',$_SESSION['login']);
    if (md5($s_username.$geheim_wort) == $session_hash) {
        $_POST["$username"] = $s_username;
    } else {
        echo "Sie haben an ihrer Session rumgesaut!";
    }
}

if ($_POST["$username"]) {
    header('Location: gruss.php');
} else {
if (check_auth($_POST['username'], $_POST['passwort'])) {
    session_start();
    $_SESSION['login'] = $_POST['username'].','.md5($_POST['username'].$geheim_wort);
    echo "Sie sind eingeloggt!";
    echo "<p><a href='gruss.php'>Weiter</a>";
} else {
echo <<<Login
<form method="post" action="login.php"
Benutzername:<br>
Nutzer:
<input type="text" name="username"><br>
Passwort:
<input type="text" name="passwort"><br>
<input type="submit" value="Login">
</form>
Login;
}
}

?>

Beispiel - gruss.php

<?

session_start();

$geheim_wort = 'geheim';

unset($_POST["$username"]);

if ($_SESSION['login']) {
    list($s_username, $session_hash) = explode(',',$_SESSION['login']);
    if (md5($s_username.$geheim_wort) == $session_hash) {
        $_POST["$username"] = $s_username;
    } else {
        echo "Sie besitzen keine gültige Session!";
    }
}

if ($_POST["$username"]) {
    echo "Guten Tag " . $_POST["$username"];
    echo "<a href='logout.php'>Ausloggen</a>";
} else {
    echo "Guten Tag, anonymer Besucher!";
}

?>

Beispiel - logout.php

<?

session_start();

$geheim_wort = 'geheim';

unset($_POST["$username"]);

if ($_SESSION['login']) {
    list($s_username, $session_hash) = explode(',',$_SESSION['login']);
    if (md5($s_username.$geheim_wort) == $session_hash) {
        $_POST["$username"] = $s_username;
    } else {
        echo "Sie besitzen keine gültige Session!";
    }
}

if ($_POST["$username"]) {
    unset($_SESSION['login'],$login);
    echo "Bis bald ". $_POST["$username"];
    echo "<br><a href='login.php'>Login</a>";
} else {
    echo "Fehler beim Ausloggen!";
}

?>

HTTP-Authentifizierung via HTACCESS

Cookie basierte Authentifizierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Cookie basierte Authentifizierung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Cookie basierte Authentifizierung

Auf der Grundlage der zweiten Lösung für die Session basierten Authentifizierung können Sie nach dem gleichen Schema vorgehen um eine Cookie basierte Lösung einzusetzen.

Diese basiert ebenfalls auf insgesamt drei Dateien:
. cookielogin.php - enthält die Eingabemaske samt Authentifizierungsfunktion.
. gruss.php - auf diese Seite gelangt der Anwender nach dem Login
. logout.php - Hier wird der Anwender ausgeloggt und verabschiedet.

Die Cookie basierte Lösung setzt voraus, dass der Anwender das anlegen von Cookies auf dem Client gestattet. Sie hat gegenüber der Session basierten Lösung den Vorteil, dass der Anwender selbst nach einem Neustart des Systems oder des Browsers eingeloggt bleibt. Erst nach dem sich der Anwender ordnungsgemäss ausloggt wird er nicht mehr als authentifizierter Anwender erkannt.

Beispiel - cookielogin.php

<?

function check_auth($nutzer,$pwd) {
    $nutzer_liste = array ("matthias" => "mad",
                           "caroline" => "car");
    if (isset($nutzer_liste[$nutzer]) && ($nutzer_liste[$nutzer] == $pwd)) {
        return true;
    } else {
        return false;
    }
}

$geheim_wort = 'geheim';
unset($username);

if ($_COOKIE['login']) {
    list($c_username, $cookie_hash) = split(',',$_COOKIE['login']);
    if (md5($c_username.$geheim_wort) == $cookie_hash) {
        $_POST["$username"] = $c_username;
    } else {
        echo "Sie besitzen kein gültiges Cookie!";
    }
}

if ($_POST["$username"]) {
    header('Location: gruss.php');
} else {
if (check_auth($_POST['username'], $_POST['passwort'])) {
    setcookie('login', $_POST['username'].','.md5($_POST['username'].$geheim_wort),time()+60*60*24*30);
    echo "Sie sind eingeloggt!";
    echo "<p><a href='gruss.php'>Weiter</a>";
} else {
echo <<<Login
<form method="post" action="cookielogin.php"
Benutzername:<br>
Nutzer:
<input type="text" name="username"><br>
Passwort:
<input type="password" name="passwort"><br>
<input type="submit" value="Login">
</form>
Login;
}
}

?>

Beispiel - gruss.php

<?

$geheim_wort = 'geheim';
unset($_POST["$username"]);

if ($_COOKIE['login']) {
    list($c_username, $cookie_hash) = split(',',$_COOKIE['login']);
    if (md5($c_username.$geheim_wort) == $cookie_hash) {
        $_POST["$username"] = $c_username;
    } else {
        echo "Sie besitzen kein gültiges Cookie!";
    }
}

if ($_POST["$username"]) {
    echo "Guten Tag " . $_POST["$username"];
    echo "<a href='logout.php'>Ausloggen</a>";
} else {
    echo "Guten Tag, anonymer Besucher!";
}

?>

Beispiel - logout.php

<?

$geheim_wort = 'geheim';
unset($_POST["$username"]);

if ($_COOKIE['login']) {
    list($c_username, $cookie_hash) = split(',',$_COOKIE['login']);
    if (md5($c_username.$geheim_wort) == $cookie_hash) {
        $_POST["$username"] = $c_username;
    } else {
        echo "Sie besitzen kein gültiges Cookie!";
    }
}

if ($_POST["$username"]) {
    setcookie('login','',time()-84000);
    echo "Bis bald ". $_POST["$username"];
    echo "<br><a href='cookielogin.php'>Login</a>";
} else {
    echo "Fehler beim Ausloggen!";
}

?>

Das Cookie verfällt nach 30 Tagen von selbst (time()+60*60*24*30).

Session basierte Authentifizierung

Die Ursprünge des Internet

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


TCP/IP-Architekturmodell

Letztes Update: 17.08.2005 12:15:40

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

TCP/IP-Architekturmodell

Die Basis für die logische Struktur des Internet bildet die TCP/IP-Protokollfamilie und das hinter diesen Protokollen stehende vierschichtige Architekturmodell zur Rechnerkommunikation, das eine vereinfachte Form des später von der International Organisation for Standardization (ISO) entwickelten und noch weiter ausdifferenzierten siebenschichtigen OSI-Modells (Open Systejms Interconnection) darstellt. Fast alle Betriebssysteme beherrschen TCP/IP und ermöglichen so die weltweite Kommunikation zwischen unterschiedlichsten Rechnern und Devices.

Die Protokolle sind für jedermann frei verfügbar und werden als offen betrachtet. Jeder Anwender kann sie lizenzfrei für eigene Zwecke nutzen und eigene Applikationen und Dienste darauf aufsetzen. Dabei steht TCP/IP für eine ganze Reihe von Protokollen, der so genannten "Internet Protocol Suite". Die beiden wichtigsten Typen TCP und IP sind zum Synonym für diese Familie geworden.

Auf Grund des einheitlichen Adressierungsschemas kann jeder Rechner in einem TCP/IP-Netz jeden beliebigen anderen Rechner eindeutig identifizieren. Standardisierte Protokolle in den höheren Schichten stellen dem Benutzer einheitlich verfügbare Dienste zur Verfügung.

Protokollarchitektur

Es gibt keine generelle Übereinstimmung darüber, wie TCP/IP in einem Schichtenmodell beschrieben werden soll. Das OSI-Modell ist zwar recht nützlich, aber größtenteils sehr akademisch. Um den Aufbau von TCP/IP zu verstehen, benötigt man ein Modell, das näher an die Struktur der Protokolle angelehnt ist.

In dem von Cerf und Kahn im Auftrag der US-Militärs entwickelten vierschichtigen Modell stellt jede Schicht der übergeordneten Schicht Dienste zur Verfügung und nimmt die Dienste der untergeordneten Schicht in Anspruch. Hierbei verlässt sich jede Schicht auf die Dienste der darunter liegenden und zwar ohne zu wissen, wie diese die Dienstleistung erbringt. Der Datenstrom verläuft dabei in vertikaler Richtung.

Die logische Kommunikation erfolgt zwischen den jeweils gleichen Schichten der kommunizierenden Rechner mithilfe bestimmter Regeln zur Koordination der Kommunikation. Diese werden auch als Protokolle bezeichnet.

Vierschichtiges Architekturmodell zur Rechnerkommunikation

Zwischen Anwendungen der Anwendungsschicht des Rechners 1 und des entfernten Rechners 2 verläuft die Kommunikation wie folgt: Die Daten durchlaufen jede einzelne Schicht. Sie werden im lokalen Rechner heruntergereicht, wobei jede Schicht die empfangenen Daten als die übertragenden ansieht, zu denen sie ihre eigenen Kontrollinformationen als Kopfzeile (Header) voranstellt.

Im entfernten Rechner durchlaufen die Datenpakete denselben Weg von unten nach oben. Jede Schicht entfernt dabei wieder den für sie bestimmten Header und reicht die Daten an die darüber liegende weiter.

Das Hinzufügen von Kontrollinformationen wird als Encapsulation (Kapselung) bezeichnet. Beim Empfangen von Daten werden die Schritte der Kapselung wieder rückgängig gemacht. Jede Schicht entfernt ihren Header und reicht die restlichen Daten an die darüber liegende Schicht weiter.

Schema der Kapselung von Daten

Jede dieser Schichten verfügt über eine eigene, unabhängige Datenstruktur. In der Praxis sind aber die einzelnen Schichten so gestaltet, dass sie zu den Strukturen der benachbarten Schichten kompatibel sind. Dies dient der effizienteren Datenübertragung.

Netzzugangsschicht

Für die unterste Ebene, die Netzzugangsschicht, ist lediglich festgelegt, dass sich der Host unter Zuhilfenahme eines Protokolls mit dem Netzwerk verbinden muss, um IP-Pakete hierüber zu versenden. Mögliche Protokolle sind beispielsweise Ethernet, FDDI und ISDN. Die physikalische Übertragung kann dabei über ganz unterschiedliche Medien, wie z.B. Koaxial-, Glasfaserkabel oder auch über Richtfunkstrecken erfolgen.

Internetschicht

Die Internetschicht hat die Aufgabe, den Hosts zu ermöglichen, Pakete in ein beliebiges Netzwerk einzuspeisen, den Adressierungsmechanismus zu regeln und eine Wegwahl zu treffen. Die Vermittlung zwischen einzelnen Netzwerken erfolgt hierbei über so genannte Router. Hierbei handelt es sich um entsprechend konfigurierte Rechner, die für den Weg der Datenpakete zuständig sind.

Die einzelnen Pakete können sich ihren Weg unabhängig voneinander zum Ziel-Host suchen. Dies hat zur Folge, dass die Pakete nicht in der Reihenfolge eintreffen, in der sie verschickt wurden. In diesem Fall ist es Aufgabe der höheren Schichten, diese wieder zusammenzusetzen.

Transportschicht

Über der Internetschicht befindet sich die Transportschicht. Ihre Aufgabe ist es, eine Transportverbindung zwischen zwei Prozessen auf verschiedenen Rechnern zu ermöglichen. Für diese Schicht wurden zwei Protokolle als Standard definiert: Das Transmission Control Protokoll (TCP) und das User Datagram Protokoll (UDP).

Anwendungsschicht

Über der Transportschicht befindet sich die Anwendungsschicht. Die Anwendungsschicht bildet die Schnittstelle zum Benutzer. Sie umfasst eine ganze Reihe von höheren Protokollen. Als Standards wurden zunächst Dateitransfer (FTP), virtueller Terminal Zugriff (Telnet) und elektronische Post (SMTP) definiert und im weiteren Entwicklungsverlauf durch weitere Protokolle, wie z.B. HTTP ergänzt.

Internetprotokolle

Protokolle der Internetschicht

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Protokolle der Internetschicht

Letztes Update: 22.08.2005 11:31:35

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Protokolle der Internetschicht

IP-Protokoll

Das auf der Internetschicht angesiedelte Internet Protokoll (IP) ist verantwortlich für die Beförderung der Datenpakete von einem Host zum anderen und kann daher auch der Schicht 3 (Vermittlungsschicht, network layer) des ISO/OSI-Modells zugeordnet werden.

Funktionen des Internetprotokoll
IP stellt den höheren Schichten folgende Dienste zur Verfügung:
. Adressierung (IP-Adresse) der Netzknoten
. Routing zwischen Netzwerken
. Datenpaketdienst
. Datagram Service
. Fragmentierung der Datenpakete
. Wahl der Übertragungsparameter

Die Hauptaufgabe des IP ist die Ermittlung und Realisierung des optimalen Weges zwischen Sender und Empfänger für jedes Datenpaket. Verbindungsaufbau und Verbindungsabbau fallen nicht in den Zuständigkeitsbereich dieses Protokolls.

Die beteiligten Hosts können sich entweder im selben oder in verschiedenen über Router verbundenen physikalischen Netzwerken befinden.

Im Gegensatz zum datenstrom- und verbindungsorientierten TCP überträgt IP die Daten mittels verbindungsloser Kommunikation in Form von Datenpaketen, die in der TCP/IP-Terminologie auch Datagramme genannt werden.

Die Daten werden in kleinen Paketen über das Netz gesendet. Im Netzwerk können die einzelnen Datenpakete, die jeweils die komplette Empfangsadresse enthalten, ihr Ziel auf ganz unterschiedlichen Wegen und innerhalb von unterschiedlichen Übertragungszeiten zurücklegen. Auf dem Weg dorthin kann es wegen unterschiedlicher Netzwerk-Architekturen vorkommen, dass Pakete wiederholt fragmentiert werden müssen.

IP bekommt die Daten von den übergeordneten Protokollschichten geliefert, die in Pakete zerteilt und mit einem IP-Header versehen werden. In diesem Header stehen sämtliche Daten, die zum Versand der Pakete über das Internet erforderlich sind.

Das IP-Protokoll realisiert den hierzu erforderlichen einheitlichen Adressierungsmechanismus. Jeder über das Netz zugängliche Rechner muss über eine eindeutige 32 Bit lange IP-Adresse verfügen.

Hinweis: Das Internet Protocol stellt keine gesicherte Verbindung zur Verfügung und kann keine verlorenen Datenpakete erneut übertragen.

IP-Header im Detail

Der IP-Header verfügt über 14 Parameter und hat bei Nutzung des Feldes Options eine Länge von 32 Bytes, ansonsten 20 Bytes.

Name | Größe (Bits) | Beschreibung
Version | 4 | Legt die Version des IP-Headers fest. Momentan ist Version 4 aktuell, auch als "IPv4" bezeichnet. Mittelfristig wird diese von Version 6 abgelöst werden.
IHL | 4 | Gibt die gesamte Länge des Headers an. Die Angabe ist wegen dem Options-Feld notwendig.
Type Of Service | 8 | Definiert die Dienste eines IP-Datenpakets. Beispielsweise können die vorrangige Behandlung von Datenpaketen, die Durchsatzart oder die Belegung von Ressourcen in Routern festgelegt werden.
Total Length | 16 | Verzeichnet die Gesamtlänge des Datagramms
Identification | 16 | Enthält einen Kennwert von Fragmenten zu einem Datenpaket. Anhand des Feldes ermittelt der Empfänger die korrekte Reihenfolge der Datenpakete.
Flags | 3 | Enthält das Kontroll-Flag "Don't Fragment" (DF), wenn keine weiteren Pakete folgen und "More Fragment" (MF) wenn weitere Folgen.
Fragmentation Offset | 13 | Beinhaltet Informationen über die Position eines Datagramms zu anderen Datagrammen. Mit Hilfe des Fragmentation Offset kann der Empfänger die Datenpakete in der richtigen Reihenfolge zusammensetzen.
Time To Live | 8 | Definiert die Lebensdauer eines Datagramms im Netzwerk. Fällt der Wert auf Null, wird das Datenpaket verworfen. Die Lebensdauer eines Datenpakets beträgt maximal 255 Sekunden oder den Übergang über 255 Router. Der Wert des Feldes wird bei jedem Durchgang durch einen Router um mindestens 1 herabgesetzt.
Protocol | 8 | Legt fest, welches weiterverarbeitende Protokoll der höheren Schichten als nächstes das Datenpaket verarbeiten muss. Zum Beispiel "6" für TCP oder "17" für UDP.
Header Checksum | 16 | Enthält eine Prüfsumme, die den Header auf Fehler überprüft. Durch die Prüfsumme können Übermittlungsfehler erkannt werden.
Source Address | 32 | Enthält hexadezimal die Adresse des Senders
Destination Address | 32 | Enthält hexadezimal die Adresse des Empfängers.
Options | bis zu 96 | Variables Feld, das optionale Informationen wie Sicherheitsrestriktionen enthält.
Padding | - | Enthält Füll-Bits, die sicherstellen, dass der IP-Header bei Nutzung des Options-Feldes eine Länge von 32 Bytes hat.

IP-Adresse

Eine IP-Adresse besteht aus zwei Teilen, der Netzadresse und der Rechneradresse. In der dezimalen Schreibweise besteht eine IP-Adresse aus vier durch Punkte getrennten Oktetten, wobei ein Oktett jeweils 8 Bit der 32 Bit langen Gesamtadresse entspricht. Die kleinste IP-Adresse ist 0.0.0.0 und die höchste 255.255.255.255.

Der Netzwerkanteil der IP-Adresse kennzeichnet das Netzwerk. Alle Rechner des gleichen Netzwerks haben auch den gleichen Netzwerkanteil. Die Grenze zwischen Netzwerkanteil und Hostanteil befindet sich je nach Netzwerkklasse entweder nach dem ersten, zweiten oder dritten Oktett. Der Rechneranteil der IP-Adresse dient zur Identifikation eines bestimmten Rechners im Netzwerk.

Es werden fünf Adressklassen (Class A, B, C, D und E) unterschieden. Die Klassen D und E werden nur für Testzwecke genutzt und sind für die praktische Arbeit ohne Bedeutung.

 | Klasse | 1. Byte | 2. Byte | 3. Byte | 4. Byte | Bereich
A | IP-Adresse | 0-127 | 0-255 | 0-255 | 0-255 | 1.0.0.0 - 127.0.0.0
 | Netzwerke |  |  |  |  | 128
 | Hosts |  |  |  |  | 16.777.214
 | Netzwerkanteil |  |  |  |  | Hostanteil
B | IP-Adresse | 128-191 | 0-255 | 0-255 | 0-255 | 128.0.0.0 - 191.255.0.0
 | Netzwerke |  |  |  |  | 16.384
 | Hosts |  |  |  |  | 65.534
 | Netzwerkanteil |  |  |  |  | Hostanteil
C | IP-Adresse | 192-223 | 0-255 | 0-255 | 0-255 | 192.0.0.0 - 223.255.255.0
 | Netzwerke |  |  |  |  | 2.097.152
 | Hosts |  |  |  |  | 256
 | Netzwerkanteil |  |  |  |  | Hostanteil

Adressklassen und besondere Adressen

Die drei wichtigsten Adressklassen sind A, B und C. Um festzustellen, zu welcher Klasse eine Adresse gehört, liest die IP-Software die ersten Bits einer Adresse. Zur Bestimmung der Klasse, der eine Adresse angehört, wendet IP folgende Regeln an:

. Ist das erste Bit einer Adresse "0", handelt es sich um eine Adresse der Klasse A. Das erste Bit der Adresse kodiert die Klasse, die nächsten 7 Bit identifizieren das Netzwerk. Die restlichen 24 Bits kodieren den Rechner innerhalb dieses Netzes. Insgesamt sind 127 Class-A-Netze möglich.
. Wenn die ersten beiden Bits einer IP-Adresse "10" sind, handelt es sich um eine Adresse in einem Class-B-Netz. Die ersten beiden Bits bestimmen die Klasse, die nächsten 14 Bits identifizieren das Netz und die letzten 16 Bits den Rechner.
. Sind die ersten drei Bits "110", handelt es sich um ein Class-C-Netz. Die ersten 3 Bits dienen zur Bestimmung der Klasse, die nächsten 21 Bits bestimmen das Netzwerk. Die letzten 8 Bits definieren den Rechner.
. Wenn die ersten 3 Bit "111" sind, handelt es sich um eine spezielle reservierte Adresse, oft auch als Class-D-Netz bezeichnet. Diese Adressen sind so genannte Multicast-Adressen. Damit lassen sich Gruppen von Computern adressieren, die ein gemeinsames Protokoll benutzen.

Es gibt in allen Netzwerkklassen auch Rechnernummern, die für spezielle Zwecke reserviert sind. Eine IP-Adresse, in der alle Rechner-Bits auf "0" stehen, also Rechnernummer "0", identifiziert das Netzwerk selbst. Stehen alle Rechner-Bits auf "1", also Rechnernummer "255", bezeichnet man diese Adresse als Broadcast-Adresse. Diese Adresse wird benutzt, um gleichzeitig jeden einzelnen Rechner in einem Netzwerk zu adressieren.

Auch in der Klasse A gibt es zwei Adressen, nämlich "0" und "127", die für spezielle Zwecke reserviert sind. Das Netzwerk "0" bezeichnet die Default-Route (Standard- oder voreingestellte Route) und das Netzwerk "127" ist die Loopback-Adresse. Die Default-Route dient der Vereinfachung des Routing, das IP vornehmen muss. Die Loopback-Adresse vereinfacht Netzwerkanwendungen, indem der lokale Rechner genau so adressiert werden kann wie ein fremder Rechner.

IP-Adressenbereich

Allerdings werden die nur 32-Bit langen Adressen langsam knapp. Derzeit sind rund 60 Prozent aller Class-B-Adressen bereits vergeben. Diese Adressen werden daher nur noch in begründeten Fällen zugewiesen. Da erst rund 40 Prozent der Class-C-Adressen vergeben sind, geht man dazu über, statt Class-B-Adressen einen Block aufeinanderfolgender Class-C-Adressen zu vergeben.

Die rund vier Milliarden möglichen Rechneradressen werden dem Boom im Internet nicht mehr gerecht. Ein neues Protokoll mit größerem Adressraum ist daher notwendig. Der Nachfolger des heute gängigen Protokolltyps IPv4 trägt die Bezeichnung Internet Protocol Version 6 (IPv6). Durch die Erweiterung der Adressenlänge von 32 auf 128 Bit ergibt sich eine mehr als ausreichende Adressenvielfalt, über 3 x 1038.

Hinweis: Die IPv5 gabe es übrigens lediglich in einem Experimentierzustand. Experten gehen davon aus dass IPv4 und IPv6 jahrzentelang nebeneinander existieren werden. Sie müssen sich also keine Sorgen machen, übermorgen nicht mehr ins Internet zu kommen.

Da sich IP-Adressen nur schwer einprägen, wurden sowohl für die Netzwerke als auch für die darauf befindlichen Rechner symbolische Namen eingeführt. Der Namensraum ist hierarchisch strukturiert. Die Wurzel des Hierarchiebaumes wird durch einen Punkt dargestellt.

Auf der nächsten Ebene befinden sich die Top-Level Domains, z.B. de für Deutschland. Anschliessend folgen, wieder durch Punkte abgetrennt, die symbolischen Namen des Netzwerks, bzw. deren Subnetzwerke, im vorstehenden Beispiel ist dies domain und zum Schluss folgt auf der untersten Hierarchieebene der symbolische Rechnername, z.B. r106.

Beispiel eines Klasse C Netzwerks

Top-Level Domains

Die Verwaltung der Top-Level Domains wird auf Länderebene von hierfür jeweils zuständigen Organisationen wahrgenommen.

In Deutschland ist dies die DENIC eG, bei der es sich um eine eingetragene Genossenschaft handelt. Sie wurde 1997 gegründet. Die Mitglieder der DENIC eG sind Internet Service Provider, kurz ISP, die ihren Kunden lokale Zugänge zum Internet zur Verfügung stellen.

Zu den Aufgaben der DENIC eG gehören:
. Betrieb des Primary-Nameservers für die Top-Level Domain DE
. Bundesweit zentrale Vergabe von Domains unterhalb der Top-Level Domain DE
. Administration des Internet in Zusammenarbeit mit internationalen Gremien
. Bereitstellung diverser Datenbankdienste
. Bereitstellung diverser Informationen, insbesondere zu rechtlichen Fragen bei der Domainvergabe und -verwaltung.

Es wird zwischen geografischen und organisatorischen Top-Level Domains unterschieden. Die geografischen Länderkennungen bestehen aus jeweils zwei Buchstaben, die in ISO-3166 festgelegt sind. In den USA sind darüber hinaus zusätzliche Top-Level Domains für Organisationen und Institutionen im Gebrauch.

Domain | Beschreibung
.DE | Deutschland
.AT | Österreich
.CH | Schweiz
.IT | Italien
.UK | Grossbritanien
.FR | Frankreich
.DK | Dänemark
.AU | Australien
.NL | Niederlande

Domain | Beschreibung
.NET | Netzwerk Dienstanbieter
.COM | Kommerzielle Anbieter
.EDU | Hochschulen und Ausbildungseinrichtungen in den USA
.GOV | Institutionen der US-Regierung
.MIL | Institutionen des US-Militärs
.ORG | nicht kommerzielle Organisationen

Weitere Selbstorganisation im Internet

Die folgende Liste enthält einige Verweise zu den wichtigsten internationalen und nationalen Organisationen im Internet:

Organisation | URL | Aufgabe
Deutsches Network Information Center (DE-NIC) | www.denic.de | Vergabestelle für Domain-Namen unterhalb der Top-Level-Domain .de
International Network Information Center (InterNIC) | www.internic.net | Kollaboratives Projekt zwischen AT&T, General Atomics und Network Solutions, Inc. AT&T. Internationale Vergabestelle für Domain-Namen.
Generic Top Level Domain Memorandum of Understanding (gTLD-MoU) | www.gtld-mou.org | Organistation für die Schaffung von neuen Top-Level-Domains.
Internet Architecture Board (IAB) | www.isi.edu/iab | Organisation zur Dokumentation der Netzstruktur und der grundsätzlichen Abläufe im Internet.
Internet Assigned Numbers Authority (IANA) | www.isi.edu/iana | Zentrale Koordinationsstelle für Internet-Protokolle
Internet Engineering Task Force (IETF) | www.ietf.org | Internationale Gemeinschaft von kommerziellen und nichtkommerziellen Aktiven im Internet mit dem Ziel, technische Standards im Internet vorzuschlagen.
Internet Society | www.isoc.org | Internationale Organisation für die Kooperation und Koordination von Technologien und Anwendungen im Internet.
W3-Konsortium | www.w3.org | Organisation, die speziell die Weiterentwicklung technischer Standards des World Wide Web koordiniert, etwa HTML oder das HTTP-Protokoll.

Domain Name Service (DNS)

Zur Verwaltung der Domains wurde der Domain Name Service, kurz DNS, eingeführt. Der Domain Name Service arbeitet zonenorientiert. Eine Zone beginnt an einem Kontenpunkt im DNS-Baum und umfasst alle darunter liegenden Zweige. Ein Name Server kann die Autorität über eine Subzone an einen weiteren Name Server delegieren. Die Name Server kennen die jeweilig benachbarten Name Server den nächsthöheren beziehungsweise -tieferen Zone. Aus Sicherheitsgründen gibt es in jeder Zone mindestens zwei aktive Name Server.

Routing

Der Sender eines IP-Datenpakets kennt zwar die Zieladresse, nicht aber den Weg dorthin. Jede Station auf dem Weg des Datagramms zum Empfänger muss eine Entscheidung über die Wahl des weiteren Weges fällen. Dieser Vorgang wird als Routing bezeichnet. Die Wahl einer bestimmten Route ist von verschiedenen Kriterien abhängig. Der Sender übergibt diese Aufgabe einem Standard-Router, der für die Zustellung von Datenpaketen in andere Netze zuständig ist.

Zwischen zwei Hosts liegen in der Regel mehrere Router. Jeder dieser Router verfügt über eine so genannte Routing-Tabelle. Auf Grund derer wird die nächste Station für das Datagramm bestimmt. Jeder Eintrag in der Routing-Tabelle ist durch folgende Informationen spezifiziert:

Feld | Beschreibung
Destination | Zielnetzwerk; dabei kann es sich um eine IP-Adresse oder ein Subnetz handeln
Gateway | Die Adresse des Standard-Gateways, über den das Ziel erreicht werden kann
Flags | Bestimmen die Charakteristika dieser Route: H: Route zu einem Rechner und nicht zu einem Netzwerk. G: Route benutzt einen Gateway U: Route existiert und kann benutzt werden
Refcnt | Gibt an, wie häufig die Route zum Verbindungsaufbau benutzt wurde.
Interface | Gibt den Namen des Netzwerk-Interfaces für die Route an.
Metric | Entspricht der Anzahl von Gateways, die zwischen Absender und Ziel der Daten liegen. Diese Angabe ist vor allem beim dynamischen Routing von Bedeutung.

Routing-Verfahren

Prinzipiell unterscheidet man zwischen drei Routing-Verfahren:
. Statisches Routing über feste Tabelleneinträge
. Default-Routing über einen festen Tabellen-Eintrag
. Dynamisches Routing über ein automatisches Update der Routing-Tabellen

Beim statischen Routing wird für jedes Netzwerk der zuständige Router in die Routing-Tabelle des Rechners eingetragen. So kann man genau nachvollziehen, welchen Weg ein Datenpaket genommen hat. Bei größeren Netzen ist dieses Vorgehen aber nicht sinnvoll, da zu viele Einträge gewartet werden müssten.

Beim Default-Routing wird in die Routing-Tabelle des Rechners eine Adresse eingetragen, an die alle Datenpakete gesendet werden, die nicht aus dem eigenen Netzwerk-Adressbereich stammen.

Beim dynamischen Routing tauschen sowohl Rechner als auch Router Informationen untereinander aus. Dadurch "weiß" jeder Rechner, welcher Weg aktuell der Beste ist. Die Routing-Tabellen müssen nicht von Hand gepflegt werden. Jedes Datenpaket wird über den derzeit optimalen Weg geschickt. Die Kommunikation zwischen den Routern erfolgt über spezielle Router-Protokolle wir RIP (Routing Information Protocol) oder IGRP (Interior Gateway Routing Protocol).

Routing im Internet

Router übernehmen im Internet die Aufgabe des Verbindens von Netzen. Die Router tauschen untereinander so genannte Routing-Informationspakete aus. Der Weg der Datenpakete wird in eine so genannte Routing-Tabelle eingetragen.

Soll ein Datenpaket an ein anderes Netzwerk geschickt werden, muss es zunächst an einen Router vermittelt werden.

Funktion von Routern
. Die Funktion eines Routers besteht darin, den Datenstrom von einem physikalischen Netzwerk auf ein anderes zu leiten, wenn ein Host in einem physikalischen Netzwerk mit einem Host in einem anderen physikalischen Netzwerk kommunizieren muss.
. Die Routing-Funktion kann durch einen normalen Host und die entsprechenden Routing-Softwae realisiert werden, oder auch durch speziell dieser Aufgabe angepasste Geräte.

Damit dies möglich ist, muss der Rechner eine Router-Adresse kennen.

TCP/IP-Architekturmodell

Protokolle der Transportschicht

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Protokolle der Transportschicht

Letztes Update: 22.08.2005 11:42:41

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Protokolle der Transportschicht

Transmission Control Protocol (TCP)

Das Transmission Control Protocol, kurz TCP, ist das verbindungsorientierte Transportprotokoll oberhalb von IP und ist als solches der Schicht 4 (Transportschicht, transport layer) des ISO/OSI-Modells zuzuordnen. Es ist als Military Standard (MIL-STD) 1778 spezifiziert und baut direkt auf dem Internet-Protokoll (IP) auf.

Funktionen von TCP
. Auf- und Abbau von Rechner-zu-Rechner-Verbindungen zwischen adressierten Anwendungen
. Rechner-zu-Rechner-Fehlererkennung und -behebung durch Prüfsummen
. Rechner-zu-Rechner-Flusskontrolle
. Sequencing
. Datenstrom Transfer
. Datenflusssteuerung
. Diese von einem TCP

TCP stellt einen verbindungsorientierten sequenziellen Vollduplex-Datenübertragungsdienst zur Verfügung. Da TCP verlorene, duplizierte oder in falscher Reihenfolge auftretende Daten entdeckt und korrigiert, wird TCP im Gegensatz zu IP auch als zuverlässiger Dienst bezeichnet.

Durch ein Programm der Anwendungsschicht wird TCP zum Herstellen einer Verbindung beauftragt.

TCP erhält die Daten vom Anwenderprogramm als Datenstrom übertragen, teilt diese in maximal 64 Kbyte grosse Segmente ein und vergibt an jedes Segment einen eigenen Header.

Diese von einem TCP Transport Protocol Port zu einem anderen beförderten, maximal 64 Kbyte grossen Segmente sind dabei nicht mit den Datenpaketen (Datagrammen) der Internetschicht zu verwechseln. Von den Benutzerprozessen der über der Transportschicht angesiedelten Anwendungsschicht wird die Segmentstruktur der Daten als kontinuierlichen Datenstrom von Oktetten (Byte) wahrgenommen.

Daran anschliessend werden die Segmente an das Internet Protocol (IP) übergeben, das für die Erstellung der einzelnen Datagramme (Fragmentierung) und deren Versand zuständig ist.

Nach Ankunft der Datagramme beim Empfänger und nach dem Entfernen der Header werden diese wieder an TCP übergeben, das für die Aufarbeitung der Segmente, die Fehlerprüfung und die Übergabe in der richtigen Reihenfolge (Sequencing) als kontinuierlicher Datenstrom an ein Programm der Anwendungsschicht verantwortlich ist.

TCP-3-Way-Handshake

Der Verbindungsaufbau mit dem 3-Way-Handshake lässt sich an einem Verbindungsdiagramm aufzeigen. Ausgangspunkt ist ein ruhender Service (Closed-Modus). Er stellt den Anfangswert einer Verbindung dar. Die Verbindung wird befehlsgesteuert in den Listen-Modus gesetzt. Dies ist der Zustand, bei dem zum anderen TCP-System eine Verbindung aufgebaut werden kann.

TCP-3-Way-Handshake Schema

Befindet sich das System im Listen-Modus, wartet es auf ankommende Syn-Zeichen, um nach dem Eintreffen mit einem weiteren Syn-Zeichen zu antworten und in den "Syn Received"-Modus zu gehen. Wurde ein Syn-Zeichen gesendet, wechselt die Verbindung in den "Syn Send"-Modus. In diesem Modus bleibt das TCP-System, bis es vom Partnersystem als Antwort ein Syn-Zeichen erhält.

Wird auf dieses Syn-Zeichen positiv geantwortet, so gelangt das TCP-System in den "Syn Received"-Modus. Nach der positiven Quittierung des Syn-Zeichens (ACK auf SYN) gelangen Sender und Empfänger in den Established-Modus: Daten können nun zwischen den Rechnern übertragen werden. Nachdem alle Daten übertragen worden sind, nehmen die beteiligten Rechner einen weiteren 3-Way-Handshake vor. Dabei werden Segmente mit dem Bit "No more data from sender" ausgetauscht, um die Verbindung zu schließen.

TCP betrachtet die übertragenen Daten als ununterbrochenen Datenstrom und nicht als eine Reihe unabhängiger Pakete. Das Protokoll ist auch dafür verantwortlich, dass die von IP empfangenen Daten an die richtige Anwendung zugestellt werden. Die Anwendungen werden durch eine 16-Bit lange Portnummer identifiziert.

TCP-Header im Detail

Der TCP-Header verfügt über 12 Parameter und hat bei Nutzung des Feldes Options eine Länge von 32 Bytes, ansonsten 20 Bytes.

Name | Größe (Bits) | Beschreibung
Source Port | 16 | Enthält die Portnummer der Quelldaten.
Destination Port | 16 | Bestimmt den Ziel-Port der Daten. Dieser bleibt für die Dauer der Verbindung gleich.
Sequence Number | 32 | Gibt beim Verbindungsaufbau eine Zufallszahl als "Initial Sequence Number" (ISN) an. Das erste Segment erhält so den Wert ISN+1.
Acknowledge Number | 32 | Bestätigungsnummer für Empfangsquittungen an den Sender.
Data Offset | 4 | Gibt die Anzahl der 32-Bit-Worte im TCP-Header an. Der Eintrag in diesem Feld ist für die Berechnung des Datenteils relevant.
Reserved | 6 | Für zukünftige Anwendungen reserviert; muss immer auf Null gesetzt werden.
Control Flags | 6 | Enthält eine Reihe von so genannten Ein-Bit-Indikatoren, die zum Aufbau, zur Beendigung und zur Aufrechterhaltung von Verbindungen dienen.
Windows Size | 16 | Dient zur Flusskontrolle zwischen Sender und Empfänger. Die Flusskontrolle basiert auf der fortlaufenden Nummerierung der übertragenen Datenpakete.
Checksum | 16 | Enthält eine Prüfsumme, die aus dem TCP-Header und einem 96-Bit-Pseudo-Header gebildet wird.
Urgent Pointer | 16 | Gibt an, dass die TCP-Segmente Informationen mit großer Dringlichkeit transportieren. Solche Segmente werden durch das URG-Flag gekennzeichnet.
Options | 96 | Definiert Diensteoptionen, Optionenart und Optionenlänge. Die aktuellen Optionendaten bestimmen die Länge des Feldes.
Padding | - | Enthält eine variable Bit-Zahl, die sicherstellt, dass der TCP-Header bei Benutzung des Options-Feldes immer im 32-Bit-Format endet.

Alle weiteren Informationen, die zum Senden und Empfangen nötig sind, enthält der gekapselte IP-Header.

TCP Sliding Window

Das Sliding Window Protocol ist eine Methode zur Datenflusskontrolle, bei der ein Empfänger dem Sender die Übertragung von mehreren Segmenten auf einmal ermöglicht. Dies erlaubt eine schnellere Datenübertragung und senkt das Datenvolumen, da der Sender nicht nach jedem Segment auf eine Bestätigung warten muss.

Um also eine höhere Effizienz zu erreichen, wird nicht ein Segment nach dem anderen gesendet, sondern es werden gleich alle Segmente innerhalb eines sogenannten Fensters (Window) gesendet. Auf der Empfängerseite existiert analog dazu ebenfalls ein Fenster, in dem die Pakete aufgenommen und wieder zu einem Strom zusammengesetzt werden.

Sliding Window Schema

Trifft nun die Bestätigung für das erste Segment im Fenster beim Sender ein, so wird das Fenster um ein Segment weitergeschoben (Sliding), und das nächste Segment wird gesendet. Alle Segmente links vom Fenster sind somit bereits bestätigt, alle im Fenster sind gesendet aber noch nicht bestätigt, und Segmente rechts davon sind noch nicht gesendet. Das erste Segment im Fenster ist also das letzte noch nicht bestätigte Paket. Die Größe des Fensters richtet sich nach dem TCP-Puffer des Empfangsrechners, kann aber vom Administrator eines Servers manuell geändert werden.

User Datagramm Protocol (UDP)

Das User Datagram Protocol (UDP) bietet höheren Protokollen einen definierten Dienst zum transaktionsorientierten Versand von Datenpaketen. UDP verfügt nur über minimale Protokollmechanismen zur Datenübertragung. Es setzt unmittelbar auf dem Internet Protocol auf. Da es im Gegensatz zu TCP keine Ende-zu-Ende-Kontrolle garantiert, sind weder die Ablieferung eines Datenpakets beim Empfänger, das Erkennen von Duplikaten oder die reihenfolgerichtige Übermittlung gewährleistet.

Es gibt dennoch eine Reihe von guten Gründen, die dafür sprechen, UDP als Datentransportdienst zu wählen. Wenn nur geringe Datenmengen zu übertragen sind kann es passieren, dass der Verwaltungsaufwand für die Herstellung einer Verbindung und das Sicherstellen einer korrekten Übertragung größer wären als der Aufwand für eine erneute Übertragung der gesamten Daten.

UDP-Header im Detail

Name | Größe ( Bits) | Beschreibung
Source Port | 16 | Enthält die optionale Adresse des Sende-Ports. Bei Antworten auf Datenpakete kann durch die Portadresse der jeweilige Prozess unmittelbar wieder angesprochen werden. Wird vom Sender kein Sende-Port definiert, so wird dieses Feld mit dem Wert "0"übertragen.
Destination Port | 16 | Enthält die Adresse des Empfänger-Ports.
Length | 16 | Definiert die Gesamtlänge des Datenpakets, inklusive Header und Nutzdaten.
Checksum | 16 | Enthält eine optionale Prüfsumme. Der Wert "0" weist darauf hin, dass keine Berechnung erfolgt ist. Die Prüfsumme wird aus dem UDP-Header und einem 96-Bit-Pseudo-Header errechnet.

Hinweis: Alle weiteren Informationen, die zum Senden und Empfangen nötig sind, enthält der gekapselte IP-Header.

Ports und Sockets

Das IP-Datenpaket wird mithilfe der IP-Adresse zum richtigen Empfänger geroutet und muss dort an den richtigen Anwendungsprozess übergeben werden. Mit dem Erreichen des Zielrechners wird zunächst anhand der im IP-Header ausgewiesenen Protokollnummer überprüft, an welches Transportprotokoll die Daten zu übergeben sind.

Die Protokollnummer 6 steht für TCP, 17 für UDP. Das Transportprotokoll muss die Daten dann an den richtigen Anwendungsprozess weiterleiten.

Dieser wird anhand der Portnummer, welche im TCP Segment Header steht, identifiziert. Die Kombination aus Portnummer und IP-Adresse bezeichnet man als Socket, wobei ein kommunizierender Prozess über ein Socket-Paar eindeutig definiert wird.

Funktionen von Sockets

. In der TCP/IP Terminologie ist ein Socket ein aus der IP-Adresse eines Rechner und der für einen bestimmten Dienst charakteristischen Portnummer gebildeter Tupel der Form:
. Sockets werden von einem TCP/IP unterstützenden Betriebssystem beim Aufbau der Verbindung realisiert und können von den Programmen wie beim Zugriff auf Dateien benutzt werden.
. Sockets können geöffnet und geschlossen werden.
. Von Sockets können Daten gelesen oder geschrieben werden.

Die Portnummern umfassen 16 Bit, so dass von einem Rechner maximal 65 535 unterschiedliche Ports realisiert sein können.

Um die Funktion von Portnummern besser zu verstehen, können Sie sich zum Vergleich das System von Telefongesellschaften bzw. einer Telefonanlage vorstellen:

Die Portnummern entsprechen hierbei den Rufnummern der einzelnen Nebenstellenanlagen (Durchwahl), während die Netzadresse der Ortswahl und die Hostadresse der Rufnummer der Zentrale entspricht.

Für bestimmte, häufig benutze Anwendungsprozesse sind feste Portnummern reserviert worden. So sind folgende Portnummern, wie folgt festgelegt worden:

. Port 80 - HTTP (WWW)
. Port 20 u. 21 - FTP
. Port 23 - Telnet
. Port 22 - SSH
. Port 25 - SMTP
. Port 53 - DNS
. Port 70 - Gopher
. Port 119 - NNTP
. Port 110 - POP3 (Post Office Protokoll)
. Port 443 - SSL

Man unterscheidet im übrigen zwischen unterschiedlichen Port-Typen:
. Well-known ports: Bei diesem Typ handelt es sich um reservierte und standardisierte Port-Nummern zwischen 1 und 1023. Dies vereinfacht den Aufbau einer Verbindung, weil sowohl Absender und Empfänger bereits wissen, dass Daten für einen bestimmten Prozess an einen bestimmten Port gesendet werden müssen. So nutzen beispielsweise alle Systeme für Telnet den Port 23.
. Dynamically allocated ports: Diese dynamisch zugewiesenen Ports werden nicht vorab vergeben, sondern erst, wenn ein Prozess einen Port benötigt.

Die Liste der aktuell vergebenen Portnummern wird von der IANA verwaltet.

Tipp: Die IANA Website mit finden Sie unter: www.iana.org

Hinweis: Sämtliche aktuellen Portbelegungen finden Sie unter:
www.iana.org/assignments/port-numbers

Protokolle der Internetschicht

Protokolle der Anwendungsschicht

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Protokolle der Anwendungsschicht

Letztes Update: 22.08.2005 11:59:27

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Protokolle der Anwendungsschicht

Hypertext Transfer Protocol (HTTP)

Das Hyptext Transfer Protocol, kurz HTTP, wurde für den Austausch von Hypertext-Dokumenten entwickelt. Es gibt zwei Versionen, 1.0 und 1.1, wobei die neuere Version 1.1 inzwischen von sämtlichen Browsern (ab Version 4.0) unterstützt wird, allerdings noch nicht allen HTTP-Servern zur Verfügung steht.

Das HTTP-Protokoll setzt auf TCP/IP auf und regelt die Kommunikation von WWW-Servern und WWW-Client. Das HTTP-Protokoll legt das Format, den Inhalt und die Abfolge von Mittelungen zwischen Client und Server fest.

Da sämtliche Mitteilungen als ASCII-Zeichenketten ausgetauscht werden, ist HTTP weitgehend plattformunabhängig.

HTTP ist ein verbindungsloses Protokoll, das bedeutet, dass Server und Client nach jedem Kommando den Prozess beenden und abhängig vom Inhalt von jeweils übermittelten Statusmeldungen im weiteren Verlauf des Kommunikationsprozesses für jedes weitere Kommando einen erneuten Prozess starten.

Die Kommunikation zwischen WWW-Client und WWW-Server erfolgt unter HTTP nach folgendem Ablaufschema:

Der WWW-Client sendet eine Request-Mitteilung an den WWW-Server. Diese wird vom Server mit einer Response-Mitteilung beantwortet. Das HTTP-Protokoll regelt hierbei den Aufbau dieser Mitteilungen. Grundsätzlich bestehen alle HTTP-Mitteilungen aus einer Reihe von Headern sowie, durch eine Leerzeile abgetrennt, dem eigentlichen Inhalt.

Zum Senden einer Request-Mitteilung wird eine TCP/IP-Verbindung zum WWW-Server aufgebaut. Kann der Webserver die angeforderte Seite zur Verfügung stellen, wird das Dokument über dieselbe Verbindung zurückgesendet und die Verbindung wieder geschlossen.

Aufbau eines HTTP-Request

Der Request besteht aus einem Uniform Resource Locator, kurz URL, dem Method-Token, den Header-Informationen sowie einem Entity-Body mit den zu versendenden Daten. Der Aufbau eines Request ist in drei Segmente unterteilt:

Segment | Beschreibung
Status-Line | Enthält den Method-Token.
Header | Enthält die General, Request- und Entity-Header.
Entity-Body | Enthält die zu übertragenden Daten.

Der Method-Token beschreibt die auf das Dokument anzuwendende Methode. Folgende Methoden stehen zur Verfügung. Die aktuelle HTTP-Spezifikation sieht zehn Methoden vor: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT, LINK und UNLINK.

GET-Methode

Die mit Abstand wichtigste Methode ist GET. Sie dient zur Anforderung eines Dokuments oder einer anderen Quelle. Eine Quelle wird dabei durch den Request-URL identifiziert. Man unterscheidet zwei Typen: conditional GET und partial GET. Beim Conditional-GET-Typ ist die Anforderung von Daten an Bedingungen geknüpft. Die genauen Bedingungen sind dabei im Header-Feld "Conditional" hinterlegt. Oft gebrauchte Bedingungen sind zum Beispiel If-Modified-Since, If-Unmodified-Since oder If-Match. Mit Hilfe dieser Bedingung lässt sich die Netzbelastung deutlich verringern, da nur noch die wirklich benötigten Daten übertragen werden. In der Praxis nutzen zum Beispiel Proxyserver diese Funktion, um die mehrfache Übertragung von Daten, die sich bereits im Cache befinden, zu verhindern.

Das gleiche Ziel verfolgt die partielle GET-Methode. Sie verwendet das Range-Header-Feld, das nur Teile der Daten überträgt, die der Client jedoch noch verarbeiten kann. Diese Technik wird für die Wiederaufnahme eines unterbrochenen Datentransfers verwendet.

POST-Methode

Den umgekehrten Weg nimmt die POST-Methode: Sie übermittelt in erster Linie Formulareingaben an einen Webserver. Aber auch die Kommentierung bestehender Quellen, Übermittlung von Nachrichten an Foren und Erweiterung von Online-Datenbanken sind mit POST möglich. Die an den Server übermittelten Daten sind in der Entity-Sektion enthalten. Auch die POST-Methode übermittelt einen URL. In diesem Fall dient dieser lediglich als Referenz, welche Routine auf dem Server die Bearbeitung der Daten übernimmt.

OPTIONS-Methode

Über diese Methode kann der Client Informationen über verfügbare Kommunikationsoptionen abrufen. So lassen sich insbesondere Beschränkungen von Quellen auf einem HTTP-Server oder auch einem Proxyserver ermitteln, ohne das eine bestimmte Aktion eingeleitet oder gar ein Datentransfer stattfindet.

HEAD-Methode

Diese Methode ist GET in seiner Funktionsweise sehr ähnlich. Einziger Unterschied: HEAD fordert lediglich den Header eines Dokuments oder Quelle an. Im Gegensatz zu GET übermittelt der Server aber nicht die eigentlichen Daten. HEAD eignet sich insbesondere dazu, die Größe von Quellen, Typ oder Objektattribute ausfindig zu machen. Der Server übermittelt auf eine HEAD-Anfrage die Metainformationen, die identisch mit den Informationen der GET-Request sind.

PUT-Methode

Dieser Typ erlaubt die Modifikation bestehender Quellen beziehungsweise Erzeugung neuer Daten auf dem Server. Im Unterschied zur POST-Methode identifiziert der URL in der PUT-Request die mit der Anforderung gesendeten Daten selbst, und nicht die Quelle.

DELETE-Methode

Mit Hilfe dieses Typs werden Daten auf dem HTTP-Server gelöscht, die durch den URL identifiziert sind. Das Interessante dabei: Der Löschvorgang muss nicht unmittelbar nach dem Eingang der Anforderung, sondern kann auch zu einen späteren Zeitpunkt erfolgen. Der Server soll laut Spezifikation zumindest die Annahme der Request bestätigen.

TRACE-Methode

Über diese Methode kann der Client Requests verfolgen, die über mehrere Knotenpunkte laufen. Dies ist insbesondere bei der Übermittlung der Request über einen oder mehrere Proxyserver interessant. Das letzte Glied der Kette generiert die Antwort. Die TRACE-Methode dient in erster Linie der Diagnose von Client-Server-Verbindungen. Über das Max-Forwards-Header-Feld bestimmt der Client die maximale Anzahl an Hops. Im Header-Feld "Via" der Antwortnachricht sind alle durchlaufenen Server protokolliert.

CONNECT-Methode

Die CONNECT-Methode ist in der HTTP/1.1-Spezifikation für Verbindungen reserviert, bei denen Proxyserver dynamisch als Tunnel agieren. In der Praxis kann es sich beispielsweise um SSL-Tunnel handeln. Der Tunnelmechanismus ist in der ersten Linie als Durchgang für SSL-gesicherte Verbindungen durch eine Firewall gedacht. In Proxyserver wie MS Proxy, Netscape Proxyserver oder auch WinGate ist diese Methode bereits implementiert. Der Client bestimmt durch die CONNECT-Methode samt Portangabe den Zielrechner. Der Proxyserver baut dann einen Tunnel zum angegebenen Rechner auf, und übermittelt Daten und Kommandos zwischen Client und Server.

LINK-Methode

Stellt einen Beziehung zwischen zwei Webdokumenten her. Die Methode ist nicht genauer spezifiziert und wird praktisch nicht verwendet.

UNLINK-Methode

Hebt eine mit LINK hergestellte Beziehung zwischen zwei Webdokumenten wieder auf. Auch diese Methode ist nicht genauer spezifiziert und wird praktisch nicht verwendet.

HTTP-Requests beinhalten Header-Informationen, und zwar allgemeine Informationen (General Header) sowie weitere Informationen (Request Header und Entity Header).

Die diversen Header enthalten hierbei folgende Informationen:

Header | Beschreibung
General-Header | Allgemeine Informationen, z.B. Cache-Informationen (no-cache, max-age, etc.), Datum von Request und Response (inkl. Zeitzone), zwischengeschaltete Server (Forwarded).
Request-Header | Informationen über Dateiformate, Zeichensätze, Sprachen (Accept-Felder), Angaben über Berechtigungen von Dateizugriffen (Authorization-Feld), Angaben für den Proxy-Cache-Server (If-Modified-Since-Feld), usw.
Entity-Header | Informationen über die im Entity-Body übertragenen Daten, z.B. Informationen, welche Methoden auf das referenzierte Dokument angewendet werden dürfen (Allow-Feld), Angaben mit Informationen über Sprache, Länge, Type und Encoding der zu übertragenden Daten (Content-Felder), Angaben zum Änderungsdatum des Dokuments (Last-Modified-Feld), usw.

Die für die Übertragung vorgesehenen Daten sind im Entity-Body enthalten. Dieser ist bei einem HTTP-Request jedoch in aller Regel leer.

Hier die Struktur eines Request-Headers in einer allgemeinen Form:

METHOD URL HTTP/version
General Header
Request Headers
Entity Header (optional)
[Leerzeile]
Request Entity (falls vorhanden)

Beispiel: Request einer HTML-Seite

GET www.domain.de/verzeichnis1/seite1.html HTTP/1.1
Date Thursday, 20-Oct-03 14:15 GMT
User-agent: Mozilla/4.6
Accept: text/html, text/plain

In der ersten Zeile wird vom Client die Methode (GET), im Anschluss durch ein Leerzeichen getrennt der URL (www.domain.de/verzeichnis1/seite1.html) dahinter, ebenfalls durch ein Leerzeichen getrennt und die HTTP Version (HTTP/1.1) übermittelt.

Die darauf folgenden Zeilen bzw. Felder enthalten Datum und Uhrzeit, welcher Browser verwendet wird und die vom Client akzeptierten MIME-Typen. Bei diesem Nachrichtentyp wird übrigens kein Datenbereich übermittelt.

Aufbau einer HTTP-Response

Eine HTTP-Response ist ähnlich wie ein HTTP-Request aufgebaut, beinhaltet jedoch zusätzlich eine Status-Line und den Entity-Body, der das zu übertragende Dokument enthält. Die Status-Line besteht bei der HTTP-Response aus dem Status-Code und der Reason-Phrase, die eine kurze Erläuterung zum Status-Code enthält.

Hier die Struktur eines HTTP-Response in einer allgemeinen Form:
Die Struktur einer HTTP-Antwort gleicht der einer Anfrage:

HTTP/version Status-Code Reason-Zeile
General Header
Response Header
Entity Header (optional)
[Leerzeile]
Resource Entity (falls vorhanden)

Wie man sieht gleicht die Struktur der eines HTTP-Request.

Bespiel: Response auf einen HTML-Request
Die vom Server kommende Antwort auf einen HTTP-Request, kann zum Beispiel, wie folgt aussehen:

HTTP/1.1 200 OK
Via: HTTP/1.1 proxy_server_name
Server: Apache/1.3
Content-type: text/html, text, plain
Content-length: 78

<html>
<head>
<title>HTTP-Test</TITLE>

</head>
<body>
<p> Ein HTTP/1.1-Absatz</p>
</body>
</html>

Response Codes Kategorien

Die Status Codes sind in fünf Kategorien unterteilt und die erste Stelle des dreistelligen Status-Codes definiert die Art des Response.

Kategorie | Beschreibung
1xx | Informational - Informelle Meldungen: Request erhalten, Bearbeitung wird durchgeführt
2xx | Success - Erfolg: Request wurde erfolgreich erhalten, verstanden und angenommen
3xx | Redirection - Weiterleiten: Weitere Aktionen müssen eingeleitet werden, damit eine Request vollständig bearbeitet werden kann
4xx | Client Error - Clientfehler: Die Request enthält ungültigen Syntax oder kann nicht bearbeitet werden
5xx | Server Error - Serverfehler: Der Server kann eine gültige Request nicht bearbeiten

Auflistung der Response Codes - 1xx

100 Continue
Der Client hat einen Teil seiner Anforderung erfolgreich gesendet und soll damit fortfahren
101 Switching protocols
Der Client wünscht ein anderes und im upgrade-Header angegebenes Protokoll

Auflistung der Response Codes - 2xx

200 OK
Die Anfrage war erfolgreich. Der Client hat eine erfolgreiche Anforderung gestellt. Der Server sendet die angeforderten Informationen mit header und body.
201 Created
Der Client hat mit seiner Anforderung den Server veranlaßt ein neues Dokument bzw. einen URL zu erzeugen.
202 Accepted
Der Client hat eine Anforderung gesendet, die der Server akzeptiert, aber nicht verarbeitet.
203 Non-authoritative information
Der Client erhält vom Server Daten aus einer externen Quelle, die nicht im unmittelbaren Einflußbereich des Servers liegen.
204 No Content
Der Client hat eine erfolgreiche Anforderung gestellt, der Server sendet aber nur header und keinen body zurück. Dies ist z.B. für CGI Programme nützlich, bei denen Web-Formular-Daten ausgelesen werden, die bereits dargestellte Seite aber nicht mehr verändert wird.
205 Reset Content
Der Browser sollte die Seite - z.B. Formularseite - neu aufbauen, um eine neue Eingabe zu ermöglichen.
206 Partial Content
Der Client hat in seiner Anfrage im range-Header angegeben, dass er nur einen Teil des geforderten Dokuments haben möchte. Daten können so in Teilen verarbeitet werden.

Auflistung der Response Codes - 3xx

300 Multiple Choice
Der Client hat eine Anforderung gestellt, für die mehrere Ressourcen in Frage kommen, z.B. Dokumente in mehreren Sprachen. Im Datenbereich kann der Server ggf. diese Quellen aufschlüsseln und dem Client bzw. dem Benutzer damit eine Auswahl ermöglichen.
301 Moved Permanently
Die Client hat einen URL angefordert, die der Server nicht länger benutzt. Die neue Adresse der angeforderten Ressource ist aber bekannt und wird dem Client mitgeteilt, der auch in Zukunft nur noch diese nutzen soll.
302 Moved Temporarily (Found)
Die angeforderte Seite wurde an einen anderen Ort verschoben. Die neue URL ist in URI und Location vermerkt (veraltet - jetzt 307).
303 See other
Der Client hat eine Ressource angefordert, die an anderer Stelle zu finden ist.
304 Not Modified
Der Client hat nachgefragt, ob eine ihm bereits bekannte Ressource zwischenzeitlich verändert ist. Verneint der Server dies, so kann der Client seine lokale Kopie nutzen.
305 Use Proxy
Der Client soll die angeforderte Ressource nicht vom Server, sondern über den angegebenen Proxy beziehen.
306
Wurde in früheren Versionen benutzt, ist jetzt lediglich reserviert.
307 Moved Temporarily
Der Client hat einen URL angefordert, den der Server zur Zeit verschoben hat. Die neue Adresse der angeforderten Ressource wird dem Client mitgeteilt, diese ist jedoch nur temporär gültig und der Client soll in Zukunft die ursprüngliche Adresse nutzen.

Auflistung der Response Codes - 4xx

400 Bad Request
Der Client hat eine syntaktisch falsche Anforderung gestellt.
401 Unauthorized
Der Client hat eine Anforderung auf eine geschützte Ressource gestellt. Dies ist keine Fehlermeldung im engeren Sinne. Der Server sendet mit diesem Status-Code Informationen über die Art der notwendigen Authentifizierung. Web-Browser verlangen daraufhin in der Regel vom Benutzer die Eingabe eines Benutzernamens und eines Passworts und stellen mit diesen Angaben die Anforderung erneut. Schlägt dies dann fehl, so antwortet der Server mit Code 403.
402 Payment required
Der Client hat eine kostenpflichtige Ressource angefordert. Dieser Statuscode ist (noch) nicht HTTP-Bestandteil.
403 Forbidden
Der Client hat eine Anforderung gestellt, die der Server ohne Angaben von Gründen verweigert.
404 Not found
Der Client hat ein Dokument angefordert, das an der angegebenen Stelle nicht existiert.
405 Method not allowed
Der Client hat eine Methode benutzt, die der Server an dieser Adresse nicht erlaubt (z.B. GET statt POST)
406 Not acceptable
Der Client hat ein Dokument angefordert, dessen Format er nach eigenen Angaben im Accept Header nicht unterstützt.
407 Proxy authentication required
Der Client hat eine Anfrage gestellt, die vom Proxy autorisiert werden muss, bevor er ihn weiterleiten kann.
408 Request time-out
Der Client hat in der vom Server vorgegebenen Zeit keine vollständige Anfrage stellen können. Der Server beendet die Verbindung.
409 Conflict
Der Client hat eine Anfrage gestellt, die der Server wegen eines Konflikts, z.B. mit einem anderen Request, nicht wie gewünscht verarbeiten kann bzw. wird. Nähre Angaben sind im Datenbereich enthalten.
410 Gone
Der Client hat einen URL angefordert, der auf dem Server nicht mehr existiert (siehe auch 301, 307 und 404)
411 Length required
Der Client hat an den Server Daten übermittelt, den dieser nicht ohne die im Header Content-length angegebene Größe akzeptiert.
412 Precondition failed
Der Client hat eine oder mehrere If... - Header übermittelt und die darin formulierten Bedingungen konnten nicht erfüllt werden.
413 Request Entity Too Large
Der Client hat eine Anforderung gestellt, die dem Server zu groß ist, z.B. beim Upload von Dateien. Der Server verweigert die Verarbeitung.
414 Request URL too long
Der Client hat einen URL übermittelt, der dem Server zu groß ist, z.B. bei der Übergabe von Formularwerten mittels GET. Der Server verweigert die Verarbeitung.
415 Unsupported Media type
Der Client hat Daten übermittelt, die der Server nicht unterstützt.
416 Request range not satisfiable
Der Client hat in seiner Anfrage im range-Header einen Teilbereich des Dokuments angegeben, der nicht existiert (siehe 206).
417 Expectation failed
Der Client hat im Expect-Header Wünsche geäußert, die der Server nicht erfüllen kann oder will.

Auflistung der Response Codes - 5xx

500 Internal Server Error
Der Server hat bei sich einen Fehler entdeckt, z.B. durch eine fehlerhafte Konfiguration oder durch ein abgestürztes CGI-Programm. In den Log-Files des Servers sollten sich genauere Angaben finden.
501 Not Implemented
Der Server kann die Anforderung des Clients nicht ausführen, weil die nicht unterstützt wird.
502 Bad Gateway
Der Server oder eher der Proxy hat formal ungültige Antworten von einem anderen Server oder Proxy bekommen.
503 Service unavailable
Der Server kann die Anforderung des Clients momentan nicht ausführen. Gegebenenfalls gibt der Server in einem Retry-After-Header zurück, wann der Dienst wieder zur Verfügung steht.
504 Gateway time-out
Der Client hat selbst eine Anfrage an einen Gateway oder Proxy gestellt, die innerhalb der auf dem Server definierten Zeit nicht beantwortet wurde (siehe 408)
505 HTTP version not supported
Der Server unterstützt die in der Anforderung des Clients angegebene HTTP-Version nicht. Im Datenbereich sollte ein Grund dafür angegeben sein.

File Transfer Protocol (FTP)

FTP ist als MIL-STD 1780 spezifiziert und ermöglicht einen vom Betriebssystem unabhängigen Austausch von Dateien zwischen zwei entfernten Rechnern. FTP setzt auf TCP auf und nutzt den Port 20 für die FTP Datenverbindung bzw. Port 21 für FTP Steuerverbindungen. Der FTP-Client hat die Möglichkeit, zwischen verschiedenen Datenformaten zu wählen, z.B. ASCII oder Binär.

Telnet

Das Protokoll Telnet ist im MIL-STD 1782 spezifiziert und ermöglicht den Zugriff auf die am Netz angeschlossenen Rechner in Form einer Terminalsitzung. Hierzu wird eine TCP-Verbindung über Port 23 aufgebaut. Telnet ermöglicht den Zugriff auf die Resourcen eines entfernten Rechners, wobei der Rechner des Clients als Terminal dient. Bei einer Telnet-Verbindung arbeitet der Client so, als wäre er direkt an den entfernten Rechner angeschlossen, dessen Rechnerleistung und dessen Programme er nutzt.

Simple Mail Transfer Protocol (SMTP)

SMTP ist ein auf TCP aufgesetztes einfaches Protokoll für den Austausch von elektronischer Post zwischen verschiedenen Rechnern. Der durch das SMTP-Protokoll geregelte Austausch von E-Mails läuft hierbei wie folgt ab:

Der SMTP-Client baut eine TCP-Verbindung zum Port 25 des SMTP-Servers auf und wartet auf die Reaktion des Servers. Der SMTP-Server senden eine Textzeile, über die er sich identifiziert und mitteilt, ob er bereit ist, Post zu empfangen. Antwortet der Server nicht, wir die Verbindung vom SMTP-Client aufgelöst.

Antwortet der SMTP-Server, gibt der SMTP-Client an, von wem die Nachricht stammt und an wen sie gesendet werden soll. Falls der Empfänger existiert, gibt der Server das Signal zum Senden der E-Mail. Der Client sendet anschliessend die E-Mail, was vom Server bestätigt werden muss. Nach dem Austausch der E-Mails wird die Verbindung wieder abgebaut.

Post Office Protocol (POP)

Bei POP handelt es sich um das Standardprotokoll, mit dem derzeit E-Mail-Clients Nachrichten vom Server lesen. POP wurde bereits 1984 im Zusammenhang mit TCP/IP definiert. Aktuell ist derzeit die Version 3 (POP3).

Ein POP3-fähiger E-Mail-Client stellt die Verbindung zum POP3-Server her und löst die Übertragung der Nachrichten aus. Mit POP3 ist er möglich zu bestimmen, ob gelesene Nachrichten auf dem Server verbleiben oder nach der Übertragung gelöscht werden sollen. Die Löschung einer Nachricht ohne vorherige Übertragung ist ebenfalls möglich.

Internet Message Access Protocol (IMAP)

IMAP ist ein erweitertes E-Mail-Protokoll, welches wesentlich leistungsfähiger ist als POP3. Es wurde entwickelt, um Nachrichten nach Bedarf übertragen zu können. Unter Verwendung von IMAP kann - anders als bei POP3 - ausgewählt werden, welche Daten übertragen werden sollen. Dazu werden zunächst nur die Kopfzeilen übertragen.

Darüber hinaus können mit IMAP hierarchische Mailboxen direkt auf dem Server eingerichtet werden. Unter IMAP ist auch der Zugriff auf verschiedene Mailboxen während einer Verbindung möglich.

IMAP gestattet dem Client auch die Veränderung des Status einer Nachricht, um beispielsweise gelesene Mails als ungelesen zu markieren und umgekehrt sowie das Speichern, Kopieren oder Löschen von Nachrichten direkt auf dem Server, ohne dass diese zuvor dem Client übermittelt werden müssen. Weitere Möglichkeiten von IMAP sind Suchoptionen auf dem Server zur Selektion von Nachrichten.

Protokolle der Transportschicht

Common Gateway Interface

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zend Studio

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zend Studio

Das Zend Studio stellt wohl eine der umfangreichsten PHP Entwicklungsumgebungen dar. Es handelt sich hierbei um eine auf JAVA basierende IDE.

Tipp: Sollten Sie ein Installations-Kit, wie XAMPP im Einsatz haben ist es vollkommen ausreichend die Zend Studio Client Version zu installieren.

Der Preis der Basisversion ist im Vergleich zu C++/Java - IDE's minimal, erst wenn man seine Projekte Compilieren möchte wird es teuer, aber der Einsatz dieser finanziellen Mittel lohnt sich auf jeden Fall.

Da die Entwicklungsumgebung auf JAVA basiert stehen für sämtliche gängigen Systeme Distributionen zur Verfügung, z.B. Windows, Linux, MacOS X, etc.

Jeder, der viel mit PHP entwickelt und zeit bei der Entwicklung sparen möchte, dem sei dieses Tool ans Herz gelegt.

Entwicklungsumgebungen vs Editoren

Maguma Workbench

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP als Skriptsprache

Letztes Update: 22.08.2005 12:04:48

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP als Skriptsprache

PHP ist nahezu eine vollständige Programmiersprache, welche über ein Variablenkonzept, Kontrollstrukturen und eine Vielzahl von Funktionen verfügt. Grundsätzlich könnte PHP auch als Objektorientierte Programmiersprache durchgehen, da seit PHP 4 ein Objektkonzept vorhanden ist, welches in PHP 5 ausgebaut wurde. Die Programmierung stützt sich überwiegend auf Funktionen. PHP wird nicht kompiliert, sondern vom Server mit Hilfe des PHP-Interpreters interpretiert. Wieso haben wir PHP lediglich als "nahezu vollständige Programmiersprache" bezeichnet. Ganz einfach zur Ausgabe fehlen die grafischen Routinen. Um beispielsweise ein Eingabeformular zu erzeugen, ist PHP auf HTML angewiesen.

Dynamische Websites

Wie arbeitet PHP?

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP + Erweiterungen

Letztes Update: 22.08.2005 12:10:07

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP + Erweiterungen

Die benötigten PHP-Dateien für die Installation von PHP auf Ihrem lokalen Rechner erhalten Sie unter folgender Adresse:

www.php.net

Software für Web-Anwendungen

Webserver

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Webserver

Letztes Update: 22.08.2005 12:10:43

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Webserver

Bei der Auswahl eines Webservers, von denen Ihnen eine Vielzahl zur Verfügung steht raten wir Ihnen den Apache Webserver einzusetzen, dieser läuft äusserst stabil und zuverlässig.

PHP läuft unter anderem auf folgenden Webservern:
. Apache
. Samba
. Microsoft Internet Informationen Server (IIS)
. Personal Web Server (PWS)
. OmniHTTPD

Den Apache Webserver erhalten Sie unter folgender Adresse:
www.apache.org

PHP + Erweiterungen

Datenbank

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenbank

Letztes Update: 22.08.2005 12:11:20

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenbank

PHP verfügt über eine Reihe von Funktionen, welche den Einsatz von Datenbanken in Verbindung mit PHP ermöglichen. Sollten Sie daher für komplexere Web-Anwendungen auf eine Datenbank zurückgreifen wollen, stehen Ihnen auch hierfür diverse Datenbanksysteme zur Verfügung mit denen PHP ohne weiteres zusammenarbeitet.

Die wichtigsten der von PHP unterstützten Datenbanken sind in der folgenden Auflistung zusammengestellt.
. Adabas D
. Dbase
. FilePro
. Informix
. MSQL
. MySQL
. Oracle
. PostgreSQL
. Solid
. Sybase
. Unid dbm
. Velocis

Insbesondere unterstützt PHP den Zugriff auf MySQL-Datenbankserver, da hierfür eine Vielzahl von Funktionen zur Verfügung stehen.

Eine umfangreiche Anzahl von ODBC-Funktionen ermöglicht zusätzlich den Zugriff auf ODBC-Datenbanken.

Wir empfehlen den Einsatz eines MySQL-Datenbankservers. Sie erhalten die benötigten Dateien unter folgender Adresse:
www.mysql.org

Webserver

Browser

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Browser

Letztes Update: 22.08.2005 12:11:50

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Browser

Da die Entwicklung von PHP basierten Web-Anwendungen nur einen Sinn macht, wenn diese in einem Browser ablaufen, benötigen Sie auch noch einen beliebigen Browser.

Hier eine Liste der gängigen Browser:
. Microsoft Internet Explorer
. Netscape
. Mozilla
. Opera
. Apple Safari

Datenbank

Editor

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Maguma Workbench

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Maguma Workbench

Mit der Workbench wendet sich Maguma an den ambitionierten PHP-Programmierer, der auch in komplizierten Skripten den Überblick behalten will. Wir finden, dies ist dem Maguma Team durchweg gelungen und die Workbench brauch den Vergleich mit der Zend Studio Entwicklungsumgebung nicht zu scheuen.

Die Workbench steht z.Z. in zwei Versionen zur Verfügung:
. Workbench 2.0.51
. Workbench 2.1.0

Die Version 2.1.0 unterstützt PHP 5 und steht als Distribution sowohl für Windows als auch Linux zur Verfügung.

Zend Studio

DEV-PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Editor

Letztes Update: 22.08.2005 12:15:17

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Editor

PHP-Editoren sind Programme, mit denen man PHP-Dateien bequem editieren kann. PHP-Dateien sind problemlos mit jedem Editor zu öffnen, da es sich um einfache Text-Dateien handelt. Mit speziell auf die Bedürfnisse von PHP-Usern zugeschnittenen Funktionen schlagen die folgenden PHP-Editoren natürlich Notpad, Simpletext oder vi um Längen.

Produkt | URL | Art
PHPEd | www.soysal.com | Freeware
PHPEdit | www.phpedit.com | Freeware
Weaverslave | www.weaverslave.de | Freeware
tsWebEditor | tswebeditor.net.tc | Freeware

Soll es eine Ausgewachsene PHP-Entwicklungsumgebung sein, welche auch als IDE bezeichnet werden, hätten wir hier drei zur Auswahl.

Produkt | URL | Art
Zend Studio | www.zend.com | Kommerziell
Symtec Development Studio | www.nostalb.de | Freeware
Maguma Studio Light for PHP | www.maguma.com | Freeware

Tipp: Eine umfangreiche Liste mit weit mehr als 100 Editoren finden Sie unter folgender Adresse: phpeditors.linuxbackup.co.uk

Maguma Studio for PHP

Maguma Studio for PHP ist eine IDE auf Quellcodeebene, ausgestattet mit allen Eigenschaften, die von Entwicklungsumgebungen anderer Sprachen bekannt sind.

Durch die enge Integration vom PHP Interpreter und der PHP Dokumentation wird dem Entwickler ein zeitsparender Entwicklungseditor zur Verfügung gestellt. Eigenschaften sind die volle Integration des PHP Interpreters und der PHP Dokumentation, eingebautes Vorschaufenster, volle Syntaxhervorhebung für HTML und PHP, AutoComplete für häufig verwendete Textkonstrukte, Tag Buttons und alle Standardfunktionen für die Bearbeitung wie Rückgängig, Kopieren, Einfügen, Suchen usw. Im Vergleich zu IDEs von anderen Sprachen ist die Dateigröße des Editors klein und kann dementsprechend schnell geladen werden.

Maguma stellt der PHP Community Maguma Studio Light for PHP kostenlos zur Verfügung.

Maguma Studio eignet sich nicht nur für die Bearbeitung von PHP-Sktipten sondern auch für andere Programmiersprachen.

Browser

Einführung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


DEV-PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

DEV-PHP

Natürlich soll Ihnen eine kostengünstige Alternative nicht vorenthalten werden. Es handelt sich um ein OpenSource Projekt diverser PHP-Entwickler, wie Leonardo Garcia und Mäder Urs, die es sich zur Aufgabe gemacht haben eine freie PHP-Entwicklungsumgebung unter dem Namen DEV-PHP zur Verfügung zu stellen.

Maguma Workbench

Integration von PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Notationshinweise

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Notationshinweise

Am Anfang ist die Versuchung gross, unübersichtliche Skripte zu erstellen. Da Leerzeichen, Zeilenumbrüche und Tabulatoren vom PHP-Interpreter ignoriert werden. Sie können eine HTML-Seite samt PHP-Bestandteil, wie folgt schreiben:

<html>
<head><title>Erste Schritte</title></head>
<body><?php echo "Dies ist ein Test" ?>
</body>
</html>

aber auch so:

<html>
<head>
    <title>Erste Schritte</title>
</head>
<body>
<?php
    echo "Dies ist ein Test"
?>
</body>
</html>

Je nach Umfang des in PHP geschriebenen Codes wird die eine oder andere Variante günstiger sein. Eine optisch eindeutige Trennung von HTML und PHP hat sich in der Praxis als sinnvoll erwiesen. Im nächsten Abschnitt wird das Einschliessen von Dateien vorgestellt. Sie sollten so oft, wie möglich Ihre PHP-Bestandteile auslagern. Diese Dateien werden dann Module genannt. Sie können so den Code in der HTML-Seite überschaubar halten. Bei grösseren Anwendungen vereinfacht sich die Wartung deutlich.

Achtung: Befehle werden in PHP generell mit einem Semikolon abgeschlossen, lediglich wenn der Befehl allein zwischen steht, ist dies optional.

Integration von PHP

Einbindung externer Skripte

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einbindung externer Skripte

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einbindung externer Skripte

Include

Der Befehl include("dateiname"); fügt an dieser Stelle den Inhalt der Datei 'dateiname' ein. Dadurch ist es möglich, Quellcode, der in mehreren Dateien benötigt wird, zentral zu halten, sodass Änderungen einfacher durchzuführen sind.

Die Datei, die eingefügt wird, wird als HTML-Code interpretiert. Deshalb muss, wenn in der Datei nur PHP-Code steht, diese Datei mit <?php anfangen und mit ?> enden bzw. mit anderen PHP-Code-Markierungen.

Wenn include() in Verbindung mit Bedingungen oder Schleifen eingesetzt wird, muss es immer in geschweiften Klammern geschrieben werden.

// Falsch
if ( $Bedingung )
include ("Datei.inc");

// Richtig
if ( $Bedingung ) {
include ("Datei.inc");
}

require

Ganz analog zu include() funktioniert require(). Es wird aber von PHP etwas anders behandelt. Der require()-Ausdruck wird beim ersten Aufruf durch die Datei ersetzt. Wie bei include() wird erst einmal aus dem PHP-Modus herausgegangen. Es gibt drei wesentliche Unterschiede zu include():

. Zum einen wird require() immer ausgeführt, also auch dann, wenn es eigentlich abhängig von einer IF-Anweisung nicht ausgeführt werden dürfte;
. Zum anderen wird es innerhalb einer Schleife (for,while) nur ein einziges Mal ausgeführt - egal, wie oft die Schleife durchlaufen wird, der Inhalt der eingefügten Datei wird mehrmals abgearbeitet.
. Zum dritten liegt der Unterschied in der Reaktion auf nicht vorhandene Dateien: include() gibt nur ein "Warning" aus und PHP läuft weiter, bei require() bricht PHP mit einem "Fatal error:" ab.

// Schreibweisen
require 'funktionen.php';
require $datn;
require ('funktionen.txt');

include_once, require_once

Seit PHP4 gibt es neben den Funktionen include() und require() auch noch die Funktionen include_once() und require_once(). Der Name zeigt schon, wo der Unterschied liegt: Bei den *_once() Funktionen wird die Datei nur einmal eingefügt, unabhängig davon, wie häufig man versucht, sie einzufügen.

Der Sinn ist einfach: Bei umfangreichen Webseiten gibt es häufig eine Datei, die die zentralen Funktionen enthält. Da diese in den Webseiten benötigt werden, fügt man sie immer am Anfang ein. Soweit kein Problem. Sobald aber mehrere zentrale Funktionsdateien existieren, die sich auch untereinander benötigen, wird es schwierig, weil jede nur einmal eingefügt werden darf.

Tipps im Umgang mit externen Dateien

Normalerweise können Nutzer den Inhalt der Skripte nicht sehen. Jede Datei mit der Endung .php3, .php4 oder .php wird vom Webserver an den PHP-Interpreter weitergeleitet und von diesem verarbeitet. Es ist natürlich ohne weiteres möglich jede andere Endung anzugeben. Oft werden Dateien, dit mit include eingeschlossen werden sollen, mit .inc bezeichnet. Auch diese Endung wird nicht verarbeitet. Das ist für den Ablauf des Skripts egal - die Verarbeitung erfolgt im Rahmen des "umgebenden" Skripts und damit unter dessen Regie.

Was jedoch nicht egal sein dürfte, ist das damit aufkommende Sicherheitsproblem. Sollte ein Nutzer den Pfad zu den Include-Dateien herausbekommen, kann er deren Namen in der Adresszeile des Browsers direkt eingeben. Der Webserver wird die Endung nicht kennen und dem Browser die Datei direkt zu senden. Dieser erkennt ein einfaches Textdokument und stellt ihn dar. Da in Include-Dateien auch Kennwörter für Datenbanken stehen können, wäre diese äusserst problematisch.

Diese Problem kann man jedoch recht schnell beseitigen. Benennen Sie sämtliche Include-Dateien mit .inc.php um. So haben Sie eine eindeutige Kennzeichnung und erzwingen im Notfall das Parsen des Codes durch den PHP-Interpreter. Das mag zwar zu einer Fehlermeldung führen, sollte diese Datei einzeln aufgerufen werden, an den Inhalt gelangt der Nutzer dennoch nicht.

Notationshinweise

PHP und JavaScript

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP und JavaScript

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP und JavaScript

Oft wird von der Kombination PHP-JavaScript gesprochen. Beides hat direkt nichts miteinander zu tun. JavaScript wird im Browser abgearbeitet und PHP auf dem Server. Beide Sprachen basieren auf dem ECAMScript 3 Standard, daher sind eine Vielzahl von Sprachbestandteilen in Ihrer Anwendung und Syntax identisch. Betrachten Sie JavaScript als Erweiterung zu HTML. Der neueste Entwicklungsstand DHTML geht ohnehin von JavaScript als Anweisungssprache aus.

Selbstverständlich können Sie ebenso wie HTML auch JavaScript-Anweisungen dynamisch erzeugen oder mit variablen Attributen versehen. Es bleibt Ihnen überlassen, was Sie darauss machen.

Wir werden im übrigen nicht näher auf JavaScript eingehen, Sie können uns glauben PHP ist spannend genug.

Einbindung externer Skripte

Einführung in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Ausdrücke

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Ausdrücke

Sollte man PHP mit einem Satz charakterisieren wollen, könnte man sagen, dass es sich um eine ausdrucksorientierte Sprache handelt.

Dadurch stellt sich gleich zu Begin die Frage, was ist ein Ausdruck? Ein Ausdruck ist ganz allgemein eine Aneinanderreihung von Zeichen unter Beachtung einer vorgegebenen Syntax. Ausdrücke können ganz unterschiedlich aufgebaut sein. Das wichtigste Charakteristikum von Ausdrücken ist, dass sie immer einen Wert - und sei es den Wert 0 oder "" (leer String) - besitzen.

Ausdrücke stellen somit die wichtigsten Komponenten von PHP dar.

Elementare Ausdrücke

Der folgende Ausdruck ist im vorstehenden Sinne ein gültiger, elementarer PHP-Ausdruck.
1000

Es handelt sich um eine Integer-Konstante mit dem Wert 1000. Weitere elementare Ausdrücke sind beispielsweise Konstanten und Variablen.

Zusammengesetzte Ausdrücke

Zusammengesetzte Ausdrücke entstehen dadurch, dass elementare Ausdrücke mithilfe von Operatoren verknüpft oder dass Werte von Ausdrücken mithilfe von Zuweisungsoperatoren anderen Ausdrücken zugewiesen werden.

In der folgenden Anweisung wird dem Ausdruck $zahl der Ausdruck 1000, d.h. eine Integer-Konstante mit dem Wert 1000 zugewiesen.
$zahl = 1000;

Nach dieser Zuweisung ist der Wert von $zahl ebenfalls 1000. Somit sind hier zwei Werte im Spiel:
. Der Wert der Integer-Konstanten, nämlich 1000
. Der Wert von $zahl, der auf 1000 geändert wird

In der folgenden Anweisung wird dem Ausdruck $punkte der Ausdruck $zahl zugewiesen.
$punkte = $zahl;

Der gesamte Ausdruck, also $punkte = $zahl, hat aufgrund des vorhergenden Ausdrucks nun den Wert 1000. $punkte ist also ebenfalls ein Ausdruck mit dem Wert 1000. Der Ausdruck $punkte = $zahl ist dabei gleichbedeutend mit dem Ausdruck $punkte = $zahl = 1000.

Funktionen als Ausdrücke

Ein weiteres Beispiel für Ausdrücke sind Funktionen. Funktionen sind ebenfalls Ausdrücke mit dem Wert ihres Rückgabewertes. Die folgende Funktion wert() ist also ein Ausdruck mit dem Wert 1000.

<?php
function wert() {
    return 1000;
}
// Ausgabe (1000)
echo wert();
?>

Bei dem zusammengesetzten Ausdruck:
$resultat = wert();

handelt es sich somit ebenfalls um einen Ausdruck mit dem Wert 1000.

Prä- und Post-Inkrement in Ausdrücken

Komplexere Ausdrücke in PHP verwenden die von der Sprache C bekannten Prä- und Post-Inkremente sowie die entsprechenden Dekremente.

Sowohl Prä-Inkremente als auch Post-Inkremente erhöhen den Wert einer Variablen. Der Unterschied besteht im Wert des Inkrement-Ausdruckes:
. Das Prä-Inkrement, welches ++$var geschrieben wird, enthält als Wert den Wert der erhöhten Variablen.
. Das Post-Inkrement, welches $var++ geschrieben wird, enthält dagegen den ursprünglichen Wert der Variablen vor der Erhöhung, d.h., PHP erhöht den Wert der Variablen erst, nachdem es ihren Wert ausgelesen hat.

Beispiel - Prä-Inkrement

<?php
$zahl = 1000;
echo ++$zahl;
?>

Ausgabe

1001

Beispiel - Post-Inkrement

<?php
$zahl = 1000;
echo $zahl++;
?>

Ausgabe

1000

Wann ist ein Ausdruck wahr?
Oft ist man nicht am spezifischen Wert eines Ausdrucks interessiert, sondern be-wertet lediglich, ob der Ausdruck Wahr oder Falsch ist.

PHP kennt die Boolschen Konstanten TRUE (1) und FALSE (0). Ein Ausdruck ist in PHP dann Wahr, wenn ihm, wie im folgenden Beispiel, die Boolesche Konstante TRUE oder ein anderer Ausdruck, dessen Wert TRUE ist, zugewiesen wurde.

<?php
$signal = TRUE;
echo "$signal";
?>

Ausgabe

1

Vergleichsausdrücke

Eine weitere, auf dem im vorigen Abschnitt eingeführten Wahrheitswert basierende Kategorie von Ausdrücken sind die Vergleichsausdrücke. Vergleichsausdrücke werden, z.B. in bedingten Anweisungen unter Verwendung von Vergleichsoperatoren eingesetzt:
if ($signal == TRUE) Anweisung;

In Vergleichsausdrücken wird immer der Wert zweier Teilausdrücke verglichen. Der Wert des Gesamtausdrucks ist, abhängig vom Ergebnis des Vergleichs, entweder also Falsch (0) oder Wahr (1).

Kombinierte Zuweisungs- und Operator-Ausdrücke

Sollten Sie schon mit der Sprache C gearbeitet haben, kennen Sie die Möglichkeit, Zuweisungs- und Operator-Ausdrücke zu kombinieren. In PHP ist dies ebenfalls möglich.

Um zum Beispiel den Wert einer Variablen um 100 zu erhöhen, kann in einer Anweisung der folgende Ausdruck verwendet werden:
$zahl += 100

Das ist gleichbedeutend mit:
"Nehme den Wert von $zahl, addiere 100 hinzu und weise den entstandenen Wert der Variablen $zahl zu".

In solchen kombinierten Zuweisungs- und Operator-Ausdrücken kann jeder Operator, der zwei Elemente verbindet, zusammen mit einem Zuweisungsoperator verwendet werden.

<?php
$zahl = 100;
echo $zahl *= 10;
?>

Ausgabe

1000

Konditionale Operatoren in Ausdrücken

Ein weiterer Typ von Ausdrücken, der in PHP oft gebraucht wird und den Sie vielleicht von der Sprache C her kennen, ist der dreifache konditional Operator:
Ausdruck ? Ausdruck2 : Ausdruck3

Wenn der Wert des ersten Ausdrucks Wahr ist, dann wird der Wert des zweiten Ausdrucks zurückgeben. Andernfalls, d.h., wenn der Wert von Ausdruck1 Falsch ist, nimmt der Wert des Gesamtausdrucks den Wert des dritten Ausdruckes an.

Beispiel

<?php
$punkte = 1000;
$highscore = 500;
$resultat = ($highscore > $punkte ) ? "Alter" : "Neu";
echo $resultat;
?>

Ausgabe

Neu

Beispiel

<?php
$punkte = 500;
$highscore = 1000;
$resultat = ($highscore > $punkte ) ? "Alter" : "Neu";
echo $resultat;
?>

Ausgabe

Alter

Einführung in PHP

Anweisungen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Anweisungen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anweisungen

Anweisungen werden zur Laufzeit eines Programms abgearbeitet und bewirken in der Regel Änderungen an Datenobjekten oder Interaktionen mit der Programmumgebung.

PHP kennt folgende Anweisungen:
. Zuweisungen
. Funktionsaufrufe
. Schleifen
. Bedingungen

Anweisungen werden in PHP wie in der Programmiersprache C mit einem Semikolon beendet.

Beispiel

<?php
echo ("Hallo Welt!");
?>

Ausgabe

Hallo Welt!

Nachdem Sie genau wissen, was ein Ausdruck ist, fällt die Definiton des Begriffs Anweisung nicht mehr schwer. Eine Anweisung ist ein Ausdruck, gefolgt von einem Semikolon, und hat somit die Form:

Ausdruck ;

Gültige Anweisungen

<?php
$vorname = "Gülten";
echo $vorname;
?>

Ausdrücke

Codezeile

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Codezeile

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Codezeile

Eine Codezeile in PHP muss immer mit einem Semikolon beendet werden. Diese Schreibweise hat sich bei den nach der ECMA-Spezifikation genormten Programmiersprachen durchgesetzt, zu denen unter anderem auch JavaScript gehört.

Beispiel

<?php
// Array - Codezeilen mit Semikolon
$personen = array();
$personen[0] = "Caroline";
$personen[1] = "Matthias";

// Ausgabe - Matthias
echo $personen[1];
?>

Anweisungen

Semikola

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Semikola

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Semikola

Semikolons legen in PHP das Ende einer Anweisung fest. Dies basiert auf Programmiersprachen wie C/C++ oder Java. Zusätzlich dient es als Abgrenzung der Anweisungen untereinander.

Beispiel

<?php
// Schreibweise - Fehlerfrei
$vorname = "Caroline";
$nachnName = "Kannengiesser";

// Schreibweise - Fehlerhaft
$vorname = "Caroline"
$nachname = "Kannengiesser"
?>

Sie sollten möglichst, auf das Setzen der Semikolons achten.

Achtung: Anweisungsblöcke oder Kontrollstrukturen werden nicht in jeder Zeile mit einem Semikolon abgeschlossen, besonders dann nicht, wenn bereits ein Block Trennzeichen, wie , z.B., eine geschweifte Klammer, existiert.

Beispiel

<?php

$signal = true;

if ($signal == true) {;
    echo "Signal ist true";
} else {;
    echo "Signal ist false";
};
?>

Das Beispiel ist Syntaktisch gesehen fehlerfrei und wird auch korrekt ausgeführt. Nur ist dies etwas zu viel des Guten, folgende Schreibweise wäre zu empfehlen.

<?php

$signal = true;

if ($signal == true) {
    echo "Signal ist true";
} else {
    echo "Signal ist false";
}
?>

Beispiel

<?php
for ($i = 0; $i <= 10; $i++) {;
    echo "Wert: " . $i . "<br>";
};
?>

Besser

<?php
for ($i = 0; $i <= 10; $i++) {
    echo "Wert: " . $i . "<br>";
}
?>

Wie Sie sehen, veranschaulichen diese beiden Fallbeispiele die korrekte Platzierung des Semikolons in einem Anweisungsblock. Bei der Definition einer Funktion kann am Ende ein Semikolon gesetzt werden, dies ist jedoch optional.

Beispiel

<?php
// Definition
function addition($zahlEins,$zahlZwei) {
    return $zahlEins + $zahlZwei;
};

// Aufruf der Funktion
$resultat = addition(10,5);

// Ausgabe
echo $resultat;
?>

Codezeile

Leerzeichen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Leerzeichen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Leerzeichen

PHP ignoriert Leerzeichen, Tabulatoren und Zeilentrenner, solange die im Programm enthaltenen Schlüsselwörter, Bezeichner, Zahlen und andere Einheiten nicht durch ein Leerzeichen oder Zeilenumbruch getrennt werden.

Beispiel

<?php
function setze
Ausgabe ($parameter wert) {
    echo $par ameter wert;
}
setzeAusgabe("Ausgabe bitte!");
?>

Dieses Fallbeispiel wäre vielleicht, unter dem Aspekt künstlerische Freiheit betrachtet, ein schönes Bild, syntaktisch jedoch leider eine Katastrophe. Genau dies sollte man vermeiden.

Beispiel

<?php
function setzeAusgabe ($parameterwert) {
    echo $parameterwert;
}
setzeAusgabe("Ausgabe bitte!");
?>

So sollte sich der PHP Code darstellen. Es bleibt Ihnen überlassen, Leerzeichen, Tabs und Zeilentrenner zu verwenden, nur diese sollten die Syntax Regeln beachten, dann steht einer optimalen Formatierung des Code nichts im Weg, so dass die Programme leicht lesbar und verständlich sind.

Hinweis: Leerzeichen werden auch als Whitespace bezeichnet!

Semikola

Gross- und Kleinschreibung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Gross- und Kleinschreibung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Gross- und Kleinschreibung

In Sprachen, die zwischen Gross- und Kleinschreibung unterscheiden, würden die folgenden beiden Ausdrücke zwei eigenständige Variablen erzeugen.

Beispiel

<?php
// Variablen
$zahl = 1000;
$Zahl = "tausend";

// Ausgabe 1000
echo $zahl;
?>

Der in PHP integrierte Standard erwartet dies auch, die Gross- und Kleinschreibung ist durchgängig zu beachten. Nun kommt es zu einem Problem. PHP wurde kontinuierlich weiter entwickelt. Daher werden auch folgende Schreibweisen zugelassen:

<?php
function AkTdAtuM() {
    $zeit = Time();
    $datum = GeTDatE($zeit);
    echo $datum[mday] . ". " . $datum[month] . " " . $datum[year];
}

// Ausführen - 10. December 2003
aktdatum();
?>

Besser

<?php
function aktDatum() {
    $zeit = time();
    $datum = getdate($zeit);
    echo $datum[mday] . ". " . $datum[month] . " " . $datum[year];
}

// Ausführen - 10. December 2003
aktDatum();
?>

Der Schlüssel zum Erfolg ist es, eine einheitliche Schreibweise einzuhalten. Man sollte im Quelltext einen Stil beibehalten und nicht immer mal gross und mal klein schreiben. Syntaktisch wäre es zwar in den Meisten Fällen nicht falsch, öffnet jedoch in vielen Fällen Syntaxfehlern Tür und Tor.

Leerzeichen

Geschweifte Klammern

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Geschweifte Klammern

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Geschweifte Klammern

In PHP nehmen die geschweiften Klammern einen besonderen Platz ein. Die PHP-Anweisungen werden, wie im folgenden Skript dargestellt, mit geschweiften Klammern ({}) zu Blöcken zusammengefasst:

Beispiel

<?php
$signal = true;

if ($signal == true) {
    //Anweisungsblock
    echo "Signal ist true";
    $signal = false;
}
?>

Gross- und Kleinschreibung

Runde Klammern

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Runde Klammern

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Runde Klammern

Dienen zum Zusammenfassen von bevorzugten Operationen, wie ,z.B., um anderen Operationen nachzustellen?. Außerdem können Sie mit Hilfe von runden Klammern die Reihenfolge der Verarbeitung von PHP-Operationen festlegen.

Beispiel

<?php
// Berechnung wertEins
$wertEins = 10 * 2 + 3;
// Berechnung wertZwei
$wertZwei = 10 * (2 + 3);

// Ausgabe (23)
echo $wertEins;
// Ausgabe (50)
echo $wertZwei;
?>

Beim Definieren einer Funktion werden die Parameter in runde Klammern gesetzt:

Beispiel

function meineFunktion ($vorname, $nachname, $anschrift){
    ...
}

Bei Aufrufen einer Funktion werden alle zu übergebenden Parameter in runde Klammern gesetzt:

meineFunktion ("Mike","Müller","Kapweg 10");

Geschweifte Klammern

Schlüsselwörter

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Schlüsselwörter

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Schlüsselwörter

Es gibt eine Reihe von reservierten Wörtern in PHP. Das sind Wörter, die im PHP-Code nicht als Bezeichner (wie , z.B., als Namen für Variablen, Funktionen etc.) verwendet werden dürfen.

Reservierte PHP Schlüsselwörter

and | E_PARSE | old_function
$argv | E_ERROR | or
as | E_WARNING | parent
$argc | eval | PHP_OS
break | exit() | $PHP_SELF
case | extends | PHP_VERSION
cfunction | FALSE | print()
class | for | require()
continue | foreach | require_once()
declare | function | return()
default | $HTTP_COOKIE_VARS | static
do | $HTTP_GET_VARS | switch
die() | $HTTP_POST_VARS | stdClass
echo() | $HTTP_POST_FILES | $this
else | $HTTP_ENV_VARS | TRUE
elseif | $HTTP_SERVER_VARS | var
empty() | if | xor
enddeclare | include() | virtual()
endfor | include_once() | while
endforeach | global | __FILE__
endif | list() | __LINE__
endswitch | new | __sleep
endwhile | not | __wakeup
E_ALL | NULL |

Hinweis: Die Tabelle erhebt keinen Anspruch auf Vollständigkeit!

Runde Klammern

Zuweisungen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zuweisungen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zuweisungen

Sie haben in den PHP-Beispielen bereits Variablen im Einsatz gesehen. Bei der Zuweisung der Variablenwerte gilt es folgendes zu beachten: Wenn man der Variablen $a den Wert der Variablen $b zuweisen will, muss man dies mit Hilfe des Zuweisungsoperators (Gleichheitszeichen) durchführen. Das bedeutet aber auch, dass man Vergleiche in PHP nicht mit dem einfachen Gleichheitszeichen durchführen kann. Wie man dies erreicht, erfahren Sie noch im Abschnitt Operatoren.

Zuweisung (Variable $a u. $b):

$a = $b;

Schlüsselwörter

Echo-Befehl

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Echo-Befehl

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Echo-Befehl

Der wichtigste Befehl, der Ihnen bei PHP über den Weg laufen wird, ist der echo-Befehl. Mit ihm haben Sie die Möglichkeit, Strings auszugeben. Der Text, der ausgegeben werden soll, muss natürlich in Anführungsstrichen stehen, da der Server sonst versucht, ihn als PHP-Befehl zu interpretieren. Dieses Vorgehen wird Quoten oder Quoting, von engl. to quote: zitieren genannt.

Bei den Anführungsstrichen gibt es zwei verschiedene:
. das einfache '
. das doppelte "

Es gibt auch einen Unterschied zwischen den beiden:
. Bei den doppelten Anführungsstrichen versucht der Server, den Text zu interpretieren.
. Bei den einfachen hingegen behandelt er ihn nicht speziell, sondern gibt ihn direkt aus.

$punkte = 1000;
echo 'Der akt. Punktestand $punkte !\ n';
echo "Der akt. Punktestand $punkte !\ n";

Das erste echo gibt "Der akt. Punktestand $punkte !\ n" aus, das zweite hingegen "Der akt. Punktestand 1000 !" mit folgendem Zeilenumbruch.

echo "Mein \" Name \" ist Hase ";

Die Ausgabe bei diesem echo ist "Mein "Name" ist Hase". Wie man sieht, müssen doppelte Anführungsstriche, die ausgegeben werden sollen, besonders gekennzeichnet werden. Diesen Vorgang nennt man Escapen . Es ist insbesondere für das Ausgeben von HTML-Quelltext in Verbindung mit echo und print nötig und kann zu Problemen führen, wenn man vergisst, in allen Teilstrings zu quoten.

Hinweis: Beim Escapen entkommt das escapte Zeichen der Interpretierung durch den Sprachinterpreter, in vorliegenden Fall PHP.

Zuweisungen

Print-Befehl

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Print-Befehl

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Print-Befehl

Neben dem echo-Befehl gibt es auch den print-Befehl. Im Endeffekt leisten beide dasselbe: Sie geben Text aus. echo ist ein internes Sprachkonstrukt, wohingegen print ein Ausdruck (Expression) ist. echo kann mehrere Argumente haben, die nicht in Klammern stehen dürfen. print kann nur genau ein Argument haben. Alle folgenden Anweisungen sind zulässig und geben dasselbe aus:

$wort1 = "Hallo ";
$wort2 = "Welt !";

echo $wort1 ," ", $wort2;

echo $wort1 ." ". $wortr2;
print ($wort1 ." ". $wort2);

$satz = print ($wort1 ." ". $wort2);

Echo-Befehl

Unterschied zwischen echo und print

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Unterschied zwischen echo und print

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Unterschied zwischen echo und print

Im Gegensatz zu echo ist print eine richtige Funktion. Es gibt Fälle, in denen die Ausgabe mit einer Rückgabe gekoppelt werden muss, beispielsweise beim trinären Bedingungsoperator:

<?php
    $wert == 0 ? print "wert ist 0" : print "wert ist nicht 0";
?>

Diese Konstruktion wertet eine Bedingung aus und führt entsprechend dem Ergebnis den ersten oder zweiten Teil aus. Es kommt zwar nur auf die Ausgabe an, die Konstruktion erwartet aber Rückgabewerte, der Raum zwischen ? : und ; darf aus syntaktischen Gründen nicht "leer" sein. Hier kann also niemals ein echo stehen.

Beispiel

<?php
    $wert == 0 ? echo "wert ist 0" : echo "wert ist nicht 0";
?>

Ausgabe

Parse error: parse error, unexpected T_ECHO in C:\php5xampp-dev\htdocs\php5\ersteschritte.php on line 2

Wie Sie sehen führt der Einsatz von echo zu einer Fehlermeldung.

print darf nur ein Argument haben. Wenn Sie mehrere Werte haben, nutzen Sie die Schreibweise mit Anführungszeichen oder setzen eine Zeichenkette mit dem Operator . zusammen. Hier ist echo flexibler, es sind beliebig viele Argumente erlaubt, die jeweils durch ein Komma getrennt werden:

<?php
 $vorname = "Matthias";
 echo "Hallo ", $vorname ,"!";
?>

Der einzige Unterschied zu der Verknüpfung der Zeichenketten dürfte die Geschwindigkeit sein. In der Praxis ist die Ausgabe jedoch ohnehin der schnellste Teil des Skripts. Damit bleibt als einziges Argument der optische Eindruck:

<?php
 $vorname = "Matthias";
 echo "Hallo " . $vorname . "!";
?>

Print-Befehl

Heredoc

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Heredoc

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Heredoc

Eine andere Möglichkeit, Strings einzufassen, besteht im Gebrauch der heredoc-Syntax ("<<<"). Hierfür ist nach <<< ein Bezeichner zu setzen. Nun folgt der eigentliche String und dann derselbe Bezeichner, um den String abzuschließen.

Der schließende Bezeichner muss in der ersten Spalte der Zeile stehen.

Achtung: Es ist sehr wichtig zu beachten, dass die Zeile mit dem schließenden Bezeichner keine anderen Zeichen enthält, ausgenommen möglicherweise ein Semikolon (;). Das bedeutet, dass der Bezeichner nicht eingerückt werden darf. Es dürfen weiterhin keine Leerzeichen oder Tabulatoren vor oder nach dem Semikolon stehen.

echo <<<EINTRAG
Beispiel eines Strings
über mehrere Skript-Zeilen
durch Gebrauch der heredoc-Syntax.
EINTRAG;

Heredoc-Text funktioniert wie ein String innerhalb doppelter Anführungszeichen, nur ohne doppelte Anführungszeichen. Anführungszeichen innerhalb von heredoc-Texten müssen also keiner Sonderbehandlung (escapen) unterzogen werden. Sie können dennoch die oben aufgeführten Escape-Anweisungen verwenden. Variablen werden ausgewertet, aber besondere Aufmerksamkeit muss komplexen Variablen gewidmet werden, genau wie bei Strings.

$name = 'Matthias';

echo <<<BUCH
Diese Buch stammt vom <b>$name</b> und stellt Ihnen PHP vor.
BUCH;

Hinweis: Die heredoc-Unterstützung wurde in PHP 4 eingeführt.

Die Anwendung ist natürlich nicht auf den echo-Befehl beschränkt. Sie können auch einer Variablen einen solchen Block übergeben:

<?php
$personen = <<<NAMEN
Matthias Kannengiesser,<br>
Caroline Kannengiesser,<br>
Gülten Kannengiesser
NAMEN;

print $personen;
?>

Das sieht unter Umständen viel übersichtlicher und einfacher aus, als wenn die Werte hintereinander stehen. Denken Sie aber daran, dass hier die Zeilenümbrücje erhalten bleiben - nicht in jedem Fall funktioniert das problemlos.

Typische Probleme

Am Anfang passiert es oft, dass der Interpreter nach dem Einbau der Blöcke Fehler meldet. Das folgende Beispiel funktiont nicht wie erwartet:

<?php

$ausgabe = 1;

if ($ausgabe == 1) {
    $personen = <<<NAMEN
    Matthias Kannengiesser,<br>
    Caroline Kannengiesser,<br>
    Gülten Kannengiesser
    NAMEN;

    echo $personen;
}

?>

Ausgabe

Parse error: parse error, unexpected $end in C:\php5xampp-dev\htdocs\php5\ersteschritte.php on line 16

Der Fehler liegt nicht direkt im Code, sondern in der Art, wie PHP diesen verarbeitet. Das Ende des heredoc-Sequenz wird nur erkannt, wenn das Schlüsselwort NAMEN am Anfang der Zeile steht. Durch die Einrückung wird es nicht mehr erkannt.

Korrekt

<?php

$ausgabe = 1;

if ($ausgabe == 1) {
    $personen = <<<NAMEN
    Matthias Kannengiesser,<br>
    Caroline Kannengiesser,<br>
    Gülten Kannengiesser
NAMEN;

    echo $personen;
}

?>

Unterschied zwischen echo und print

Kommentare

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Kommentare

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kommentare

Wer kennt die Situation nicht? Man hat eine längere Berechnung durchgeführt, ei-nen Artikel verfasst oder eine Skizze erarbeitet und muss diese Arbeit nun anderen Personen erklären. Leider ist die Berechnung, der Artikel oder die Skizze schon ein paar Tage alt und man erinnert sich nicht mehr an jedes Detail oder jeden logischen Schritt. Wie soll man seine Arbeit auf die Schnelle nachvollziehen?

In wichtigen Fällen hat man deshalb bereits beim Erstellen dafür gesorgt, dass jemand anders (oder man selbst) diese Arbeit auch später noch verstehen kann. Hierzu werden Randnotizen, Fußnoten und erläuternde Diagramme verwendet - zusätzliche Kommentare also, die jedoch nicht Bestandteil des eigentlichen Papiers sind.

Auch unsere Programme werden mit der Zeit immer größer werden. Wir brauchen deshalb eine Möglichkeit, unseren Text mit erläuternden Kommentaren zu versehen. Da sich Textmarker auf dem Monitor schlecht macht, besitzt die Sprache ihre eigenen Möglichkeiten, mit Kommentaren umzugehen.

Jedes Programm, auch das kleinste, sollte sauber kommentiert werden. Eine ordentliche Dokumentation erleichtert die Arbeit während der Entwicklung erheblich. Kommentare sind ein wesentlicher Bestandteil der Dokumentation. Stil und Inhalt sollten dem Programmierer die Übersicht in seinem Code erhalten, aber auch anderen die mit dem Programm zu tun haben wie , z.B., bei Projektarbeiten die Team-Kollegen. Denken Sie daran, dass Ihre Überlegungen bei der Umsetzung eines Problems nicht immer ohne weiteres nachvollziehbar sind. Oft gibt es sehr viele Lösungen für eine Idee, die umgesetzt werden soll. Warum Sie eine bestimmte Lösung gewählt haben und wie diese anzuwenden ist, wird in Kommentaren beschrieben.

Kommentare im PHP-Code werden nicht mit übertragen. Der Interpreter ignoriert diese Zeilen und entfernt sie vor der Übertragung. PHP unterstützt Kommentare sowohl nach Art von C/C++, als auch nach Art Java/JavaScript. Dabei ist zwischen einzeiligen und mehrzeiligen Kommentaren zu unterscheiden. Wir wollen hier nun die unterstützen Kommentare vorstellen.

Im folgenden Kommentar wird festgehalten, wer die Autoren sind.

Einzeiliger Kommentar

// Autor: Matthias Kannengiesser
// Autorin: Caroline Kannengiesser

Einzeiliger Kommentar am Zeilenende

$name = "Caroline"; // Dies ist ein Kommentar am Zeilenende

Mehrzeiliger Kommentar

/*
-- Anfang Beschreibung --
...
-- Ende Beschreibung --
*/

Tipp: Ein Kommentar kann auch dazu verwendet werden, einen Code-Abschnitt zeitweilig, ohne direkt ältere Codezeilen zu löschen, zu deaktivieren. So etwas bezeichnet man in der Programmierung als auskommentieren. Ein Vorteil beim Auskommentieren von Code liegt darin, diesen zu einem späteren Zeitpunkt, ohne grösseren Aufwand, wieder herzustellen bzw. aktivieren zu können, indem die Kommentarzeichen entfernt werden.

Für den letzten Fall gibt es noch eine weitere Variante. Mit dem Zeichen # können ebenfalls Kommentare gekennzeichnet werden:

$vorname = "Matthias"; # Name des Autors

Hier ein Beispiel in dem alle drei Kommentararten vorkommen:

<?php
/*

Hier ein mehrzeiliger Kommentar
im PHP-Code

*/

$vorname = "Matthias"; # Vornname des Autors
$nachname = "Kannengiesser"; // Nachname des Autors

echo $vorname /* Ausgabe */
?>

Sie sehen, was letztlich zum Einsatz kommt, bleibt ganz Ihnen überlassen.

Heredoc

Datentypen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


String/Zeichenketten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

String/Zeichenketten

Ein String oder auch Zeichenkette genannt ist eine Folge von Buchstaben, Ziffern und Sonderzeichen. Ein String wird von Anführungszeichen eingeschlossen, entweder von einfachen (Apostrophen) oder doppelten. Hierbei ist zu beachten, dass unbedingt gerade Anführungszeichen +<2> und Apostrophe +<#> verwendet werden. Im Gegensatz zu anderen Programmiersprachen ist es hierbei egal, ob einfache oder doppelte Anführungszeichen verwendet werden, Hauptsache, die Zeichenkette wird mit derselben Art von Anführungszeichen beendet wie sie eingeleitet worden ist.

$meineMutter = "Gülten";
$meineSchwester = 'Caroline';

Die verschiedenen Anführungszeichen haben unter anderem den folgenden Sinn. Wenn Sie beispielsweise ein Apostroph in einer Zeichenkette verwenden wollen, können Sie diese Zeichenkette schlecht mit Apostrophen eingrenzen, da der PHP-Interpreter dann nicht weiss, wo die Zeichenkette aufhört. In diesem Fall müssen Sie die andere Sorte von Anführungszeichen verwenden.

Beispiel

// Fehlerhaft
$spruch = 'Ich bin's!';
// Korrekt
$spruch = "Ich bin's!";

Wenn man aber in der Verlegenheit steht, beide Arten von Anführungszeichen in einer Zeichenkette verwenden zu müssen, kommt man in Schwierigkeiten. Hier hilft der Backslash (\) weiter. Das dem Backslash folgende Zeichen wird entwertet, d.h., es nimmt in der Zeichenkette keine besondere Bedeutung ein. Beim Anführungszeichen oder Apostroph bedeutet das, dass die Zeichenkette hiermit nicht beendet wird.

Beispiel

// Backslash
$spruch = 'Ich bin\'s!';

Wenn man nun den Backslash selbst in der Zeichenkette verwenden will, muss man auch ihn entwerten.

// Verzeichnis
$dateiPfad = "C:\PROGRAMME";

Hinweis: Sollten Sie vorhaben anderen Zeichen zu escapen, wird der Backslash ebenfalls ausgegeben! Daher besteht für gewöhnlich keine Notwendigkeit den Backslash selbst zu escapen.

Die Kombination eines Zeichens mit einem vorangestellten Backslash wird übrigens als Escape-Sequenz bezeichnet. Neben den Anführungszeichen können noch eine Reihe weiterer Zeichen in PHP nur durch eine solche Escape-Sequenz dargestellt werden. Diese werden Ihnen weiter unten in diesem Abschnitt vorgestellt.

Syntax

Ein String kann auf drei verschiedene Weisen geschrieben werden.
. Einfache Anführungszeichen (single quoted)
. Doppelte Anführungszeichen (double quoted)
. Heredoc Syntax

Einfache Anführungszeichen (Single quoted)

Der leichteste Weg einen einfachen String zu schreiben, ist der Einschluss in einfache Anführungszeichen (').

<?php
// Ausgabe - PHP 5 lässt es krachen
echo 'PHP 5 lässt es krachen';

// Ausgabe - Herzlich Willkommen, Wir sind Ihre...
echo 'Herzlich Willkommen,
      Wir sind Ihre...';
?>

Anders als bei den zwei anderen Schreibweisen werden Variablen innerhalb von singlequoted Strings nicht ausgewertet.

<?php
$person = "Caroline";

// Ausgabe - Guten Morgen, $person
echo 'Guten Morgen, $person';
?>

Doppelte Anführungszeichen (Double quoted)

Wenn ein String in doppelten Anführungszeichen (") eingeschlossen wird, versteht PHP mehr Escape-Folgen für spezielle Zeichen:

Zeichenfolge | Bedeutung
\n | Zeilenvorschub (LF oder 0x0A als ASCII-Code)
\r | Wagenrücklauf (CR oder 0x0D als ASCII-Code)
\t | Tabulator (HT oder 0x09 als ASCII-Code)
\ | Backslash / Rückstrich
$ | Dollar-Symbol
\ ' | Einfaches Anführungszeichen
\" | doppelte Anführungszeichen
\[0-7]{1,3} | die Zeichenfolge, die dem regulären Ausdruck entspricht ist ein Zeichen in Oktal-Schreibweise
\x[0-9A-Fa-f]{1,2} | die Zeichenfolge, die dem regulären Ausdruck entspricht ist ein Zeichen in Hexadezimal-Schreibweise

Sollten Sie versuchen, sonstige Zeichen zu escapen wird der Backslash ebenfalls ausgegeben.

Der wohl wichtigste Vorteil von doublequoted Strings ist die Tatsache, dass Variablen ausgewertet werden.

<?php
$person = "Caroline";

// Ausgabe - Guten Morgen, Caroline
echo "Guten Morgen, $person";
?>

Heredoc

Der Einsatz von Heredoc wurde bereits im Abschnitt Einführung in PHP beschrieben, daher hier lediglich einige weitere Besonderheiten.

Heredoc-Text funktioniert wie ein String innerhalb doppelter Anführungszeichen, nur ohne doppelte Anführungszeichen. Anführungszeichen innerhalb von heredoc-Texten müssen also keiner Sonderbehandlung (escapen) unterzogen werden, aber Sie können dennoch die oben aufgeführten Escape-Anweisungen verwenden. Variablen werden ausgewertet.

<?php
echo <<<ANREDE
Herzlich Willkommen,
Meine Damen und Herren...
ANREDE;
?>

Variablen-Analyse (parsing)

Wird ein String in doppelten Anführungszeichen oder mit heredoc angegeben, werden enthaltene Variablen ausgewertet (geparst).

Es gibt zwei Syntax-Typen, eine einfache und eine komplexe.
. Die einfache Syntax ist die geläufigste und bequemste. Sie bietet die Möglichkeit eine Variable, einen Array-Wert oder eine Objekt-Eigenschaft auszuwerten (parsen).
. Die komplexe Syntax wurde in PHP 4 eingeführt und ist an den geschweiften Klammern {}erkennbar, die den Ausdruck umschließen.

Einfache Syntax

Sobald ein Dollarzeichen ($) auftaucht, wird der Parser versuchen einen gültigen Variablennamen zu bilden. Schließen Sie Ihren Varaiblennamen in geschweifte Klammern ein, wenn Sie ausdrücklich das Ende des Namens angeben wollen.

<?php
$marke = 'Audi';

/*
 Ausgabe - Auid's sind goldig
 Da ' kein gültiges Zeichen für einen
 Variablennamen darstellt.
*/
echo "$marke's sind goldig";

/*
 Ausgabe - Sie haben zahlreiche gefahren
 Da s ein gültiges Zeichen für einen
 Variablennamene darstellt, wird der
 Interpreter nach einer Variablen mit
 dem Namen $markes suchen.
*/
echo "Sie haben zahlreiche $markes gefahren";

//Ausgabe - Sie hanen zahlreiche Audis gefahren
echo "Sie haben zahlreiche ${marke}s gefahren";
?>

Auf ähnliche Weise können Sie erreichen, dass ein Array-Index oder eine Objekt-Eigenschaft ausgewertet wird. Bei Array-Indizes markiert die schließende eckige Klammer (]) das Ende des Index. Für Objekt-Eigenschaften gelten die gleichen Regeln wie bei einfachen Variablen, obwohl es bei Objekt-Eigenschaften keinen Trick gibt, wie dies bei Variablen der Fall ist.

<?php
$autos = array( 'Viper' => 'gelb' , 'Ferrari' => 'rot' );

/*
 Ausgabe - Ein Ferarri ist rot
 Achtung: außerhalb von String-Anführungszeichen funktioniert das anders.
*/
echo "Ein Ferarri ist $autos[Ferrari].";
?>

<?php
// Klasse
class Fahrzeug
{
    var $plaetze;

    function Fahrzeug()
    {
        $this->plaetze = 4;
    }
}

// Objekt
$meinauto = new Fahrzeug;

// Ausgabe - Dieses Auto hat Platz für 4 Personen.
echo "Dieses Auto hat Platz für $meinauto->plaetze Personen.";

// Ausgabe - Dieses Auto hat Platz für Personen.
// Funktioniert nicht. Für eine Lösung siehe die komplexe Syntax.
echo "Dieses Auto hat Platz für $meinauto->plaetze00 Personen.";
?>

Für komplexere Strukturen sollten Sie die komplexe Syntax verwenden.

Komplexe (geschweifte) Syntax

Diese wird nicht komplex genannt, weil etwa die Syntax komplex ist, sondern weil Sie auf diesem Weg komplexe Ausdrücke einbeziehen können.

Tatsächlich können Sie jeden beliebigen Wert einbeziehen, der einen gültigen Namensbereich als String besitzt. Schreiben Sie den Ausdruck einfach auf die gleiche Art und Weise, wie außerhalb des Strings, und umschließen diesen mit { und }. Da Sie '{' nicht escapen können, wird diese Syntax nur erkannt, wenn auf { unmittelbar $ folgt. (Benutzen Sie "{$" oder "\{$" um ein wörtliches "{$" zu erhalten.) Hier ein Beispiel:

<?php
// Klasse
class Fahrzeug
{
    var $plaetze;

    function Fahrzeug()
    {
        $this->plaetze = 4;
    }
}

// Objekt
$meinauto = new Fahrzeug;

// Ausgabe - Dieses Auto hat Platz für 400 Personen.
echo "Dieses Auto hat Platz für {$meinauto->plaetze}00 Personen.";
?>

Umwandlung von Zeichenketten

Sobald ein String als numerischer Wert ausgewertet wird, wird der resultierende Wert und Typ wie folgt festgelegt. Der String wird als float ausgewertet, wenn er eines der Zeichen '.', 'e' oder 'E' enthält. Ansonsten wird er als Integer-Wert interpretiert.

Der Wert wird durch den Anfangsteil des Strings bestimmt. Sofern der String mit gültigen numerischen Daten beginnt, werden diese als Wert benutzt. Andernfalls wird der Wert 0 (Null) sein. Gültige numerische Daten sind ein optionales Vorzeichen, gefolgt von einer oder mehreren Zahlen (optional mit einem Dezimalpunkt). Wahlweise kann auch ein Exponent angegeben werden. Der Exponent besteht aus einem 'e' oder 'E', gefolgt von einer oder mehreren Zahlen.

<?php
$wert = 1 + "10.5";
// Ausgabe - $wert ist float (11.5)
echo $wert;

$wert2 = 1 + "Matze3";
// Ausgabe - $wert2 ist integer (1)
echo $wert2;

$wert3 = "10 Autos" + 1;
// Ausgabe - $wert3 ist integer (11)
echo $wert3;
?>

Datentypen

Zahlen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zahlen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zahlen

Zahlen sind der grundlegendste Datentyp überhaupt und benötigen wenig Erläuterung. Es kann sich dabei um ganze Zahlen oder Fließkommazahlen handeln. Ganze Zahlen (Integer) können dezimal, oktal oder hexadezimal geschrieben werden.

Der Datentyp für die Zahlen umfasst:
. ganzzahlige Zahlenwerte wie 10,50, 1000000 oder -1000, die auch als Integer-Zahlen bezeichnet werden
. Zahlen mit Nachkommastellen wie 9.95 oder 3.1415, die auch als Gleitkommazahlen (Float-Zahlen) bezeichnet werden.

Achtung: Sie sollten dabei beachten, dass der Punkt hier zur Abtrennung der Nachkommastellen und nicht wie im Deutschen üblich zur Kennzeichnung der Tausenderstellen dient.

Wie sieht es nun mit der Schreibweise von ganzzahligen Werten aus?

Beispiel

$zahleins = 9000;

Dieser Zahlenwert kann auch als Hexadezimalzahl angegeben werden. Um dem PHP-Interpreter anzuzeigen, dass die folgende Zahl eine Hexadezimalzahl ist, stellen Sie dem Zahlenwert das Präfix 0x voran.

Beispiel

$zahlEins = 0x2328;  // entspricht dezimal 9000

Nun, da Sie die Schreibweise für die ganzzahligen Werte gesehen haben, dürfen wir uns den Fliesskommazahlen zuwenden.

$zahlzwei = 999.99;

Wie Sie sehen, werden Fliesskommazahlen mit einem Punkt zwischen den Vorkomma- und Nachkommastellen geschrieben. Alternativ können Sie Fliesskommazahlen auch in der Exponentialschreibweise angeben.

$zahldrei = 999.99e2; // entspricht 99999

Hinweis: Der Buchstabe e wird in Fliesskommazahlen zur Kennzeichnung eines nachfolgenden Exponenten zur Basis 10 verwendet. 999.99e2 bedeutet also 999.99 * 10², nicht zu verwechseln mit der Eulereschen Zahl.

PHP-Programme bearbeiten Zahlen, indem sie die arithmetischen Operatoren benutzen, die die Sprache zur Verfügung stellt. Dazu gehören:
ADDITION (+)
SUBSTRAKTION (-)
MULTIPLIKATION (*)
DIVISION (/)
MODULO (%)

Die vollständigen Einzelheiten, bezüglich dieser und anderer arithmetischer Operatoren, finden sich im Abschnitt Operatoren.

Zusätzlich zu diesen grundlegenden mathematischen Operationen unterstützt PHP komplizierte mathematische Operationen durch eine grosse Anzahl an mathematischen Funktionen, die zu den Kernbestandteilen der Sprache gehören.

Beispiel

// Sinus von x berechnen
$sinusx = sin($x);

Die Anweisung ermöglicht es Ihnen, den Sinus eines Zahlenwerts x zu berechnen. Im Abschnitt der praktischen Anwendungsbeispiele werden wir einige nützliche Formeln aufzeigen.

Integer Typen

In der Mathematik würde der Integer-Typ dem Wertebereich aus der Menge Z = {..., -2, -1, 0, 1, 2, ...} entsprechen. Wie bereits allgemein unter Zahlen festgehalten können Ganzzahlen in dezimaler (10-basierter), hexadezimaler (16-basierter) oder oktaler (8-basierter) Schreibweise angegeben werden, wahlweise mit einem vorangestellten -/+ Zeichen.

Schreibweisen:
. Für Oktalzahlen wird eine vorangestellte 0 benötigt.
. Für Hexadezimalzahlen wird ein vorangestelltes 0x benötigt.

Beispiel

<?php
// Dezimalzahl
$zahl = 1234;
echo $zahl;

// Negative Zahl
$zahl = -123;
echo $zahl;

// Oktalzahl (87)
$zahl = 0127;
echo $zahl;

// Hexadezimalzahl (255)
$zahl = 0xFF;
echo $zahl;
?>

Die Größe eines Integer-Wertes ist von der jeweiligen plattformabhängig, ein Maximalwert von ungefähr zwei Milliarden ist jedoch üblich (32-Bit).

Integer Überlauf

Sollten Sie eine Zahl jenseits der Grenzen des Typs Integer angeben, wird diese als Typ float interpretiert. Wenn Sie eine Operation ausführen, deren Ergebnis eine Zahl jenseits der Grenzen des Typs Integer ist, wird ebenso eine Zahl vom Typ float zurückgegeben.

Beispiel

<?php
// Ausgabe: int(2147483647)
$zahl =  2147483647;
var_dump($zahl);

// Ausgabe: float(2147483648)
$zahl =  2147483648;
var_dump($zahl);
?>

Dies gilt auch für Integer in hexadezimaler Schreibweise.

Beispiel

<?php
// Ausgabe: int(2147483647)
var_dump(0x7fffffff);

// Ausgabe: float(2147483648)
var_dump(0x80000000);
?>

Und für Integer, welche aus einer Rechenoperation resultieren.

Beispiel

<?php
// Ausgabe: float(1.0E+11)
$zahl =  100000 * 1000000;
var_dump($zahl);
?>

In PHP gibt es keinen Operator für Integer Divisionen. 1/2 ergibt 0.5.
Beispiel

<?php
// Ausgabe: float(0.5)
var_dump(1/2);
?>

Umwandlung nach Integer

Um einen Wert ausdrücklich in einen Integer zu konvertieren benutzen Sie entweder die Umwandlung mittels (int) oder (integer). In den allermeisten Fällen ist es jedoch nicht notwendig die Umwandlung selbst vorzunehmen. Ein Wert wird automatisch konvertiert, falls ein Operator, eine Funktion oder eine Kontrollstruktur ein integer Argument erfordert.

Beispiel

<?php
// Ausgabe (10)
echo (int) 10.99;
// Ausgabe (10)
echo (integer) 10.99;
?>

Booleans in Integer

FALSE ergibt 0 (Null), und TRUE ergibt 1 (eins).

Beispiel

<?php
// Boolean
echo (int) true;  // 1
echo (int) false; // 0
?>

Fließkomma-Zahlen in Integer

Bei der Umwandlung von float nach integer wird die Zahl in Richtung Null gerundet.

Beispiel

<?php
// Ausgabe (9999)
echo (int) 9999.4567;
?>

Wenn der float jenseits der Grenzen von integer liegt (üblicherweise +/- 2.15e+9 = 2^31), ist das Ergebnis nicht definiert, da float nicht genug Präzision besitzt um ein genaues integer Ergebnis zu liefern. Keine Warnung oder Fehlermeldung wird in diesem Fall ausgegeben.

Sie sollten nie einen Teil Ausdruck nach integer umwandeln, da dies in einigen Fällen zu unerwarteten Ergebnissen führen kann.

Beispiel

<?php
// Ausgabe (8)
echo ( (0.7+0.1) * 10 );
// Ausgabe (7)
echo (int) ( (0.7+0.1) * 10 );
?>

Strings in Integer

Natürlich lassen sich auch Zeichenketten in integer umwandeln.

<?php
// Ausgabe (10)
echo 2 * "5 Äpfel";

// Ausgabe (6)
echo  "5 Autos " + 1;

// Ausgabe (1)
echo 1 + "C-64";
?>

Float Typen

Fließkomma-Zahlenwerte, auch als floats, doubles oder reelle Zahlen bezeichnet, können durch eine der folgenden Anweisungen zugewiesen werden:

<?php
// Ausgabe (1.234)
$wert = 1.234;
echo $wert;

// Ausgabe (1200)
$wert = 1.2e3;
echo $wert;

// Ausgabe (7E-10)
$wert = 7E-10;
echo $wert;
?>

Die Größe einer Fließkomma-Zahl ist plattformabhängig, dennoch stellt ein Maximum von ~1.8e308 mit einer Genauigkeit von 14 Nachkomma-Stellen einen üblichen Wert dar (das entspricht 64-Bit im IEEE-Format).

Fließkomma Präzision

Es ist ziemlich normal, dass einfache Dezimalzahlen wie 0.1 oder 0.7 nicht in ihre internen binären Entsprechungen konvertiert werden können, ohne einen kleinen Teil ihrer Genauigkeit zu verlieren. Das kann zu verwirrenden Ergebnissen führen.

<?php
// Ausgabe (7)
echo floor((0.1 + 0.7) * 10)
?>

Sie haben sicher 8 erwartet. Dieses Ergebnis, stützt sich auf die Tatsache, dass es unmöglich ist, einige Dezimal-Zahlen durch eine endliche Anzahl an Nachkomma-Stellen darzustellen. Dem Wert 1/3 entspricht z.B. der interne Wert von 0.3333333.
Daher sollten Sie nie den Ergebnissen von Fließkomma-Operationen bis auf die letzte Nachkomma-Stelle trauen und solche auf Gleichheit prüfen.

Tipp: Benötigen Sie eine größere Genauigkeit, sollten sie die mathematischen Funktionen beliebiger Genauigkeit oder die Gmp Funktionen verwenden.

String/Zeichenketten

Boolean/Boolesche Werte

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Boolean/Boolesche Werte

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Boolean/Boolesche Werte

Die Datentypen für Zahlen und Strings können beliebig viele verschiedene Werte annehmen. Der Datentyp Boolean kennt hingegen nur zwei mögliche Werte. Die zwei zulässigen Booleschen Werte sind true (wahr) und false (falsch). Ein Boolescher Wert stellt einen Wahrheitswert dar, er besagt, ob ein Sachverhalt wahr ist oder nicht.

Hinweis: Die beiden Schlüsselwörter TRUE oder FALSE unterscheiden nicht zwischen Groß- und Kleinschreibung.

Tipp: Um Boolesche Werte besser zu verstehen, sollte man sich das einfache Schema eines Lichtschalter vorstellen. Ist das Licht an, steht der Lichtschalter auf Ein, dies entspricht dem Booleschen Wert true. Ist das Licht aus, steht der Lichtschalter auf Aus, dies wiederum entspricht dem Booleschen Wert false. Natürlich kann dieses Schema nur angewendet werden, wenn die Birne in der Lampe in Ordnung ist und der Stecker steckt.

Beispiel

// Licht ist eingeschaltet
$licht = true;
// Licht ist ausgeschaltet
$licht = false;

Boolesche Werte sind im Allgemeinen das Ergebnis von Vergleichen, die in einem Programm vorgenommen werden. Wie sieht ein solcher Vergleich aus?

$name == "Matthias";

Hier sehen Sie einen Teil eines Vergleichs. Hierbei wird überprüft, ob der Wert der Variablen name der Zeichenkette "Matthias" entspricht. Sollte dies der Fall sein, ist das Ergebnis des Vergleichs der Boolesche Wert true. Wenn der Wert der Variablen name nicht der Zeichenkette entsprechen sollte, dann ist das Ergebnis des Vergleichs false. Boolesche Werte werden in PHP für gewöhnlich durch Vergleiche erzeugt und zur Ablaufsteuerung genutzt.

In einer if-else-Konstruktion wird eine Aktion ausgeführt, wenn ein Boolescher Wert true ist, aber eine andere, wenn dieser Wert false ist. Häufig wird ein Vergleich, der einen Booleschen Wert erzeugt, unmittelbar mit einer Anweisung kombiniert, die diesen Wert benutzt.

Beispiel

<?php
if ($name == "Matthias") {
    $spruch = "Hallo " + $name;
    echo $spruch;
} else {
    $spruch = "Sie kenne ich nicht!";
    echo $spruch;
}
?>

Diess Beispiel prüft, ob der Wert in der Variablen $name der Zeichenkette "Matthias" entspricht. Wenn ja, dann wird in die Variable $spruch die Zeichenkette "Hallo Matthias" eingesetzt, sonst wird in die Variable $spruch die Zeichenkette "Sie kenne ich nicht!" eingesetzt.

Eines sollte hier zu den Booleschen Werten noch erwähnt werden: PHP ist in der Lage, die Zahlenwerte 1 und 0 als Boolesche Werte true und false zu interpretieren.

Beispiel

$signaleins = true;
$signalzwei = 1;

Beide Anweisungen enthalten unterschiedliche Datentypen, jedoch erst aus dem Kontext heraus wird ersichtlich, ob es sich bei der Variablen $signalzwei um einen Zahlenwert oder einen Booleschen Wert handelt.

Beispiel

<?php
// Variable
$signalzwei = 1;

// Zahl
$summe = $signalzwei + 5;

// Boolscher Wert
if ($signalzwei == true) {
    $zustand = "Signal ist Ein";
    echo $zustand;
}
?>

Achtung: C/C++ Programmierer sollten beachten, dass PHP einen eigenen Datentyp Boolean hat. Dies steht im Gegensatz zu C/C++, die einfache ganzzahlige Werte benutzen, um Boolesche Werte nachzuahmen.

Umwandlung nach boolean

Um einen Wert ausdrücklich nach boolean zu konvertieren benutzen Sie entweder die Umwandlung mittels (bool) oder (boolean).

Beispiel

<?php
// Ausgabe (1)
echo (bool) ((100));
// Ausgabe (1)
echo (boolean) ((100));
?>

In den allermeisten Fällen ist es jedoch nicht notwendig die Umwandlung selbst vorzunehmen. Ein Wert wird automatisch konvertiert, falls ein Operator, eine Funktion oder eine Kontrollstruktur ein boolean Argument erfordert.

Bei der Umwandlung nach boolean werden folgende Werte als FALSE angesehen:
. das boolean FALSE
. die Integer 0 (Null)
. die Fließkomma-Zahl 0.0 (Null)
. die leere Zeichenkette und die Zeichenkette "0"
. ein Array ohne Elemente
. ein Objekt ohne Elemente
. der spezielle Type NULL (einschließlich nicht definierter Variablen)

Jeder andere Wert wird als TRUE angesehen, einschließlich jeder Resource.

Achtung: -1 wird als TRUE angesehen, wie jede andere Zahl ungleich Null, ob es sich hierbei um eine negativ oder positiv Zahl handelt ist nicht relevant!

Zahlen

Objekte

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Objekte

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Objekte

Objekte gehören dem PHP-Datentyp Object an. Ein Objekt ist eine Sammlung benannter Daten. Die Namen dieser Datenelemente werden als Eigenschaften, Attribute oder Properties des Objekts bezeichnet. Einige sprechen auch von den Feldern des Objekts. Diese Benennung kann jedoch zu Verwirrungen führen, da es sog. Felder (Arrays) auch als eigenständigen Datentyp existiert. Sie sollten sich daher auf eine der ersten drei Benennungen stützen. Um die Eigenschaft eines Objekts anzusprechen, sprechen wir zunächst das Objekt an, setzen dahinter ein -> und fügen anschliessend den Namen der Eigenschaft an.

Beispiel

$meinRechner->hersteller
$meinRechner->cpu

Hier haben wir ein Objekt Namens $meinRechner mit den Eigenschaften hersteller und cpu. Die Eigenschaften von Objekten verhalten sich dabei in PHP wie Variablen. Sie können alle Datentypen enthalten, einschließlich Arrays, Funktionen und anderer Objekte. Wie bereits erwähnt, wird eine Funktion, die als Eigenschaft eines Objekts gespeichert ist, oft auch als Methode bezeichnet. Um eine Methode eines Objekts aufzurufen, benutzen Sie wiederum die Schreibweise mit dem ->, um den Funktions-Datenwert in dem Objekt ansprechen zu können.

Beispiel

$meinRechner->starten();

Wir wollen Ihnen noch ein lauffähiges Beispiel für die aufgeführten Eigenschaften und der Funktion mit auf den Weg geben:

<?php
/*
 Klasse (class)
 Definiert Eigenschaften, Methoden und Funktionen
 einer Gruppe von Objekten
*/
class Rechner {

    var $cpu;
    var $hersteller;

    function Rechner($taktrate,$unternehmen)
    {
        $this->cpu = $taktrate;
        $this->hersteller = $unternehmen;
    }
    function starten()
    {
        echo "Rechner gestartet!";
    }
}

// Objekterzeugen
$meinRechner = new Rechner(2000,"Intel");

// Ausgabe - Object id #1
echo $meinRechner;
// Ausgabe - Intel
echo $meinRechner->hersteller;
// Ausgabe - Rechner gestartet!
echo $meinRechner->starten();
?>

Boolean/Boolesche Werte

Arrays

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Arrays

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Arrays

Ein Array in PHP ist im eigentlich Sinne eine geordnete Abbildung. Eine Abbildung ist ein Typ der Werte auf Schlüssel abbildet. Dieser Typ ist auf mehrere Arten optimiert, so dass Sie ihn auf verschiedene Weise benutzen können:
. als reales Array
. als Liste (Vektor)
. als Hash-Tabelle
. als Verzeichnis
. als Sammlung
. als Stapel (Stack)
. als Warteschlange (Queue)
. uvm.

Da Sie ein weiteres PHP-Array als Wert benutzen können, ist es recht einfach Baumstrukturen zu simulieren und Verschachtelungen vorzunehmen.

Angabe mit array()

Ein array kann mit Hilfe des Sprachkonstrukts array() erzeugt werden. Es benötigt eine bestimmte Anzahl von Kommagetrennten Schlüssel => Wert Paaren.

Ein Schlüssel ist entweder eine Zahl vom Typ integer oder ein string. Wenn ein Schlüssel die Standard-Darstellung einer integer Zahl ist, wird es als solche interpretiert werden:
. "8" wird als 8 interpretiert
. "08" als "08" interpretiert

Wert

Der Wert eines Array Eintrags kann ein beliebiger Datentyp sein.

Schlüssel

Falls Sie einen Schlüssel weglassen, wird das Maximum des Integer- Indizes genommen und der neue Schlüssel wird dieses Maximum + 1 sein. Das gilt auch für negative Indizes, da ein integer negativ sein kann. Ist zum Beispiel der höchste Index -6 wird der neue Schlüssel den Wert -5 haben. Falls es bis dahin keine Integer-Indizes gibt, wird der Schlüssel zu 0 (Null). Falls Sie einen Schlüssel angeben dem schon ein Wert zugeordnet wurde, wird dieser Wert überschrieben.

Wenn Sie true als Schlüssel benutzen, wird dies als Schlüssel vom Typ integer 1 ausgewertet. Benutzen Sie false als Schlüssel wird dies als Schlüssel vom Typ integer 0 ausgewertet. Die Benutzung von NULL als Schlüssel führt dazu, dass der Schlüssel als leerer String gewertet wird. Verwenden Sie einen leeren String als Schlüssel wird ein Schlüssel mit einem leeren String und seinem Wert erzeugt oder überschrieben. Das entspricht nicht der Verwendung von leeren Klammern.

Sie können keine Arrays oder Objekte als Schlüssel benutzen. Der Versuch wird mit einer Warnung enden: Illegal offset type.

// Schlüssel ist entweder ein string oder integer
// Wert kann irgendetwas sein.
array( [Schlüssel =>] Wert, ...)

Hier einige Beispiele:

<pre>
<?php
$arrays = array (
    "Fruechte" => array ("a"=>"Kirsche", "b"=>"Birne"),
    "Zahlen"  => array (1, 2, 3, 4, 5, 6),
    "Autos"  => array ("Audi", 5 => "Mercedes", "BMW")
);
print_r($arrays);
?>
</pre>

Ausgabe

Array
(
    [Fruechte] => Array
        (
            [a] => Kirsche
            [b] => Birne
        )

    [Zahlen] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 4
            [4] => 5
            [5] => 6
        )

    [Autos] => Array
        (
            [0] => Audi
            [5] => Mercedes
            [6] => BMW
        )

)

Automatischer Index mit array()

<pre>
<?php
$meinarray = array( 10,
                    20,
                    30,
                    40,
                    50,
                    60,
                    70,
                    4=>1,
                    5=>1,
                    6=>13
                    );
print_r($meinarray);
?>
</pre>

Ausgabe

Array
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 1
    [5] => 1
    [6] => 13
)

Auf 1-basierter Index mit array()

<pre>
<?php
$monate  = array(1 => 'Januar', 'Februar', 'März');
print_r($monate);
?>
</pre>

Ausgabe
Array
(
    [1] => Januar
    [2] => Februar
    [3] => März
)

Erzeugen / Verändern mit der eckigen Klammer-Syntax

Sie können ein bestehendes Array durch explizites Zuweisen von Werten verändern. Weisen Sie dem Array Werte zu indem Sie den Schlüssel in eckigen Klammern angeben. Sie können den Schlüssel auch weglassen. In diesem Fall schreiben Sie einfach ein leeres Klammerpaar ("[]") hinter den Variablennamen.

// Schlüssel ist entweder ein string oder ein nichtnegativer integer
// Wert kann irgendetwas sein.
$arr[Schlüssel] = Wert;
$arr[] = Wert;

Beispiel

<pre>
<?php
$monate  = array(1 => 'Januar', 'Februar', 'März');
$monate[4] = "April";
$monate[] = "Mai";
print_r($monate);
?>
</pre>

Ausgabe

Array
(
    [1] => Januar
    [2] => Februar
    [3] => März
    [4] => April
    [5] => Mai
)

Falls das Array bis dahin nicht existiert, wird es erzeugt. Das ist also eine alternative Syntax um ein Array zu erzeugen. Um einen bestimmten Wert zu ändern, weisen Sie diesem einfach einen neuen Wert zu.

Beispiel

<pre>
<?php
$personen[0] = "VW";
$personen[1] = "BMW";
$personen[2] = "OPEL";
print_r($personen);
?>
</pre>

Ausgabe

Array
(
    [0] => VW
    [1] => BMW
    [2] => OPEL
)

Sollten Sie ein Schlüssel/Wert Paar entfernen wollen, benutzen Sie unset().

Beispiel

<pre>
<?php
$personen[0] = "VW";
$personen[1] = "BMW";
$personen[2] = "OPEL";

// Löschen
unset ($personen[1]);
print_r($personen);
?>
</pre>

Ausgabe

Array
(
    [0] => VW
    [2] => OPEL
)

Nützliche Funktionen

Es existieren eine Vielzahl von nützlichen Funktionen um mit Arrays zu arbeiten. Einige davon werden wir im Abschnitt Arrays gesondert behandeln.

Beispiel

<?php
// Array
$daten[0] = 100;
$daten[1] = 300;
$daten[2] = 500;
$anzahl = count($daten);
// Ausgabe (3)
echo $anzahl;
?>

Schreibweisen und Ihre Besonderheiten

Warum ist $daten[eintrag] falsch? - Sie sollten immer Anführungszeichen für einen assoziativen Index eines Arrays benutzen. Zum Beispiel sollten Sie$daten['eintrag'] und nicht $daten[eintrag] benutzen. Aber warum ist $daten[eintrag] falsch? Sicher ist Ihnen folgende Syntax in einigen PHP-Skripten bereits begegnet:

<?php
$daten[eintrag] = "Matze";
// Ausgabe - Matze
echo $daten[eintrag];
?>

Es ist falsch, funktioniert aber. Warum ist diese Schreibweise falsch? Der Grund ist, dass dieser Code eine undefinierte Konstante enthält eintrag anstatt eines Strings 'eintrag',beachten Sie die Anführungszeichen. PHP könnte in Zukunft Konstanten definieren, die unglücklicherweise für Ihren Code, den gleichen Namen verwenden. Es funktioniert, weil die undefinierte Konstante in einen String mit gleichem Namen umgewandelt wird. Sprich, PHP nimmt an, dass Sie eintrag wörtlich gemeint haben, wie den String 'eintrag', aber vergessen haben, die Anführungszeichen zu setzen.

Daher ist die folgende Schreibweise zu bevorzugen:

<?php
$daten['eintrag'] = "Matze";
// Ausgabe - Matze
echo $daten['eintrag'];
?>

Hinweis: Noch mehr rund um das Thema Arrays erfahren Sie im Abschnitt <LinkPraxisOpen>Arrays<LinkPraxisClose>.

Objekte

Resource Typ

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Resource Typ

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Resource Typ

Eine Resource ist eine spezielle Variable, die eine Referenz auf eine externe Resource enthält. Resourcen werden von bestimmten Funktionen erzeugt und benutzt.

Einige Resourcen:
. COM - Referenz auf ein COM Objekt
. ftp - FTP Verbindung
. gd - GD Grafik
. imap - Verbindung zu einem IMAP- oder POP3-Server herstellen
. msql query - mSQL Ergebnis
. mysql result - MySQL Ergebnis
. file - Datei handle
. xml - XML Parser
. uvm.

Hinweis: Der Resource-Typ wurde in PHP 4 eingeführt.

Freigabe von Resourcen

Aufgrund des Reference-Counting Systems, das mit PHP 4's Zend-Egine eingeführt wurde, wird automatisch erkannt, wenn auf eine Resource nicht mehr zugegriffen wird. Wenn dies der Fall ist werden alle Resourcen, die für diese Resource in Gebrauch waren, durch den "Müllsammler" (garbage collector) freigegeben. Aus diesem Grund ist es nur in seltenen Fällen notwendig, Speicher manuell durch Aufruf von free_result-Funktionen freizugeben.

Achtung: Persistente Datenbank-Verbindungen stellen einen Sonderfall dar, sie werden durch den garbage collector nicht automatisch entfernt.

Arrays

NULL

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


NULL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

NULL

Das PHP-Schlüsselwort NULL ist ein besonderer Wert, der für "kein Wert" steht. Technisch gesehen ist NULL ein Wert des Typs Objekt. Wenn eine Variable diesen Wert besitzt, weiss man demnach, dass sie kein gültiges Objekt oder Array enthält. Zudem weiss man, dass sie auch weder eine Zahl, eine Zeichenkette, einen Boolschen Wert noch eine Funktion enthält.

C/C++ gewohnte Programmierer sollten auch beachten, dass NULL in PHP nicht dasselbe ist wie 0, anders also als es sich in jenen Sprachen verhält. Unter bestimmten Umständen wird NULL zwar in eine 0 umgewandelt, aber es liegt keine Äquivalenz vor.

Eine Variable wird als NULL interpretiert, wenn:
. ihr die Konstante NULL als Wert zugewiesen wurde.
. ihr bis jetzt kein Wert zugewiesen wurde.
. sie mit unset() gelöscht wurde.

Beispiel

<?php
// Ausgane - Vorname ist NULL
if ($vorname == NULL) echo "Vorname ist NULL";
?>

Der Wert NULL kann in verschiedenen Situationen verwendet werden. Hier einige Beispiele für derartige Situationen:
. Eine Variable hat noch keinen Wert erhalten.
. Eine Variable enthält keinen Wert mehr.
. Eine Funktion kann keinen Wert zurückgeben, weil kein entsprechender Wert verfügbar ist; in diesem Fall wird der Nullwert zurückgegeben.

Hinweis: NULL ist der einzig mögliche Wert des Typs NULL.

Resource Typ

Typen Besonderheiten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Typen Besonderheiten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Typen Besonderheiten

Automatische Typenkonvertierung

Ein bedeutender Unterschied zwischen PHP und Sprachen wie C/C++ und Java liegt darin, dass PHP nicht typisiert ist. Dies bedeutet, dass Variablenwerte beliebige Datentypen enthalten können. Im Gegensatz hierzu können Variablen in C/C++ und Java jeweils nur einen einzigen Datentyp enthalten.

Beispiel

$zahl = 5;
$zahl = "fünf";

In PHP ist diese Zuweisung zulässig. Einer Variablen zahl wird zunächst eine Zahl und später eine Zeichenkette zugewiesen. In C/C++ oder Java wären diese Codezeilen unzulässig. Da PHP eine Sprache ohne explizite Typen ist, müssen Variablendeklaration auch keinen Datentyp angeben, wie dies in C/C++ und Java der Fall ist. In diesen Sprachen deklariert man eine Variable, indem man den Namen des Datentyps angibt, den die Variable aufnehmen soll, und dahinter wird der Name der Variablen angegeben.

Beispiel

// Deklaration einer Integer-Variablen in C/C++ oder Java
int zahl;

In PHP hingegen verwenden Sie für die Variablendeklaration lediglich einen gültigen Variablennamene brauchen keinen Typ anzugeben.

Beispiel

// Deklaration einer PHP-Variablen ohne Typ
$zahl = 100;

Eine Folge aus dem Nichtvorhandensein von Typen in PHP besteht darin, dass Werte automatisch zwischen verschiedenen Typen konvertiert werden können. Wenn man , z.B., versucht, eine Zahl an eine Zeichenkette anzuhängen, setzt PHP die Zahl automatisch in die entsprechende Zeichenkette um, die dann angehängt werden kann.

Beispiel

<?php
// Variablen
$wort = "Besucher";
$nummer = 5;
$kombination = $nummer . $wort;
// Ausgabe - 5 Besucher
echo $kombination;
?>

Sie haben nun erfahren, dass PHP untypisiert ist. Die Tatsache, dass PHP untypisiert ist, verleiht der Sprache die Flexibilität und Einfachheit, die für eine Skriptsprache wünschenswert ist. Im folgenden Abschnitt werden Sie die automatische Typenkonvertierung genauer kennen lernen, da sie ein wesentlicher Bestandteil der Sprache ist.

Ein Beispiel für die automatische Typ-Konvertierung von PHP ist der +-Operator. Ist einer der zu addierenden Werte vom Typ float, werden alle Werte als float-Typ behandelt. Auch das Ergebnis der Addition wird vom Typ float sein. Andernfalls werden die Werte als integer-Typen angesehen und das Ergebnis wird ebenfalls vom Typ Integer sein. Beachten Sie, dass hierdurch NICHT der Typ der Operanden selbst beeinflusst wird; der Unterschied liegt einzig und allein in der Auswertung dieser Operanden.

Beispiel

<?php
// String
$wert = "0";
// Integer
$wert += 2;
// Ausgabe - 2 (Integer)
echo $wert;
?>

Hier eine Zusammenfassung zur automatischen Typzuweisung:
. In Anführungszeichen "" oder ' ' eingeschlossene Zeichen werden als String interpretiert.
. Eine Zahl ohne Punkt wird als Ganzzahl interpretiert.
. Eine Zahl mit Punkt wird als Fliesskommazahl interpretiert.
. Bei der Auswertung von Ausdrücken bestimmt der verwendete Operator den Datentyp des Ergebnisses.

NULL

Typ-Umwandlung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Typ-Umwandlung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Typ-Umwandlung

Explizite Typumwandlung

Typ-Umwandlung in PHP funktioniert vielfach wie in C. Der Name des gewünsch-ten Typs wird vor der umzuwandelnden Variablen in Klammern gesetzt, dies wird auch als cast-Operation bezeichnet.

Beispiel

<?php
// Integer
$zahl = 100;
// Float
$zahl = (float) $zahl;
// Ausgabe - float(100)
echo var_dump($zahl);
?>

Folgende Umwandlungen sind möglich:
. (int), (integer) - nach integer
. (bool), (boolean) - nach boolean
. (float), (double), (real) - nach float
. (string) - nach string
. (array) - nach array
. (object) - Wandlung zum Objekt

Anstatt eine Variable in einen String umzuwandeln, können Sie die Variable auch in doppelte Anführungszeichen einschließen.

Beachten sie, dass Tabulatoren und Leerzeichen innerhalb der Klammern erlaubt sind. Deshalb sind die folgenden Beispiele identisch:

$zahl = (int) $zahl;
$zahl = ( int ) $zahl;

Es ist nicht immer offenkundig, was bei der Typ-Umwandlung geschieht. Sollten Sie eine Umwandlung eines Arrays zu einem String vornehmen oder erzwingen, ist das Ergebnis das Wort Array. Wenn Sie eine Umwandlung eines Objekts zu einem String vornehmen oder erzwingen, ist das Ergebnis das Wort Objekt.

Bei der Umwandlung einer skalaren oder String-Variablen zu einem Array wird die Variable das erste Element des Arrays:

<?php
$vorname = 'Caroline';
$personen = (array) $vorname;
// Ausgabe - Caroline
echo $personen[0];
?>

Sobald eine skalare oder String-Variable in ein Objekt gewandelt wird, wird die Variable zu einem Attribut des Objekts; der Eigenschafts-Name wird 'scalar':

<?php
$vorname = 'Caroline';
$obj = (object) $vorname;
// Ausgabe - Caroline
echo $obj->scalar;
?>

Bei der Umwandlung sollten Sie berücksichtigen, dass nicht sämtliche Richtungen sinnvoll sind. In der folgenden Tabelle stellen wir Ihnen sinnvolle mögliche Kombinationen vor.

Zieltyp | Sinnvolle Quelltypen | Unwandlungsprinzip
integer | double | Dezimale werden abgeschnitten (keine Rundung)
int | string | Wird keine Zahl erkannt, wird 0 zurückgegeben
double | integer | unverändert
real | string | Wird keine Zahl erkannt, wird 0 zurückgegeben
string | integer | Gibt die Zahl als Zeichenkette zurück
 | double | Gibt die Zahl als Zeichenkette zurück
array | object | Wird direkt umgewandelt
 | integer | Es entsteht ein Array mit einem Element vom Ursprungstyp
 | string | Es entsteht ein Array mit einem Element vom Ursprungstyp
 | double | Es entsteht ein Array mit einem Element vom Ursprungstyp
object | array | Wird direkt umgewandelt
 | integer | Es entsteht ein Objekt mit einer Eigenschaft, die durch die Variable repräsentiert wird.
 | string | Es entsteht ein Objekt mit einer Eigenschaft, die durch die Variable repräsentiert wird.
 | double | Es entsteht ein Objekt mit einer Eigenschaft, die durch die Variable repräsentiert wird.

Zeichenkettenkonvertierung

Bei der Umwandlung von Zeichenketten wendet PHP bestimmte Regeln an. Mit deren Kenntnis können Sie das Ergebnis voraussagen und von der Umwandlung sicher Gebrauch machen:
. integer entsteht, wenn die Zeichenkette mit einem gültigen numerischen Zeichen (Ziffer, Plus oder Minus) beginnt und dahinter nicht die Zeichen . , e oder E folgen. Ist der erste Teil der Zeichenkette ein gültiger Ausdruck, wird der Rest ignoriert.
. float (double) entsteht, wenn die Zeichenkette mit einem gültigen numerischen Zeichen (Ziffer, Plus oder Minus) beginnt und dahinter die Zeichen . , e oder E folgen. Ist der erste Teil der Zeichenkette ein gültiger Ausdruck, wird der Rest ignoriert.

Hinweis: Die Zeichen e oder E dienen der Darstellung von Exponenten. Die Schreibweise Enn steht für x10nn. Generell dient der Punkt . als Dezimaltrennzeichen. Sie müssen dies bei Zuweisungen von Variablen berücksichtigen. Zur Ausgabe lassen sich Zahlen mit der Funktion number_format in die benötigte Form bringen (deutsche Schreibweise mit Komma).

Umwandlungsfunktion

Neben der Angabe des Datentyps als cast-Ausdruck kann auch die Funktion settype() eingesetzt werden. In manchen Ausdrücken wird eine Funktion erwartet, oft dient der Einsatz jedoch lediglich der besseren Lesbarkeit.

settype (string var, string type)

Der Typ der Variablen var wird festgelegt als type. Mögliche Werte für type sind:
. "integer"
. "double"
. "string"
. "array"
. "object"

Beispiel

<?php
$preis = 9.99;
settype($preis,"integer");
// Ausgabe (9)
echo $preis
?>

Beispiel

<?php
$preis = 9.99;
settype($preis,"object");
// Ausgabe Object id #1
echo $preis;
// Ausgabe (9.99)
echo $preis->scalar;
?>

Hinweis: Bei erfolgreicher Umwandlung, liefert settype() TRUE, sonst FALSE. So haben Sie die Möglichkeit auf eine fehlerhafte Umwandlung mit Hilfe einer Bedingung zu reagieren.

Beispiel

<?php
$preis = 9.99;
// Aushabe (9)
if (settype($preis,"integer") == 1) {
    echo $preis;
} else {
    echo "Fehler!";
}
?>

Sollte Ihnen settype() zu umständlich sein, können Sie auch die abgeleiteten val-Funktionen verwenden:
. intval(string var) - Diese Funktion wandelt in integer um.
. doubleval (string var) - Diese Funktion wandelt in double um.
. strval(string var) - Diese Funktion wandelt in string um.

Beispiel

<?php
$preis = 9.99;
// Aushabe (9)
echo intval($preis);
?>

Typen Besonderheiten

Datentypen bestimmen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datentypen bestimmen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datentypen bestimmen

Einsatz von var_dump()

Um beispielsweise den Typ und den Wert eines bestimmten Ausdrucks, sog Expression zu überprüfen, können Sie var_dump() einsetzen.

Beispiel

<pre>
<?php
$personen = array(array('Matthias','Kannengiesser',29),
            array('Caroline','Kannengiesser',25),
            array('Gülten','Kannengiesser', 59,
                 array('Eltern','Mutter')));
var_dump($personen);
?>
</pre>

Ausgabe

array(3) {
  [0]=>
  array(3) {
    [0]=>
    string(8) "Matthias"
    [1]=>
    string(13) "Kannengiesser"
    [2]=>
    int(29)
  }
  [1]=>
  array(3) {
    [0]=>
    string(8) "Caroline"
    [1]=>
    string(13) "Kannengiesser"
    [2]=>
    int(25)
  }
  [2]=>
  array(4) {
    [0]=>
    string(6) "Gülten"
    [1]=>
    string(13) "Kannengiesser"
    [2]=>
    int(59)
    [3]=>
    array(2) {
      [0]=>
      string(6) "Eltern"
      [1]=>
      string(6) "Mutter"
    }
  }
}

Diese Funktion hat die Aufgabe Informationen über Typ und Wert des Parameter zurück zu geben. Arrays und Objekte werden rekursiv, von innen nach aussen, durchlaufen und mit entsprechender Einrückung dargestellt.

Sollten Sie zur Fehlersuche lediglich eine lesbare Darstellung eines Typs benötigen, steht Ihnen hierfür gettype() zur Verfügung.

Einsatz von gettype()

Beispiel

<?php
$vorname = "Caroline";
$alter = 25;

// Ausgabe - string
echo gettype($vorname);
// Ausgabe - integer
echo gettype($alter);
?>

Die Funktion gibt die bereits bekannte Typbezeichner als Zeichenkette zurück. Konnte der Typ nicht erkannt werden, so wird die Zeichenkette unknown type erzeugt.

Achtung: Um den Typ zu prüfen, sollten Sie nicht gettype() verwenden. Stattdessen sollten Sie die is_type Funktionen verwenden. Diese finden sie weiter unten im Abschnitt Datentypen bestimmen.

Bei logischen Ausdrücken ist die Verwendung von gettype() zu umständlich. Sie können daher eine ganze Reihe von is_type-Funktionen einsetzen, die True (1) oder False (0) zurückgeben.

Funktion | Beschreibung
is_long(string var) is_integer(string var) is_int(string var) | Ermittelt, ob es sich um einen Ausdruck vom Typ integer handelt. Gibt 1 zurück, wenn die Variable vom Typ integer ist.
is_double(string var) is_real(string var) is_float(string var) | Ermittelt, ob es sich um einen Ausdruck vom Typ double bzw. float handelt. Gibt 1 zurück, wenn die Variable vom Typ double oder float ist.
is_string(string var) | Ermittelt, ob es sich um einen Ausdruck vom Typ string handelt. Gibt 1 zurück, wenn die Variable vom Typ string ist.
is_numeric(string var) | Ermittelt, ob es sich um einen numerischen Typ (integer, double) handelt. Gibt 1 zurück, wenn die Variable vom Typ integer oder double ist.
is_bool(string var) | Ermittelt, ob es sich um einen Ausdruck vom Typ boolean handelt. Gibt 1 zurück, wenn die Variable vom Typ boolean ist.
is_array(string var) | Ermittelt, ob es sich um einen Ausdruck vom Typ array handelt. Gibt 1 zurück, wenn die Variable vom Typ array ist.
is_object(string var) | Ermittelt, ob es sich um einen Ausdruck vom Typ object bzw. Objektvariable handelt. Gibt 1 zurück, wenn die Variable vom Typ object ist.
is_null | Ermittelt, ob es sich um einen Ausdruck vom Typ null handelt. Gibt 1 zurück, wenn die Variable vom Typ null ist.
is_resource | Ermittelt, ob es sich um einen Ausdruck vom Typ resource handelt. Gibt 1 zurück, wenn die Variable vom Typ resource ist.
is_scalar | Ermittelt, ob es sich um einen Ausdruck vom Typ integer, float, string oder boolean handelt. Gibt 1 zurück, wenn die Variable vom Typ integer, float, string oder boolean ist.

Beispiel

<?php
$preis = "9.99";
// Aushabe - Es ist ein String
if (is_string($preis)) {
    echo "Es ist ein String";
} else {
    echo "Kein String";
}
?>

Beispiel

<?php
$signal = FALSE;
// Aushabe - Ist bool
if (is_bool($signal)) {
    echo "Ist bool";
} else {
    echo "Kein bool";
}
?>

Allerdings verhalten sich die Funktionen nicht alle einheitlich. So akzeptiert die Funktion is_numeric() auch numerische Werte, die in Anführungszeichen, also als Strings, übergeben werden. Der Wert darf lediglich keine Buchstaben enthalten.

Beispiel

<?php
$wert = "9.99";
// Aushabe - Ist eine Zahl
if (is_numeric($wert)) {
    echo "Ist eine Zahl";
} else {
    echo "Ist keine Zahl";
}
?>

Wenn sie die Umwandlung in einen bestimmten Typ erzwingen wollen, erreichen Sie dies entweder durch cast-Ausdrücke oder durch Gebrauch der Funktion settype().

Beachten Sie, dass sich eine Variable in bestimmten Situationen unterschiedlich verhalten kann, abhängig vom Typ dem die Variable zum Zeitpunkt ihrer Verarbeitung entspricht.

Typ-Umwandlung

Variablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Was ist eine Variable?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Was ist eine Variable?

Eine der wichtigsten Merkmale einer Programmiersprache ist die Fähigkeit, Daten zu verwalten. Diese Daten werden in Variablen gespeichert und können aus diesen auch wieder ausgelesen werden. Eine Variable kann man sich wie einen Behälter für Informationen vorstellen, Sie könnten jedoch noch weitere Vergleiche heranziehen, um eine Variable zu beschreiben.

Eine Variable ist,
. ein Lager mit einer eindeutigen Kennung, in das man Dinge ablegen und herausnehmen kann.
. eine Einkaufstüte, in die Sie Waren hineinlegen und herausnehmen können.
. ein Notizzettel, auf dem Sie Termine eintragen, entfernen oder ändern können.

Dabei müssen Sie sich eines klar machen: Der Behälter an sich bleibt immer gleich, lediglich sein Inhalt kann sich ändern. Machen Sie sich aber keine Sorgen, Sie können theoretisch so viele Variablen erzeugen, wie es Ihr Arbeitsspeicher zu lässt.

Hinweis: Variablen findet man in praktisch jeder Programmiersprache, sei es C/C++, Java, JavaScript oder PHP. Sie dienen dazu, Daten zu repräsentieren, die sich im Laufe eines Programms verändern können. Das Pendant zu den Variablen sind die Konstanten, deren Wert sich nicht ändert.

Es empfiehlt sich, einer Variablen beim Definieren stets einen bekannten Wert zuzuweisen. Dies wird als Initialisieren einer Variablen bezeichnet. Die Initialisierung ermöglicht es Ihnen, den Wert der Variablen zu überwachen und Veränderungen zu erfassen.

Der Datentyp des Wertes einer Variablen bestimmt, wie dieser sich bei einer Zuweisung in einem Skript ändert. Zu den am häufigsten in Variablen gespeicherten Informationen gehören:
. Nutzerinformation (wie Nutzernamen, Anschrift, Telefonnumer, etc.)
. Ergebnisse aus mathematischen Berechnungen

Variablen

Variablendefinition

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Variablendefinition

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Variablendefinition

Variablen bestehen aus drei Teilen:
. dem Variablennamen,
. einem Speicherbereich,
. einem Wert.

Um in einer Variablen einen Wert ablegen zu können, muss es irgendein Medium geben, in dem der Wert der Variablen festgehalten werden kann. Wären Variablen Notizzettel, wäre Papier das gesuchte Medium. Da Variablen jedoch im Computer existieren, scheidet das Medium Papier aus.

Wo werden die Werte der Variablen gespeichert?

Natürlich im Arbeitsspeicher, genauer gesagt im Arbeitsspeicher des Computers, auf dem Server-Rechner, auf dem der PHP-Code ausgeführt wird.

Sie sollten sich dabei folgendes Szenario vor Augen halten: Den PHP-Code, den wir erstellen, wird erst beim Aufruf des PHP-Dokuments ausgeführt. Trifft nun der PHP-Interpreter dabei auf eine Variablendefinition, reserviert dieser im Arbeitsspeicher einen passenden Speicherbereich und verbindet diesen mit der Variablen. Wird im PHP-Code der Wert der Variable abgefragt, liest der Interpreter den aktuellen Wert aus, der im Speicherbereich der Variable abgelegt ist und liefert ihn zurück. Wird der Variablen ein neuer Wert zugewiesen, schreibt der Interpreter den neuen Werte in den Speicherbereich der Variable, dabei wird der alte Wert gelöscht.

Die Besonderheit liegt darin, dass die gesamte Speicherverwaltung vom Interpreter übernommen wird. Sie brauchen sich als Programmierer nicht weiter darum kümmern, in welchen Speicherbereich die Variable abgelegt wurde. Ein Programmierer sollte wissen, dass hinter einer Variable ein Speicherbereich steht, doch für die tägliche Arbeit genügt es zu wissen, dass Variablen über ihre Namen angesprochen werden. Dies hat auch Auswirkungen auf die gängige Sprachregelung.

Beispiel

$vorname = "Matthias";

Für den Interpreter bedeutet diese Anweisung:

"Nehme die Zeichenkette Matthias und schreibe sie in den Speicherbereich, der für die Variable mit Namen $vorname reserviert wurde."

Wir sagen dazu einfach:

"Der Variable $vorname wird die Zeichenkette Matthias zugewiesen."

Was ist eine Variable?

L- und R-Wert

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


L- und R-Wert

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

L- und R-Wert

Wie Sie wissen, sind Variablen mit Speicherbereichen verbunden. Über den Vari-ablennamen können Sie sowohl einen Wert in einer Variablen speichern, als auch den Wert einer Variablen auslesen. Woher weiss der Interpreter, ob Sie den Wert einer Variablen auslesen oder einen neuen Wert in einer Variablen speichern wollen.

Dies ist im Grunde recht einfach. Nach der Definition repräsentiert der Variablenname grundsätzlich den Wert der Variablen. Nur wenn der Variablenname auf der linken Seite einer Zuweisung auftaucht, steht er für den Speicherbereich, in dem der Inhaltswert des rechten Teils der Zuweisung abzulegen ist.

In einer einzigen Zuweisung kann ein Variablenname also sowohl den Wert der Variablen, als auch den Speicherbereich der Variablen repräsentieren:

Beispiel

zahlEins = zahlEins + 10;

Aus diesem Grund spricht man auch vom:
. L-Wert (Linkswert = Speicherbereich der Variablen)
. R-Wert (Rechtswert = akueller Wert der Variablen)

Sie sollten sich diesen Zusammenhang besonders gut merken, da Sie immer wieder hiermit konfrontiert werden.

Variablendefinition

Benennen von Variablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Benennen von Variablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Benennen von Variablen

Wie Sie bereits wissen, besitzt jede Variable einen Namen oder auch Bezeichner. Bei der Benennung von Variablen sind einige Regeln zu beachten:
. Bezeichner müssen immer mit einem Dollarzeichen ($) beginnen.
. Die darauf folgenden Zeichen können beliebige Buchstaben, Ziffern oder Unterstriche sein.
. Zwischen Groß- und Kleinschreibung wird unterschieden.
. Es dürfen keine von PHP reservierten Wörter als Bezeichner verwendet werden.
. Bezeichner müssen in einer Zeile Platz finden.
. Bezeichner dürfen keine Leerzeichen enthalten.

Achtung: Der Variablenname sollte auch nie mehr als 255 Zeichen besitzen.

Gültige Variablennamen

$einheit = "Meter";
$zahl = 1000;
$_bilder = "foto.jpg";
$spielerName = "Thomas";
$max_wert = 100;

Ungültige Variablennamen

1einheit = "Meter";
%zahl = "100%";
$ = "Dollarzeichen";
_ = "Unterstrich";
max wert = 100;
wert: = "Zehntausend";

L- und R-Wert

Variablenwerte

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Variablenwerte

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Variablenwerte

Wenn Sie eine oder mehrere Variablen deklariert haben, stellt sich die Frage, was Sie mit den Variablen anfangen können. Der erste Schritt wäre, der Variablen einen Wert zuzuweisen.

Wie man einer Variablen einen Wert zuweist, haben Sie bereits an zahlreichen Beispielen im Buch kennen gelernt. Der Variable wird der neue Wert mit Hilfe des (=)-Operators zugewiesen.

Beispiel

$artikelnummer = 12568;
$firmenname = "Madania Netware";

Die Syntax ist nicht schwierig, die Variable ist folgendermassen aufgebaut:
. Links steht die Variable, der ein neuer Wert zugewiesen wird.
. Es folgt der Zuweisungsoperator (=)-Operator.
. Rechts vom Zuweisungsoperator steht der neue Wert der Variable.
. Abgeschlossen wird die Zeile mit einem Semikolon.

Hinweis: Beim (=)-Operator handelt es sich um einen Zuweisungsoperator. Der Operator sorgt dafür, dass der Variable ein neuer Wert zugewiesen wird. Ein Vergleich findet hier nicht statt. Natürlich kann auch auf der rechten Seite des Zuweisungsoperators ein Ausdruck stehen, den der Interpreter zu einem einzelnen Wert umberechnen kann.

Beispiel

$summe = 10 + 10;    // Die Variable $summe enthält den Wert 20

In so einem Fall berechnet der Interpreter zuerst den Ausdruck auf der rechten Seite. Das Ergebnis der Berechnung weist er als neuen Wert der Variablen $summe zu. Die Variable hat danach den Wert 20. Nun kennen Sie auch die interne Arbeitsweise des Interpreter. Sie sollten nun versuchen, den gespeicherten Wert abzurufen. Denn eine Variable samt Ihrem Wert ist nur dann interessant, wenn Sie den Wert der Variable zu einem späteren Zeitpunkt abrufen können, beispielsweise um deren Wert einer anderen Variable zuzuweisen oder um ihn in die Berechnung einer Formel einfliessen zu lassen.

Beispiel

$zahleins = 25;
$zahlzwei = 75;

$zahleins = $zahlzwei;

Hier wird der Variable $zahleins der Wert der Variable $zahlzwei zugewiesen. Danach enthalten beide Variablen den Wert 75.

Obwohl es in der Programmierung relativ häufig vorkommt, dass man einer Variablen den Wert einer anderen Variable zuweist, ist es meist interessanter, wenn auf der Grundlage des einen Wertes ein neuer Wert berechnet wird.

Beispiel

<?php
// Prozentberechnung (Anteil in Prozent)
$gesamt = 1000;
$aktanteil = 100;

// Wert 10 (entspricht 10%)
$prozentanteil = ($aktanteil * 100)/$gesamt;
// Ausgabe (10)
echo $prozentanteil;
?>

Hier wird der Wert der Variable $aktanteil mit Hilfe des Multiplikations-Operators mit dem Faktor 100 multipliziert und anschließend durch den Wert der Variablen gesamt mit Hilfe des Divisions-Operators dividiert. Das Ergebnis wird in $prozentanteil gespeichert. Beachten Sie, dass die Werte der Variablen $aktanteil und gesamt dabei nicht verändert werden. Diese werden lediglich abgefragt und fliessen in die Berechnung ein.

Variablenwerte ohne Hilfe von temporäre Variablen austauschen

Sollten Sie die Werte zweier Variablen vertauschen wollen, ohne hierbei zusätzliche Variablen in anspruch zu nehmen. Können Sie die Funktion list() verwenden.

Beispiel

<?php
$wert1 = 100;
$wert2 = 999;
list($wert1,$wert2) = array($wert2,$wert1);
// Ausgabe (999)
echo "$wert1<br>";
// Ausgabe (100)
echo "$wert2<br>";
?>

Wie Sie sehen werden den Elementen eines Arrays einzelnen Variablen zugewiesen. Das Gegenstück auf der rechten Seite des Ausdrucks, array() ermöglicht Ihnen, Arrays aus einzelnen Werten zu bilden. Indem Sie das Array, das von array() zurückgegeben wird, den Variablen in list() zuweisen, verändern Sie die Anordnung dieser Werte. Dies funktioniert im übrigen auch mit mehr als zwei Variablen.

Beispiel

<?php
$wert1 = 100;
$wert2 = 999;
$wert3 = 10000;
list($wert1,$wert2,$wert3) = array($wert3,$wert2,$wert1);
// Ausgabe (10000)
echo "$wert1<br>";
// Ausgabe (999)
echo "$wert2<br>";
// Ausgabe (100)
echo "$wert3<br>";
?>

Achtung: Diese Methode ist nicht schneller als der Einsatz von temporären Variablen. Sie sollten sie aus Gründen der Lesbarkeit und nicht der Geschwindigkeit einsetzen.

Woher können die Daten einer Variablen noch kommen?

Hier einige mögliche Quellen:

Im einfachsten Fall sind es vordefinierte konstante Werte (Konstanten).

Beispiel

<?php
$version = PHP_VERSION;
$betrieb_os = PHP_OS;

// Ausgabe 5.0.0RC1-dev
echo $version;
// Ausgabe WIN32
echo $betrieb_os;
?>

Sie rufen eine Funktion bzw. Methode auf, die einen Ergebniswert zurückliefert.

Beispiel

<?php
$wert = abs(-10);
// Ausgabe (10)
echo $wert;
?>

Benennen von Variablen

Unwandeln und Prüfen von Variablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Unwandeln und Prüfen von Variablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Unwandeln und Prüfen von Variablen

PHP stellt eine Vielzahl von Funktionen zur Verarbeitung von Variablen zur Verfügung, so dass es dem Entwickler nicht schwer fallen wird sie im Griff zu haben.

Einsatz von isset()

Bei logischen Vergleichen kann es äusserst wichtig sein zu prüfen, ob eine Variable mit 0 oder einem leer String gefüllt wurde, oder überhaupt noch nicht zugewiesen wurde. Sie können mit der Funktion isset() testen, ob eine Variable existiert.

Beispiel

<?php
$preis = 9.99;
if (isset($preis)) {
    echo $preis;
} else {
    echo "Umsonst!";
}
?>

Ausgabe

9.99

Wie man sieht lässt sich die Funktion hervorragend in eine Bedingung unterbringen und somit kann man jederzeit überprüfen ob die jeweilige Variable bereits existiert oder nicht.

Einsatz von empty()

Wenn Sie nur testen möchten, ob ein Wert zugewiesen wurde, ist die Funktion empty() genau das Richtige.

Beispiel

<?php
$vorname = "";
if (empty($vorname)) {
    echo "Ist leer und existiert";
} else {
    echo "Ist nicht leer und existiert";
}
?>

Ausgabe

Ist leer und existiert

Die Funktion gibt 1 (True) zurück, wenn der Inhalt der Variablen 0 oder ein leer String ist und die Variable existiert.

Einsatz von unset()

Sollten Sie vorhaben eine Zuweisung bzw. Variable wieder aufzuheben und die Variable damit zu löschen, steht Ihnen die Funktion unset() zur Verfügung.

Beispiel

<?php
$vorname = "Caroline";
unset($vorname);
if (isset($vorname)) {
    echo "Existiert!";
} else {
    echo "Existiert Nicht!";
}
?>

Ausgabe

Existiert Nicht!

Hier eine Aufstellung der wichtigsten Funktion zum Prüfen von Variablen, samt ihrer Rückgabewerte.

Funktion | Beschreibung | Rückgabewert
is_integer | Prüft ob die Variable vom Typ integer ist. | TRUE (1)/FALSE (0)
is_int | Prüft ob die Variable vom Typ integer ist. | TRUE (1)/FALSE (0)
is_long | Prüft ob die Variable vom Typ integer ist. | TRUE (1)/FALSE (0)
is_real | Prüft ob die Variable vom Typ real ist. | TRUE (1)/FALSE (0)
is_double | Prüft ob die Variable vom Typ double ist. | TRUE (1)/FALSE (0)
is_float | Prüft ob die Variable vom Typ float ist. | TRUE (1)/FALSE (0)
is_bool | Prüft ob die Variable vom Typ bool ist. | TRUE (1)/FALSE (0)
is_array | Prüft ob die Variable vom Typ array ist. | TRUE (1)/FALSE (0)
is_object | Prüft ob die Variable vom Typ object ist. | TRUE (1)/FALSE (0)
is_string | Prüft ob die Variable vom Typ string ist. | TRUE (1)/FALSE (0)
is_null | Prüft ob die Variable vom Typ null ist. | TRUE (1)/FALSE (0)
is_numeric | Prüft ob die Variable eine Zahl oder ein numerischer String ist. | TRUE (1)/FALSE (0)
is_resource | Prüft ob die Variable eine Resource ist. | TRUE (1)/FALSE (0)
is_scalar | Prüft ob die Variable vom Typ integer, float, string oder boolean ist. | TRUE (1)/FALSE (0)
isset | Prüft ob die Variable definiert ist. | TRUE (1)/FALSE (0)
unset | Löscht eine Variable aus dem Speicher. | 1
empty | Prüft ob die Variable "leer" ist. | TRUE (1)/FALSE (0)
intval | Wandelt den Typ einer Variablen in integer um. | integer
strval | Wandelt den Typ einer Variablen in string um. | string
doubleval | Wandelt den Typ einer Variablen in double um. | double
floatval | Wandelt den Typ einer Variablen in float um. | float
gettype | Ermittelt den Typ der Variablen. | string
settype | Legt den Typ der Variablen fest. | TRUE (1)/FALSE (0)

Einsatz von get_defined_vars()

Dies Funktion get_defined_vars() gibt ein mehrdimensionales Array zurück, welches eine Liste sämtlicher definierter Variablen enthält. Dabei handelt es sich um Variablen aus der Entwicklungsumgebung, vom Server oder um nutzerdefinierte Variablen.

Beispiel - Servervariablen

<pre>
<?php
$liste = get_defined_vars();
print_r($liste["_SERVER"]);
?>
</pre>

Ausgabe

Array
(
    [HTTP_ACCEPT] => */*
    [HTTP_ACCEPT_LANGUAGE] => de
    [HTTP_ACCEPT_ENCODING] => gzip, deflate
    [HTTP_USER_AGENT] => Mozilla/4.0.
    [HTTP_HOST] => localhost
    [HTTP_CONNECTION] => Keep-Alive
    [HTTP_CACHE_CONTROL] => no-cache
    [PATH] => C:\WINDOWS;C:\WINDOWS\COMMAND
    [COMSPEC] => C:\WINDOWS\COMMAND.COM
    [WINDIR] => C:\WINDOWS
    [SERVER_SIGNATURE] => Apache/2.0.48 (Win32) PHP/5.0.
    [SERVER_SOFTWARE] => Apache/2.0.48 (Win32) PHP/5.0.
    [SERVER_NAME] => localhost
    [SERVER_ADDR] => 127.0.0.1
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => 127.0.0.1
    [DOCUMENT_ROOT] => C:/php5xampp-dev/htdocs
    [SERVER_ADMIN] => admin@localhost
    [SCRIPT_FILENAME] => C:/php5xampp-dev/htdocs/test.php
    [REMOTE_PORT] => 1334
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] =>
    [REQUEST_URI] => /php5/test.php
    [SCRIPT_NAME] => /php5/test.php
    [PHP_SELF] => /php5/test.php
)

Beispiel - Array Schlüssel des Systems

<pre>
<?php
print_r(array_keys(get_defined_vars()));
?>
</pre>

Ausgabe

Array
(
    [0] => GLOBALS
    [1] => HTTP_ACCEPT
    [2] => HTTP_ACCEPT_LANGUAGE
    [3] => HTTP_ACCEPT_ENCODING
    [4] => HTTP_USER_AGENT
    [5] => HTTP_HOST
    [6] => HTTP_CONNECTION
    [7] => HTTP_CACHE_CONTROL
    [8] => PATH
    [9] => COMSPEC
    [10] => WINDIR
    [11] => SERVER_SIGNATURE
    [12] => SERVER_SOFTWARE
    [13] => SERVER_NAME
    [14] => SERVER_ADDR
    [15] => SERVER_PORT
    [16] => REMOTE_ADDR
    [17] => DOCUMENT_ROOT
    [18] => SERVER_ADMIN
    [19] => SCRIPT_FILENAME
    [20] => REMOTE_PORT
    [21] => GATEWAY_INTERFACE
    [22] => SERVER_PROTOCOL
    [23] => REQUEST_METHOD
    [24] => QUERY_STRING
    [25] => REQUEST_URI
    [26] => SCRIPT_NAME
    [27] => PHP_SELF
    [28] => _POST
    [29] => HTTP_POST_VARS
    [30] => _GET
    [31] => HTTP_GET_VARS
    [32] => _COOKIE
    [33] => HTTP_COOKIE_VARS
    [34] => _SERVER
    [35] => HTTP_SERVER_VARS
    [36] => _ENV
    [37] => HTTP_ENV_VARS
    [38] => _FILES
    [39] => HTTP_POST_FILES
    [40] => _REQUEST
)

Beispiel

<pre>
<?php
$liste = get_defined_vars();
print_r($liste);
?>
</pre>

Ausgabe

Die Ausgabe haben wir uns und Ihnen erspart, nur so viel sei verraten hiermit erfahren Sie recht interessante Dinge über Ihren Server.

Variablenwerte

Gültigkeitsbereiche und Sichtbarkeit von Variablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Gültigkeitsbereiche und Sichtbarkeit von Variablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Gültigkeitsbereiche und Sichtbarkeit von Variablen

Ein wichtiges Thema im Zusammenhang mit Variablen ist deren Gültigkeitsbereich und Sichtbarkeit. Generell gilt, dass in PHP Variablen immer nun in ihrem lokalen Kontext sichtbar sind.

Dieser beinhaltet auch den Bereich für Dateien, die per include- oder require-Anweisung eingebunden wurden, z.B.:

$autor = "Matthias";
include "buch.inc.php";

Die Variable $autor ist auch in der eingebundenen Datei buch.inc.php verfügbar. Eine innerhalb einer Funktion definierte Variable ist ausserhalb der Funktion nicht sichtbar. Umgekehrt gilt dasselbe, d.h. eine ausserhalb sämtlicher Funktionsblöcke global definierte Variable hat innerhalb eines Funktionsblocks keine Gültigkeit.

Beispiel

<?php
// Globaler Bereich
$preis = 9.99;
function berechne() {
    // Referenz auf einen lokalen Bereich
    return $preis;
}
$betrag = berechne();
if ($betrag) {
    echo $betrag;
} else {
    echo "Keine Ausgabe, die Variable ist lokal nicht sichtbar!";
}
?>

Ausgabe

Keine Ausgabe, die Variable ist lokal nicht sichtbar!

Um zu erreichen, dass die globale Variable $preis auch lokal innerhalb der Funktion berechne bekannt ist, muss diese explizit mithilfe des Schlüsselworts global innerhalb der Funktion bekannt gemacht werden, man lädt sie so zu sagen ein.

Beispiel

<?php
$preis = 9.99;
function berechne() {
    global $preis;
    return $preis;
}
$betrag = berechne();
if ($betrag) {
    echo $betrag;
} else {
    echo "Keine Ausgabe, die Variable ist lokal nicht sichtbar!";
}
?>

Ausgabe

9.99

Hinweis: Auf den Einsatz und die Verwendung von Funktionen wird im Abschnitt Funktionen und Prozeduren eingegangen.

Zugriff über $GLOBALS

Eine andere Möglichkeit im lokalen Kontext einer Funktion auf eine globale Variable zuzugreifen, steht über das von PHP definierte Array $GLOBALS zur Verfügung.

Hierbei handelt es sich um eine assoziatives Array, das die Namen der globalen Variablen als Schlüsselwörter verwendet. Den Zugriff innerhalb des lokalen Kontextes einer Funktion über das Array $GLOBALS auf die lokale Variable $preis zeigt folgendes Beispiel:

<?php
$preis = 9.99;
function berechne() {
    return $GLOBALS[preis];
}
echo berechne();
?>

Ausgabe

9.99

Speicherklassen von Variablen

Eine weitere wichtige Eigenschaft von Variablen ist deren Speicherklasse. Normale Variablen verlieren beim Verlassen des lokalen Kontextes ihren Wert und werden beim Wiedereintritt neu initialisiert.

Sollen Variablen auch nach dem Verlassen eines Funktionsblocks ihren Wert behalten müssen sie mithilfe des Schlüsselworts static als statische Variablen vereinbar werden.

Im folgenden Beispiel hat die Variable $zaehler keine statische Lebensdauer, sie wird bei jedem Neueintritt in den Funktionsblock erneut initialisiert. Das Ergebnis der Ausgabe bleibt trotzt zweimaligen Aufrufs der Funktion setzeZaehler() 1.

<?php
function setzeZaehler() {
    $zaehler = 0;
    $zaehler++;
    return $zaehler;
}
$zustand1 = setzeZaehler();
// Ausgabe (1)
echo $zustand1;
$zustand2 = setzeZaehler();
// Ausgabe (1)
echo $zustand2;
?>

Wird die Variable $zaehler jedoch statisch vereinbar, behält sie auch nach dem Verlassen des Funktionsblocks und dem Wiedereintritt bei einem erneuten Aufruf der Funktion setzeZaehler() ihren Wert, sodass sich, wie das folgende Beispiel zeigt, ein anderes Ergebnis ergibt:

<?php
function setzeZaehler() {
    static $zaehler = 0;
    $zaehler++;
    return $zaehler;
}
$zustand1 = setzeZaehler();
// Ausgabe (1)
echo $zustand1;
$zustand2 = setzeZaehler();
// Ausgabe (2)
echo $zustand2;
?>

Eine weitere interessante Anwendung in diesem Zusammenhang sind rekursive Funktionen. Dies sind Funktionen, die sich aus sich selbst heraus aufrufen. Hierbei besteht die Gefahr, so genannte Endlos-Schleifen bzw. Endlos-Rekursionen zu programmieren, welche die Performance des jeweiligen Systems äusserst negativ beeinflussen. Sie müssen also einen Weg vorsehen, diese Rekursion zu beenden. Die folgende Funktion setzeZaehler() zählt rekursiv bis 10. Die statische Variable $zaehler wird benutzt, um die Rekursion zu beenden:

<?php
function setzeZaehler() {
    static $zaehler = 0;

    $zaehler++;
    echo $zaehler;
    if ($zaehler < 10) {
        setzeZaehler();
    }
}
// Ausgabe (12345678910)
setzeZaehler();
?>

Achtung: Sollten sie keine statische Variable verwenden kommt es zu einer Endlos-Schleife.

Unwandeln und Prüfen von Variablen

Dynamische Variablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dynamische Variablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dynamische Variablen

Interessant ist die Möglichkeit in PHP, auch Variablennamen selbst in Variablen zu speichern und so quasi auf Variablen zuzugreifen. Die Zuweisung erfolgt in zwei Schritten. Zuerst wird eine normale Variable erzeugt, der Sie den Namen der dynamischen Variablen zuordnen:

$varname = "meinevariable";

Eine dynamische Variable nimmt den Wert einer Variablen als Namen. Der implizierten Variablen können Sie einen Wert zuweisen, indem zwei $$-Zeichen vorangestellt werden:

$$varname = "PHP";

Sollten Sie die zuvor gezeigte Definition verwendet haben, gibt das Skript nun mit echo($meinevariable) den Wert "PHP" aus. Einmal erfolgte Zuweisungen bleiben von späteren Umbenennungen der führenden Variablen unberührt. Das folgende Beispiel zeigt einige Varianten:

<?php
$varname = "meinevariable";
echo "Variable varname ist: $varname <BR>";
$name = "PHP";
echo "Variable name ist: $name <BR>";
$$varname = "Dynamisch";
echo "Variable varname ist: $meinevariable <BR>";
$varname = "Programmieren";
echo "Variable varname ist: $meinevariable <BR>";
echo "Variable varname ist: $varname <BR>";
?>

Ausgabe

Variable varname ist: meinevariable
Variable name ist: PHP
Variable varname ist: Dynamisch
Variable varname ist: Dynamisch
Variable varname ist: Programmieren

Sie sollten sich dieses Ergebnis in ruhe betrachten.

Dynamische Variablen mit Arrays

Dynamische Variablen können auch mit Arrays genutzt werden. In diesem Fall kann es zu Zuordnungsproblemen kommen. Der PHP-Interpreter kann nicht immer eindeutig erkennen, auf welchen Teil der Konstruktion sich die Indizes beziehen. So könnte mit $$zahl[1] sowohl $zahl[1] eine Variable sein oder $$zahl als Teil eines Arrays mit dem Index 1. In solchen Fällen fassen Sie die logisch zusammenhängenden Teile des Ausdrucks mit geschweiften Klammern zusammen, entweder ${$zahl[1]} oder ${$zahl}[1].

Anwendungsmöglichkeiten

Diese komplizierte Art der Verarbeitung von Variablen mag auf den ersten Blick wenig sinnvoll erscheinen. Das folgende Beispiel zeit, wie es angewendet werden kann.

Angenommen, Sie möchten sich Variablen über mehrere Skripte hinweg merken. Das kann in einer Datei oder einer Datenbank geschehen. In jedem Fall speichern Sie die zu speichernden Variablen in einem Array, wobei immer der Name der Variablen und der Inhalt zusammen ein Element ergeben.

Beispiel

<?php
$personen = array(
    "vorname" => "Caroline",
    "nachname" => "Kannengiesser",
    "ort" => "Berlin",
    "alter" => 25
    );
if (is_array($personen)) {
    while (list($name,$wert) = each($personen)) {
        ${$name} = $wert;
        echo "$name : $name / ${$name} / $wert <BR>";
    }
}
?>

Ausgabe

vorname : vorname / Caroline / Caroline
nachname : nachname / Kannengiesser / Kannengiesser
ort : ort / Berlin / Berlin
alter : alter / 25 / 25

Tipp: Betrachten Sie die Ausgabe und ziehen Sie ihr eigenes Urteil!

Wenn dieses Skript abläuft, entstehen vier Variablen: $vorname, $nachname, $ort und $alter. Diese sind mit den Daten "Caroline", "Kannengiesser", 25 und "Berlin". Stellen Sie sich vor, anstatt des Arrays eine serialisierte Zeichenkette zu haben - dann steht der Speicherung im Tabellenfeld einer Datenbank nichts mehr im Wege.

Übrigens die wesentliche Codezeile, mit deren Hilfe aus der jeweiligen Zeichenkette eine gleichlautende Variable wird ist ${$name} = $wert.

Gültigkeitsbereiche und Sichtbarkeit von Variablen

Vordefinierte Variablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vordefinierte Variablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vordefinierte Variablen

PHP bietet jedem ausgeführtem Skript eine Vielzahl von vordefinierten Variablen an. Wir werden uns im folgenden Abschnitt lediglich auf einige wesentliche Variablen beschränken und Ihnen diese vorstellen.

Umgebungs- / Environment-Variablen

Diese Variablen werden aus der Umgebung, in der PHP läuft, in den globalen Namensbereich von PHP importiert. Viele werden durch die jeweilige Shell, in der PHP läuft, unterstützt bzw. gebildet. Da es verschiedenste Systemumgebungen mit den unterschiedlichsten Shell`s gibt, ist es nicht möglich, eine abschließende Liste der definierten Umgebungs-Variablen aufzustellen. Lesen Sie deshalb in der Anleitung zu ihrer Shell nach, um eine Liste dieser systembezogenen Variablen zu erhalten.

PHP-Variablen

Diese Variablen werden durch PHP selbst erzeugt. $HTTP_*_VARS Variablen stehen nur zur Verfügung, wenn die Option track_vars in der php.ini auf "on" gesetzt ist. Wenn dies der Fall ist, werden diese Variablen immer gesetzt, selbst wenn es leere Arrays sind. Das verhindert, dass ein böswilliger Nutzer diese Variablen manipuliert.

Wenn register_globals aktiviert ist, stehen auch diese Variablen im globalen Namensbereich des Skripts zur Verfügung; z.B. getrennt von den Arrays $HTTP_*_VARS und $_*.

Variable Beschreibung
$argv | Ein Array von Argumenten, die dem Skript übergeben werden. Wird das Skript an der Befehlszeile aufgerufen, ermöglicht dies C-ähnlichen Zugriff auf die Kommando- Zeilen-Parameter. Beim Aufruf per GET-Methode enthält dieses Array die Abfragewerte.
$argc | Anzahl der per Kommando-Zeile dem Skript übergebenen Parameter, wenn das Skript aus der Kommando-Zeile aufgerufen wurde.
$PHP_SELF | Der Dateiname des gerade ausgeführten Skripts, relativ zum Wurzel-Verzeichnis des Dokuments. Bei Kommando-Zeilen- Aufrufen ist diese Variable nicht verfügbar.
$HTTP_COOKIE_VARS | Ein assoziatives Array von Variablen, das dem aktuellen Skript über HTTP-Cookies übergeben wurde.
$_COOKIE | Ein assoziatives Array von Variablen, das dem aktuellen Skript über HTTP-Cookies übergeben wurde. Automatisch global in jedem Geltungsbereich. Eingeführt in PHP 4.1.0.
$HTTP_GET_VARS | Ein assoziatives Array von Variablen, das dem aktuellen Skript per HTTP-GET-Methode übergeben wurde.
$_GET | Ein assoziatives Array von Variablen, das dem aktuellen Skript per HTTP-GET-Methode übergeben wurde. Automatisch global in jedem Geltungsbereich. Eingeführt in PHP 4.1.0.
$HTTP_POST_VARS | Ein assoziatives Array aus Varaiblen, welches dem aktuellen Skript per HTTP-POST-Methode übergeben wurde.
$_POST | Ein assoziatives Array aus Variablen, welches dem aktuellen Skript per HTTP-POST-Methode übergeben wurde. Automatisch global in jedem Geltungsbereich. Eingeführt in PHP 4.1.0.
$HTTP_POST_FILES | Ein assoziatives Array aus Variablen, das Informationen über per HTTP POST-Methode hochgeladene Dateien enthält.
$_FILES | Ein assoziatives Array aus Variablen, das Informationen über per HTTP POST-Methode hochgeladene Dateien enthält. Automatisch global in jedem Geltungsbereich. Eingeführt in PHP 4.1.0.
$HTTP_ENV_VARS | Ein assoziatives Array aus Variablen, die dem aktuellen Skript über die Umgebung zur Verfügung stehen.
$_ENV | Ein assoziatives Array aus Variablen, die dem aktuellen Skript über die Umgebung zur Verfügung stehen. Automatisch global in jedem Geltungsbereich. Eingeführt in PHP 4.1.0.
$HTTP_SERVER_VARS | Ein assoziatives Array aus Variablen, die dem aktuellen Skript vom jeweiligen HTTP-Server übermittelt werden.
$_SERVER | Ein assoziatives Array aus Variablen, die dem aktuellen Skript vom jeweiligen HTTP-Server übermittelt werden. Automatisch global in jedem Geltungsbereich. Eingeführt in PHP 4.1.0.
$HTTP_SESSION_VARS | Ein assoziatives Array aus Session-Variablen, die dem aktuellen Skript übergeben wurden.
$_SESSION | Ein assoziatives Array aus Session-Variablen, die dem aktuellen Skript übergeben wurden. Automatisch global in jedem Geltungsbereich. Werden dem Array $_SESSION neue Einträge hinzugefügt, werden diese automatisch als Session-Variablen registriert, genau so als ob die Funktion session_register() aufgerufen worden wäre. Eingeführt in PHP 4.1.0.
$_REQUEST | Ein assoziatives Array zusammengesetzt aus den GET, POST und Cookie Variablen. Mit anderen Worten - alle Informationen die vom Nutzer kommen und denen aus Sichtweise der Sicherheit nicht zu trauen ist. Automatisch global in jedem Geltungsbereich. Eingeführt in PHP 4.1.0.

Hinweis: Die neuen "Superglobals" bzw. register_globals stehen seit der PHP Version 4.1.0. zur Verfügung. Dieses sind die Arrays $_GET, $_POST, $_ENV, $_SERVER, $_COOKIE, $_REQUEST, $_FILES und $_SESSION. Sie werden informell als Superglobals bezeichnet, da sie immer zur Verfügung stehen, ohne Berücksichtigung des Geltungsbereichs. Damit sind die alten, beziehungsweise die $HTTP_*_VARS Arrays veraltet. Im folgenden Abschnitt register_globals erfahren Sie mehr darüber.

Dynamische Variablen

Einsatz von register_globals

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einsatz von register_globals

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einsatz von register_globals

Welche PHP-Version verwenden Sie? Finden Sie es heraus! Prüfen Sie bei dieser Gelegenheit, wie die Variable register_globals bei Ihnen eingestellt ist. Dies gelingt mit Hilfe des PHP-Skripts

<?
phpinfo();
?>

Im Browser-Fenster wird eine umfangreiche Übersichtseite erscheinen. Scrollen Sie in dieser Datei ein Stück nach unten und überprüfen Sie die Einstellung der Variablen

register_globals.

Die Einstellung der Variablen können Sie in der Konfigurationsdatei php.ini jederzeit selbst vornehmen. Der Eintrag in der Konfigurationsdatei stellt sich wie folgt dar:

register_globals = On

Seit der PHP Version 4.2 wird diese Variable jedoch standardmäßig auf Off gesetzt.

register_globals = Off

Sie merken es vor allem dann, wenn Sie Ihren eigenen Webserver betreiben und updaten. Schalten Sie daher bei Problemen mit Ihren PHP-Skripten (vorerst) zurück auf On. Nach einem Neustart des Webservers stehen die geänderten Einstellungen zur Verfügung. Die meisten Provider mit PHP-Unterstützung haben in der Regel noch nicht auf register_globals = Off umgeschaltet. Zu groß wäre wohl der Aufschrei vieler Kunden. Schließlich bedeutete diese Maßnahme, dass viele Skripte auf einen Schlag nicht mehr funktionierten. Vor allem bei umfangreichen Projekten wäre die Umstellung mit einem erheblichen Aufwand verbunden.

Was hat es mit der Änderung auf sich?

Hinter dieser Änderung stecken z.B. die Informationen aus "GET" und "POST", "COOKIES" und "SERVER" - also praktisch der gesamte Bereich externer Variablenquellen. Und diese Werte stehen nach der Änderung der Einstellung für register_globals, nun nicht mehr zur Verfügung.

Die Informationen aus dieser Quelle können nun nicht mehr so einfach per $Variablennamen ausgelesen werden. Am Beispiel einer Formularauswertung wollen wir Ihnen dies verdeutlichen. Bisher war PHP wirklich einfach gestrickt. Der Name eines Formularfelds wurde automatisch zur Variable.

<input type="text" name="telefon">

Im auswertenden PHP-Skript griffen Sie folgendermaßen auf den Inhalt des Formularfelds zu:

$telefon

Dabei spielte es übrigens keine Rolle, ob das Formular per

method = "post"

oder

methode = "get"

abgeschickt wurde. Selbst die Werte von Cookies konnte man anhand ihres Namens ermitteln. Diese Schreibweise stellt sich als recht bequem dar, aber auch äußerst problematisch, wenn es um Eindeutigkeit und Sicherheit geht.

Probleme der Schreibweise - Eindeutigkeit

Es kann durchaus zu Verwechslungen kommen, vor allem wenn Sie nicht zu den diszipliniertesten Entwicklern gehören. Sie erzeugen etwa ein Formularfeld, das name heißt. Zufälligerweise steckt auch ein gleichnamiges Cookie in Ihrem Quellcode. Dann haben Sie ein Problem, denn sowohl der Inhalt des Formularfelds als auch der Wert des Cookies stehen nun über $name zur Verfügung. Diese Schwierigkeiten könnte man mit einer konsequenten Variablenbennenung vermeiden. Beginnen Sie Cookie-Variablen grundsätzlich mit einem kleinen c und Formular-Variablen mit einem kleinen f.

Probleme der Schreibweise - Sicherheit

Kommen wir nun zum Sicherheitsproblem. Es gibt bei schlampig programmiertem Code viele Angriffsmöglichkeiten für potentielle Hacker. Schauen Sie sich einmal folgenden Teil eines PHP-Skripts an:

if ($pw=="g1882m") {
    $login = true;
}

Hier wird mit der Signalvariablen $login gearbeitet. Nur bei Kenntnis des richtigen Passworts soll diese auf true gesetzt werden. Dummerweise wurde diese Variable am Anfang des Beispiels nicht mit false initialisiert. Kein großes Problem, denkt man - bei dem recht komplexen Passwort - im Gegenteil! Auf diese Weise kann ein Angreifer nun ganz einfach ohne Kenntnis des Passworts in den geschützten Bereich gelangen. Wie? Er muss an die URL lediglich

?login=true oder ?login=1 anhängen.
localhost/beispiel.php?login=true

Schon wird die Variable $login auf true gesetzt und der Zugang ist auch ohne Passwortkenntnis möglich. Dies wiederum stellt ein riesiges Sicherheitsloch dar.

Neue Schreibweise = mehr Eindeutigkeit und Sicherheit

Dieses Problem hat das PHP-Entwicklerteam erkannt und spätestens mit Einführung von PHP 4.1 elegant behoben. Sämtliche über method = "post" versendeten Formulardaten sind im neuen Array $_POST gespeichert, die per method = "get" erhältlichen Daten dagegen im neuen Array $_GET. Dazu gehören auch die an die URL angehängten Parameter. Es handelt sich bei $_POST und $_GET übrigens um assoziative Arrays. Der Schlüssel wird aus dem Namen des entsprechenden Formularfelds bzw. der entsprechenden Cookie-Variablen gebildet. Wenn der Wert des URL-Anhangs ?login=true erfasst werden soll, gelingt dies über $_GET["login"]. Bei konsequent abgeschalteten register_globals ist eine Verwechslung mit einer Variable $login nun nicht mehr möglich.

Um diese alten Möglichkeiten vollkommen zu unterbinden, wird seit PHP-Version 4.2 daher auch register_globals = Off als Standard gesetzt. Diese Einstellung bietet optimale Sicherheit und ist daher für zukünftige Projekte dringend zu empfehlen.

Erweiterungen

Wir wollen Ihnen natürlich nicht vorenthalten, dass seit Version 4.1 neben $_POST und $_GET folgende weitere assoziative Arrays eingeführt wurden:

$_COOKIE

Dieses Array enthält sämtliche Cookie-Variablen. Mit $_COOKIE["besucher"] würden Sie den Wert des Cookies besucher ermitteln.

$_REQUEST

Dieses Array nimmt eine Sonderposition ein. Es enthält sämtliche Werte aus $_POST, $_GET und $_COOKIE. Wir empfehlen den Einsatz von $_REQUEST zu vermeiden, da es die Bemühungen um mehr Eindeutigkeit zunichte macht. Mit $_REQUEST["login"] können Sie z.B. sowohl auf ein Formularfeld namens login als auch auf das gleichnamige Cookie zurückgreifen.

Mit den neuen Variablen entfallen übrigens die bis Version 4.1 gültigen Arrays:
. $HTTP_POST_VARS
. $HTTP_GET_VARS
. $HTTP_COOKIE_VARS

Dies bedeutet wiederum eine Vereinfachung der Schreibweise.

Zusätzlich werden die neuen Array-Variablen $_SERVER, $_ENV und $_SESSION zur Verfügung gestellt. $_ENV ist für die Umgebungsvariablen und $_SESSION für das Session-Management verantwortlich. Am interessantesten ist sicher die erstgenannte Variable $_SERVER. Sie enthält sämtliche Servervariablen, also die Variablen, die der Webserver übergibt.

Wenn man früher Pfad und Dateinamen ermitteln wollte, schrieb man $PHP_SELF. Heute wird via $_SERVER["PHP_SELF"] auf diesen Wert zugegriffen.

Tipps zur neuen Schreibweise

Auf den ersten Blick wird die Schreibweise durch die neue Array-Syntax komplizierter. So konnte man ein Formularfeld im PHP-Skript nach der alten Schreibweise unkompliziert ausgelesen und weiterverarbeitet werden.

<input type="text" name="telefon">

Auslesen und Verarbeiten:

echo "Sie haben folgende Nummer $telefon";

Eine Verkettung des umgebenden Strings mit der Variablen ist dabei nicht nötig. Nach der neuen Syntax geht das offenbar nicht mehr so einfach. Versuchen Sie dies noch einmal:

echo "Sie haben folgende Nummer $_POST['telefon']";

Die Ausgabe enthält nicht den Inhalt der Variablen, sondern es wird der String $_POST['telefon'] ausgegeben. Dabei nützt es auch nichts, dass Sie die Regeln beherzigen, bei der Verschachtelung von Anführungszeichen nur ungleiche Anführungszeichen zu verwenden. Es wurden für den Array-Schlüssel die einfachen Anführungszeichen und für den gesamten String die doppelten Anführungszeichen verwendet. Doch das hilft alles nichts. Es muss verkettet werden:

echo "Sie haben folgende Nummer" . $_POST['telefon'];

Vor allem bei umfangreichen Auswertungen wird es dadurch schnell unübersichtlich und kompliziert. Doch folgender Trick könnte Ihnen bei Ihrer Arbeit behilflich sein. Lassen Sie die normalerweise üblichen Anführungszeichen um den Array-Schlüssel herum einfach weg:

echo "Sie haben folgende Nummer $_POST[telefon]";

Diese anführungszeichenfreie Schreibweise ist immer dann möglich, wenn die Array-Variable selbst innerhalb eines Anführungszeichenpaares steht. In allen anderen Fällen sollten Sie den Schlüssel je nach Bedarf stets mit einfachen oder doppelten Anführungszeichen versehen.

Vordefinierte Variablen

Konstanten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vordefinierte Konstanten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vordefinierte Konstanten

Viele dieser Konstanten werden jedoch von verschiedenen Erweiterungen definiert, die nur zur Verfügung stehen, wenn diese Erweiterungen selbst zur Verfügung stehen, entweder über dynamisches Laden zur Laufzeit oder sie sind einkompiliert. Eine Auswahl von Konstanten haben wir für Sie in der folgenden Tabelle zusammengestellt:

Konstante | Beschreibung
__LINE__ | Liefert die aktuelle Zeilennummer einer Datei. Wird die Konstante in einer Datei verwendet, die per include() oder require() eingebunden wurde, liefert sie die Zeilennummer innerhalb der eingebundenen Datei.
__FILE__ | Liefert den vollständigen Pfad- und Dateiname einer Datei. Wird diese Konstante in einer Datei verwendet, die per include() oder require() eingebunden wurde, liefert sie den Pfad- und Dateiname der eingebundenen Datei, nicht den der aufrufenden Datei.
__FUNCTION__ | Der Name einer Funktion. Steht seit PHP 4.3.0 zur Verfügung.
__CLASS__ | Der Name einer Klasse. Steht seit PHP 4.3.0 zur Verfügung.
__METHOD__ | Der Name einer Klassenmethode. Steht seit PHP 5.0 zur Verfügung.
NULL | Der Wert NULL. NULL bedeutet im Gegensatz zu einem leer String oder der Zahl 0, dass keine Eingabe erfolgt ist. Dies ist beispielsweise bei der Abfrage von Datenbankfeldern von Bedeutung. Die Prüfung des Datentyps einer Variablen, die NULL enthält, mit der Funktion gettype(), ergibt NULL.
PHP_OS | Der Name des Betriebssystems, auf dem der PHP-Interpreter ausgeführt wird.
PHP_VERSION | Eine Zeichenkette, die die Versionsnummer des PHP-Interpreters enthält.
TRUE | Der Wert Wahr (1). Die Konstante TRUE existiert seit PHP 4.0.
FALSE | Der Wert Falsch (0). Die Konstante FALSE existiert seit PHP 4.0.
E_ERROR | Fehler, der sich von einem parsing error unterscheidet. Die Ausführung des Skripts wird beendet.
E_WARNING | Warnung, das aktuelle Skript wird jedoch weiter ausgeführt.
E_PARSE | Ungültige Syntax in der Skript-Datei. Die Ausführung des Skripts wird beendet.
E_NOTICE | Anmerkung. Hinweis auf mögliche Fehler. Das aktuelle Skript wird jedoch weiter ausgeführt.
E_CORE_ERROR | Fehler, welcher während der Initialisierung des PHP-Interpreters auftritt. Die Ausführung des Skripts wird beendet.
E_CORE_WARNING | Warnung, welche während der Initialisierung des PHP-Interpreters auftritt. Das aktuelle Skript wird jedoch weiter ausgeführt.
E_STRICT | Wurde zur Abwärtskompatibilität seit PHP 5.0 eingeführt.

Konstanten

Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Operator-Rangfolge

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Operator-Rangfolge

Die Operator-Rangfolge legt fest, wie "eng" ein Operator zwei Ausdrücke miteinander verbindet. Zum Beispiel ist das Ergebnis des Ausdruckes 1 + 5 * 3 16 und nicht 18, da der Mulitiplikations-Operator (*) in der Rangfolge höher steht als der Additions-Operator (+). Wenn nötig, können Sie Klammern setzen, um die Rangfolge der Operatoren zu beeinflussen. Zum Beispiel: (1 + 5) * 3 ergibt 18.

In dieser Tabelle sind alle PHP-Operatoren und ihre Assoziativität vom höchsten bis zum niedrigsten Vorrang aufgeführt.

Operator | Beschreibung | Assoziativität
Höchster Vorrang |  |
new | Objekt zuweisen | keine Richtung
[ ] | Array-Element | rechts
+ | unäres Plus | rechts
- | unäres Minus | rechts
~ | Bit-Komplement | rechts
! | logisches NOT | rechts
++ | Post-Inkrement | rechts
-- | Post-Dekrement | rechts
( ) | Funktionsaufruf | rechts
++ | Prä-Inkrement | rechts
-- | Prä-Dekrement | rechts
* | * | links
/ | / | links
% | Modulo | links
. | Strukturelement | links
+ | + | links
- | - | links
<< | bitweise Verschiebung nach links | links
>> | bitweise Verschiebung nach rechts | links
>>> | bitweise Verschiebung nach rechts (ohne Vorzeichen) | links
< | kleiner als | keine Richtung
<= | kleiner als oder gleich | keine Richtung
> | größer als | keine Richtung
>= | größer als oder gleich | keine Richtung
== | gleich | keine Richtung
!= | ungleich | keine Richtung
=== | strikt gleich | keine Richtung
& | bitweises AND | links
^ | bitweises XOR | links
| | bitweises OR | links
&& | logisches AND | links
|| | logisches OR | links
?: | bedingt | links
= | Zuweisung | links
*=, /=, %=, +=, -=, &=, |=, ^=, ~=, <<=, >>=, >>>= | Zusammengesetzte Zuweisung | links
, | mehrfache Auswertung | links
Niedrigster Vorrang |  |

Operatoren

Vorrang der Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vorrang der Operatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vorrang der Operatoren

In der Operatorliste wird der Begriff "Höchster/Niedrigster Vorrang" verwendet. Der Vorrang der Operatoren bestimmt, in welcher Reihenfolge die Operationen ausgeführt werden. Operatoren mit höherem Vorrang werden vor denen mit einem niedrigeren Vorrang ausgeführt.

Beispiel

$summe = 10 + 5 * 2;            // Ergebnis: 20

Der Multiplikationsoperator (*) hat einen höheren Vorrang, als der Additionsoperator (+), deswegen wird die Multiplikation vor der Addition ausgeführt, "Punktrechung vor Strichrechnung". Zudem hat der Zuweisungsoperator (=) den niedrigsten Vorrang, deswegen wird die Zuweisung erst ausgeführt, wenn alle Operationen auf der rechten Seite abgeschlossen sind. Der Vorrang von Operatoren kann durch Verwendung von Klammern ausser Kraft gesetzt werden. Um in dem obigen Beispiel die Addition zuerst auszuführen, müssten wir also schreiben.

Beispiel

$summe = (10 + 5) * 2;        // Ergebnis: 30

Wenn Sie sich in der Praxis einmal unsicher sind, welcher der von Ihnen verwendeten Operatoren den Vorrang besitzt, ist es äußerst sinnvoll, Klammern zu verwenden, um so die Berechnungsreihenfolge explizit vorzugeben.

Tipp: Durch Klammerung mit runden Klammern ( )kann die vorgegebene Hierarchie überwunden werden.

Operator-Rangfolge

Assoziativität der Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Assoziativität der Operatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Assoziativität der Operatoren

Wenn ein Ausdruck mehrere Operatoren enthält, die hinsichtlich ihrer Rangfolge gleichwertig sind, wird die Reihenfolge ihrer Ausführung durch ihre Assoziativität bestimmt. Hierbei wird zwischen zwei Richtungen unterschieden.
. Linksassoziativität (in Links-Rechts-Richtung)
. Rechtsassoziativität (in Rechts-Links-Richtung)

Der Multiplikationsoperator ist beispielsweise linksassoziativ. Daher sind die beiden folgenden Anweisungen austauschbar.

Beispiel

$summe = 5 * 10 * 2;        // Ergebnis: 100
$summe = (5 * 10) * 2;         // Ergebnis: 100

Eine tabellarische Übersicht über die Operatoren und ihre Assoziativität finden Sie in der Operatorliste, welche sich am Ende dieses Abschnitts befindet.

Nachdem die Zusammenhänge von Operatorvorrang und Assoziativität geklärt wurde, können Sie nun beginnen, die Operatoren kennenzulernen.

Vorrang der Operatoren

Arithmetische Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Arithmetische Operatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Arithmetische Operatoren

Addition

Der Additionsoperator (+) addiert die beiden numerischen Operanden.

Beispiel

// Addition
$summe = 7 + 3;            // Ergebnis: 10
$summe = 13 + 9 + 1;        // Ergebnis: 23

Subtraktion

Der Subtraktionsoperator (-) subtrahiert seinen zweiten Operanden vom ersten. Beide Operanden müssen Zahlen sein.

Beispiel

// Subtraktion
$summe = 10 - 5;            // Ergebnis: 5
$summe = 1.5 - 0.5;            // Ergebnis: 1

Wenn (-) als unärer Operator vor einem einzigen Operanden eingesetzt wird, führt er eine unäre Negation durch, d.h., eine positive Zahl wird in die entsprechende negative umgewandelt und umgekehrt.

Beispiel

// Unäre Negation
$summe = -5;                // Ergebnis: -5
$summe = - (+5);            // Ergebnis: -5
$summe = - (-5);            // Ergbenis: 5
// Nicht so!
$summe = --5;            // Ergebnis: 4

Multiplikation

Der Multiplikationsoperator (*) multipliziert seine beiden Operanden, auch hier müssen beide Operanden Zahlen sein.

Beispiel

// Multiplikation
$summe = 10 * 2;            // Ergebnis: 20
$summe = 5.75 * 2;            // Ergebnis: 11.5

Division
Der Divisionsoperator (/) dividiert seinen ersten Operanden durch den zweiten. Beide Operanden müssen Zahlen sein.

Beispiel

// Division
$summe = 10 / 2;            // Ergebnis: 5
$summe = 5.75 / 2;            // Ergebnis: 2.875

Achtung: Der Divisions-Operator ("/") gibt immer eine Fließkommazahl zurück, sogar wenn die zwei Operanden Ganzzahlen sind (oder Zeichenketten, die nach Ganzzahlen umgewandelt wurden).

Modulo

Der Modulo-Operator (%) bildet den Rest aus einer Division zweier Operanden. Beide Operanden müssen Zahlen sein. Modulo ist also nichts anderes, als die Ganzahldivision mit Rest. Dabei bildet der Rest der Division das Ergebnis der Modulo-Operation.

Beispiel

// Modulo
$summe = 10 % 2;        // Ergebnis: (10 / 2 = 5) Rest 0
$summe = 10 % 3;        // Ergebnis: (10 / 3 = 3) Rest 1

Operator | Bezeichnung | Bedeutung
+ | Positives Vorzeichen | +$a ist/entspricht $a
- | Negatives Vorzeichen | -$a kehrt das Vorzeichen um
+ | Addition | $a + $b ergibt die Summe von $a und $b
- | Subtraktion | $a - $b ergibt die Differenz von $a und $b
* | Multiplikation | $a * $b ergibt das Produkt aus $a und $b
/ | Division | $a / $b ergibt den Quotienten von $a und $b
% | Restwert (Modulo) | $a % $b ergibt den Restwert der Division von $a durch $b

Assoziativität der Operatoren

Zuweisungsoperator

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zuweisungsoperator

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zuweisungsoperator

Wie Sie bereits im Abschnitt zu den Variablen gesehen haben, wird in PHP (=) dazu verwendet, um einer Variablen einen Wert zuzuweisen.

Beispiel

$vorname = "Matze";

Auch wenn man eine solche PHP-Zeile nicht als Ausdruck ansieht, der ausgewertet werden kann und einen Wert hat, handelt es sich doch wirklich um einen Ausdruck. Technisch gesehen ist (=) ein Operator. Der Operator (=) erwartet als linken Operanden eine Variable. Als rechter Operand wird ein beliebiger Wert eines beliebigen Typs erwartet. Der Wert eines Zuweisungsausdrucks ist der Wert des rechten Operanden. Da (=) als Operator definiert ist, kann er auch als Bestandteil komplexerer Ausdrücke verwendet werden.

Beispiel

$zahlEins = 200;
$zahlZwei = 250;
$pruefen = zahlEins == zahlZwei;        // Ergebnis: false

Hinweis: Wenn Sie so etwas verwenden wollen, sollte Ihnen vorher der Unterschied zwischen den Operatoren (=) und (==) vollkommen klar sein.

Der Zuweisungsoperator ist von rechts nach links assoziativ, das bedeutet, dass bei mehreren Zuweisungsoperatoren innerhalb eines einzigen Ausdrucks von rechts nach links ausgewertet wird. Als Folge davon kann man Code wie den folgenden schreiben, um mehreren Variablen jeweils denselben Wert zuzuweisen.

Beispiel

// Initialisierung mehrerer Variablen in einem Ausdruck
$i = $j = $k = 100;

Zuweisung mit Operation

Neben dem Zuweisungsoperator (=) unterstützt PHP noch eine Reihe weiterer Zuweisungsoperatoren, die eine Kurzform bzw. Kurznotation dafür darstellen, dass eine Zuweisung mit einer anderen Operation verbunden wird.

Beispiel

// Initialisierung
$preis = 10.00;
$mwst = 1.60;
// Kurzform
$preis +=  $mwst;                // Ergebnis: 11.6
// Gleichbedeutend
$preis = $preis + $mwst            // Ergebnis: 11.6

Entsprechend gibt es auch -=, *=, /=, %=, usw. Die nachfolgende Tabelle führt all diese Operatoren auf.

Beispiel

// Initialisierung
$zahlEins = 50;
$zahlZwei = 25;

// Kurzformen
$zahlEins += $zahlZwei;            // Ergebnis: 75
$zahlEins -= 5;                // Ergebnis: 70
$zahlEins *= 2;                // Ergebnis: 140
$zahlZwei /= 5;                // Ergebnis: 5
$zahlZwei %= 2;                // Ergebnis: 1

Abschliessend eine Übersicht über die Zuweisungsoperatoren in PHP.

Operator | Bezeichnung | Bedeutung
= | Einfache Zuweisung | $a = $b weist $a den Wert von $b zu und liefert $b als Rückgabewert
+= | Additionszuweisung | $a += $b weist $a den Wert von $a + $b zu und liefert $a + $b als Rückgabewert
-= | Subtraktionszuweisung | $a -= $b weist $a den Wert von $a - $b zu und liefert $a - $b als Rückgabewert
*= | Multiplikationszuweisung | $a *= $b weist $a den Wert von $a * $b zu und liefert $a * $b als Rückgabewert
%= | Modulozuweisung | $a %= $b weist $a den Wert von $a % $b zu und liefert $a % $b als Rückgabewert
/= | Divisionszuweisung | $a /= $b weist $a den Wert von $a / $b zu und liefert $a / $b als Rückgabewert
.= | Zeichenkettenzuweisung | $a .= $b weist $a den Wert von $a . $b zu und liefert $a . $b als Rückgabewert

Zuweisung "by reference"

Im Zusammenhang mit Zuweisungen ist noch ein wichtiger Punkt zu beachten:

Bei den bisher betrachteten Zuweisungen wird der Wert einer Variablen einer anderen Variablen zugewiesen. Es existieren also zwei unterschiedliche Variablen und somit auch zwei unterschiedliche Speicherbereiche, die nach der erfolgten Zuweisung zwar denselben Wert aufweisen, aber ansonsten völlig unabhängig voneinander im Arbeitsspeicher existieren. Diese Zuweisungsart wird auch als Zuweisung "by value" bezeichnet.

Seit PHP 4 steht Ihnen jedoch noch eine weitere Form der Zuweisung zur Verfügung, bei der nach erfolgter Zuweisung beide Variablen auf denselben Speicherbereich verweisen. In diesem Zusammenhang spricht man auch von Zuweisungen "by reference". Wenn Sie Zuweisungen "by reference" vornehmen, weisen Sie also nicht einer Variablen den Wert einer anderen zu, sondern einer Variablen den Speicherbereich einer anderen, sodass im Ergebnis jetzt beide Variablen auf denselben Speicherbereich verweisen und somit nur noch eine Variable existiert, die allerdings zwei unterschiedliche Variablennamen besitzt.

Beispiel

<?
$vorname = "Matthias";
$meinname = &$vorname;
// Ausgabe - Matthias
echo $meinname;
// Ausgabe - Matthias
echo $vorname;
$vorname = "Caroline";
// Ausgabe - Caroline
echo $meinname;
// Ausgabe - Caroline
echo $vorname;
$meinname = "Gülten";
// Ausgabe - Gülten
echo $meinname;
// Ausgabe - Gülten
echo $vorname;
?>

Operator | Bezeichnung | Bedeutung
$a = &$b | Zuweisung "by reference" | Der Speicherbereich der Variablen $a wird auf den Speicherbereich der Variablen $b gesetzt

Arithmetische Operatoren

Vergleichsoperatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Vergleichsoperatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Vergleichsoperatoren

In diesem Abschnitt lernen Sie die Vergleichsoperatoren von PHP kennen. Es handelt sich hierbei um Operatoren, die Werte verschiedener Typen vergleichen und einen Booleschen Wert (true oder false) liefern, je nach Ergebnis des Vergleichs. Die Vergleichsoperatoren werden am Häufigsten in Konstruktionen wie if-Anweisungen und for/while-Schleifen eingesetzt. Hier haben sie die Aufgabe, den Programmablauf zu steuern.

Kleiner als

Der Operator (<) hat das Ergebnis true, wenn sein erster Operand kleiner ist als der zweite, sonst liefert er false. Die Operanden müssen Zahlen oder Strings sein. Strings werden dabei alphabetisch auf der Basis der Codewerte der Zeichen vergli-chen.

Beispiel

// Kleiner als (mit Zahlen)
$preisHose = 75.50;
$preisJacke = 110.95;
$pruefen = $preisHose < $preisJacke;        // Ergebnis: true

Beispiel

// Kleiner als (mit Strings)
$kundeEins = "Fred";
$kundeZwei = "Toni";
$pruefen = $kundeEins < $kundeZwei;        // Ergebnis: true

Grösser als

Der Operator (>) hat das Ergebnis true, wenn sein erster Operand grösser ist als der zweite, sonst liefert er false. Die Operanden müssen Zahlen oder Strings sein. Auch hier werden die Strings alphabetisch auf der Basis der Codewerte der Zeichen verglichen.

Beispiel

// Grösser als (mit Zahlen)
$preisBrille = 65;
$preisUrlaub = 1150;
$pruefen = $preisUrlaub > $preisBrille;    // Ergebnis: true

Beispiel

// Grösser als (mit Strings)
$kundeEins = "Timo";
$kundeZwei = "Bernd";
$pruefen = $kundeEins > $kundeZwei;        // Ergebnis: true

Kleiner oder gleich

Der Operator (<=) hat das Ergebnis true, wenn sein erster Operand kleiner als der zweite oder gleich diesem ist, sonst liefert er false. Die Operanden müssen Zahlen oder Strings sein und Strings werden dabei alphabetisch auf der Basis der Codewerte der Zeichen verglichen.

Beispiel

// Kleiner oder gleich (mit Zahlen)
$preisBrille = 65;
$preisUrlaub = 1150;
$pruefen = $preisBrille <= $preisUrlaub; // Ergebnis: true

$preisBürste = 5.95;
$preisEimer = 5.95;
$pruefen = $preisBürste <= $preisEimer;    // Ergebnis: true

Beispiel

// Kleiner oder gleich (mit Strings)
$kundeEins = "Bernd";
$kundeZwei = "Timo";
$pruefen = $kundeEins <= $kundeZwei;    // Ergebnis: true

$wortEins = "Sonntag";
$wortZwei = "Sonntag";
$pruefen = $wortEins <= $wortZwei;    // Ergebnis: true

Grösser oder gleich

Der Operator (>=) hat das Ergebnis true, wenn sein erster Operand grösser als der zweite oder gleich diesem ist, sonst liefert er false. Die Operanden müssen Zahlen oder Strings sein und auch hier werden Strings alphabetisch auf der Basis der Codewerte der Zeichen verglichen.

Beispiel

// Grösser oder gleich (mit Zahlen)
$preisAuto = 35000;
$preisUrlaub = 1150;
$pruefen = $preisAuto >= $preisUrlaub;    // Ergebnis: true

$preisBürste = 5.95;
$preisEimer = 5.95;
$pruefen = $preisBürste >= $preisEimer;    // Ergebnis: true

Beispiel

// Grösser oder gleich (mit Strings)
$kundeEins = "Thomas";
$kundeZwei = "Caroline";
$pruefen = $kundeEins >= $kundeZwei;    // Ergebnis: true

$wortEins = "Sonntag";
$wortZwei = "Sonntag";
$pruefen = $wortEins >= $wortZwei;    // Ergebnis: true

Hier noch ein Beispiel mit jeweils einer Kontrollstruktur - eine if-Anweisung und eine for-Schleife.

Beispiel

// Initialisierung
$preisAuto = 27500;
$preisBoot = 22500;

// Nach dem Vergleich enthält die Variable kaufen "Nein!"
if ($preisAuto <= $preisBoot) {
    $kaufen = "Ja!";
} else {
    $kaufen = "Nein!";
}

Beispiel

// for-Schleife
// Ergebnis im Ausgabefenster 0 1 2 3 4 5 6 7 8 9 10
for ($i=0;$i<=10;$i++) {
    echo $i;
}

Achtung: Die Vergleichsoperatoren vergleichen zwei Strings in Bezug auf deren Anordnung zueinander. Der Vergleich benutzt hierbei die alphabetische Ordnung. Zu beachten ist, dass diese Ordnung auf der von PHP verwendeten Zeichenkodierung Latin-1 (ISO8859-1) beruht, die eine Erweiterung des ASCII-Zeichensatzes darstellt. In dieser Codierung kommen alle Grossbuchstaben (ohne Umlaute) vor sämtliche Kleinbuchstaben, d.h., die Grossbuchstaben sind kleiner!

Beispiel

// Gross- u. Kleinbuchstaben Vergleich
$ortEins = "Zoo";
$ortZwei = "spielplatz";
$pruefen = $ortEins < $ortZwei;        // Ergebnis: true

Abschliessend eine Übersicht über die Vergleichsoperatoren in PHP.

Operator | Bezeichnung | Bedeutung
< | Kleiner als | $a < $b ergibt true, wenn $a kleiner $b ist
> | Grösser als | $a > $b ergibt true, wenn $a größer $b ist
<= | Kleiner oder gleich | $a <= $b ergibt true, wenn $a kleiner oder gleich $b ist
>= | Grösser oder gleich | $a >= $b ergibt true, wenn $a größer oder gleich $b ist

Zuweisungsoperator

Gleichheitsoperatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


WAMP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

WAMP

WAMP steht für Windows Apache MySQL PHP. Diese Zusammenstellung von Softwarekomponenten um einen lokalen Rechner in eine PHP-Entwicklungsumgebung umzurüsten stellt wohl die gängigste Lösung dar. Die Installation unter Windows ist relativ einfach und unproblematisch. Der Einsatz des Apache-Webservers ist eher eine Glaubensfrage. Praktisch steht er ebenso kostenlos zur Verfügung, wie der PWS oder IIS.

Windows vorbereiten
Einen Grund, wieso man die vorgeschlagene Kombination aus Apache, PHP und MySQL nicht installieren sollte, gibt es nicht. Wenn ein Produktionsserver, sprich ein Server, welcher später ans Netz geht, aufgebaut wird, ist ein frisch installiertes Windows zu empfehlen. Ältere Versionen der zu installierenden Software sollten möglichst sauber deinstalliert werden. Service Packs und Patches sollten aus Sicherheitsgründen immer auf den neuesten Stand sein. Der Installation der Service Packs auf einem Produktionsserver sollte immer ein Testlauf auf einem gespiegelten System vorausgehen, so erlebt man nach der Installation der Service Packs keine unliebsamen Überraschungen.

Entwicklungsumgebungen

Apache konfigurieren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Gleichheitsoperatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Gleichheitsoperatoren

Gleichheit

Der Operator (==) liefert true, wenn seine beiden Operanden gleich sind, sind sie ungleich liefert er false. Die Operanden können beliebige Typen haben, aber die Definition von gleich hängt vom Typ ab.

Noch etwas sollten Sie berücksichtigen, normalerweise sind zwei Variablen nicht gleich, wenn sie verschiedene Typen haben. Da PHP aber bei Bedarf automatisch Datentypen umwandelt, ist dies nicht immer der Fall.

Beispiel

echo $pruefen = "1" == 1;            // Ergebnis: true
echo $pruefen = true == 1;            // Ergebnis: true
echo $pruefen = false == 0;            // Ergebnis: true

Achtung: Beachten Sie, dass der Gleichheitsoperator (==) etwas ganz anderes als der Zuweisungsoperator (=) ist, auch wenn Sie im Deutschen beide oft einfach als "gleich" lesen. Es ist wichtig, diese beiden Operatoren zu unterscheiden und in jeder Situation jeweils den richtigen Operator zu verwenden.

Ungleichheit

Auch hier gilt, der Operator (!=) liefert true, wenn seine beiden Operanden ungleich sind, sind sie gleich, liefert er false. Die Operanden können beliebige Typen haben, wie beim Operator (==).

Beispiel

// Ungleichheit
$zahlEins = 999;
$zahlZwei = 99;
$pruefen = $zahlEins != $zahlZwei;        // Ergebnis: true

Beispiel

// Initialisierung
$kundeEins = "Martin Klein";
$kundeZwei = "Fred Mustermann";

// Ergebnis: "Nicht identischer Kunde"
if ($kundeEins != $kundeZwei) {
    resultat = "Nicht identischer Kunde";
} else {
    resultat = "Identischer Kunde";
}

Strikte Gleichheit

Der Operator (===) funktioniert ähnlich wie der Gleichheitsoperator, führt jedoch keine Typumwandlung durch. Wenn zwei Operanden nicht denselben Typ aufweisen, gibt der strikte Gleichheitsoperator den Wert false zurück.

Beispiel

// Initialiserung
$preisBuchEins = 45.95;
$preisBuchZwei = "45.95";

// Ergebnis: "Ungleich"
if ($preisBuchEins === $preisBuchZwei) {
    $pruefen = "Gleich";
} else {
    $pruefen = "Ungleich";
}

Strikte Ungleichheit

Der Operator (!==) funktioniert genau umgekehrt wie der strikte Gleichheitsopera-tor.

Beispiel

// Initialiserung
$preisBuchEins = 45.95;
$preisBuchZwei = "45.95";

// Ergebnis: "Ungleich"
if ($preisBuchEins !== $preisBuchZwei) {
    $pruefen = "Ungleich";
} else {
    $pruefen = "Gleich";
}

Abeschliessend eine Übersicht über die Gleichheitsoperatoren in PHP.

Operator | Bezeichnung | Bedeutung
== | Gleichheit | $a==$b ergibt true, wenn $a gleich $b ist
=== | Strikte Gleichheit | $a===$b ergibt true, wenn $a gleich $b ist vom gleichen Typ
!= | Ungleichheit | $a!=$b ergibt true, wenn $a ungleich $b ist
!== | Strikte Ungleichheit | $a!==$b ergibt true, wenn $a ungleich $b ist vom gleichen Typ

Vergleichsoperatoren

Logische Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Logische Operatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Logische Operatoren

Logische Operatoren dienen zum Vergleichen Boolescher Werte (true und false) und geben einen dritten Booleschen Wert zurück. Bei der Programmierung werden sie normalerweise zusammen mit Vergleichsoperatoren verwendet, um auf diese Weise komplexe Vergleiche auszudrücken, die sich auf mehr als eine Variable beziehen.

Logisches Und

Der Operator (&&) ergibt dann und nur dann true, wenn gleichzeitig der erste und der zweite Operand true sind. Ergibt schon der erste Operand ein false, ist das Ergebnis ebenfalls false. Das ist der Grund dafür, weshalb sich der Operator (&&) gar nicht erst damit aufhält den zweiten Operanden noch zu überprüfen.

Beispiel

$wertEins = true;
$wertZwei = true;
// Beide Ausdrücke sind gleichwertig
// Ergebnis: true
echo $resultat = $wertEins && $wertZwei;
// Ergebnis: true
if ($wertEins && $wertZwei) $resultat = true;

Beispiel

$wertEins = (10 * 2);
$wertZwei = (10 + 10);
// Beide Ausdrücke sind gleichwertig
// Ergebnis: true
if ($wertEins && $wertZwei) $resultat = true;

Um den logischen Operator (&&) noch besser zu verstehen hier eine Wahrheitstabelle.

Operand 1 | Operand 2 | Operand 1 && Operand 2
true | false | false
false | true | false
true | true | true
false | false | false

Logisches Oder

Der Operator (||) ergibt nur dann true, wenn der erste oder der zweite Operand wahr ist oder auch beide gleichzeitig. Genau wie (&&) wertet auch dieser Operator den zweiten Operanden nicht aus, wenn der erste Operand das Ergebnis schon endgültig festlegt. Ergibt der erste Operand true, dann ist das Ergebnis ebenfalls true, der zweite Operand kann das Ergebnis nicht mehr ändern und wird daher nicht ausgewertet.

Beispiel

$wertEins = (10 * 2);
$wertZwei = (10 + 10);
// Logische Operator (||) - OR
// Ergebnis: true
if ($wertEins || $wertZwei) $resultat = true;

Um den logischen Operator (||) noch besser zu verstehen hier eine Wahrheitstabelle.

Operand 1 | Operand 2 | Operand 1 || Operand 2
true | false | True
false | true | True
true | true | True
false | false | false

Logisches Nicht

Der Operator (!) ist ein unärer Operator, der vor seinem einzigen Operanden steht. Sein Zweck besteht darin, den Booleschen Wert seines Operanden umzukehren.

Beispiel

$wertEins = true;
// Logische Operator (!) - NICHT
// Ergebnis: false
$resultat = !$wertEins;

Um den logischen Operator (!) noch besser zu verstehen hier eine Wahrheitstabelle.

Operand 1 | ! Operand 1
true | false
false | true

Zusammenfassend eine Übersicht über die logischen Operatoren in PHP.

Operator | Bezeichnung | Bedeutung
&& / and | Logisches UND (AND) Verknüpfung | $a && $b ergibt true, wenn sowohl $a, als auch $b wahr sind. Ist $a bereits falsch, so wird false zurückgegeben und $b nicht mehr ausgewertet.
|| / or | Logisches ODER (OR) Disjunktion | $a || $b ergibt true, wenn mindestens einer der beiden Ausdrücke $a oder $b wahr ist. Ist bereits $a wahr, so wird true zurückgegeben und $b nicht mehr ausgewertet.
xor | Exklusiv-ODER (XOR) | $a xor $b ergibt true, wenn genau einer der beiden Ausdrücke $a oder $b wahr ist.
! | Logisches NICHT Negation | !$a ergibt false, wenn $a wahr ist und true, wenn $a false ist

Gleichheitsoperatoren

Bit Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Bit Operatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Bit Operatoren

Bitweise Operatoren wandeln Fliesskommazahlen intern in 32-Bit-Ganzzahlen um. Welche Rechenoperation jeweils ausgeführt wird, hängt vom verwendeten Operator ab. In jedem Falle werden bei der Berechnung des Ergebniswertes jedoch die einzelnen Binärziffern (Bits) der 32-Bit-Ganzzahl unabhängig voneinander ausgewertet. Glücklicherweise werden Sie diese doch recht komplizierten Operatoren relativ selten bis gar nicht benötigen.

Wir wollen Ihnen jedoch die Vorzüge der Bitweise-Operatoren (Bitwise) nicht vorenthalten. Die Bitwise Operatoren werden von den meisten PHP Entwicklern, wie bereits erwähnt, ignoriert, da sie es nicht gewohnt sind Binär zu arbeiten. Das Zahlensystem, welches nur zwei Werte kennt, nämlich 0 oder 1 ist einer Vielzahl von Entwicklern suspekt. Wir empfehlen Ihnen jedoch den Bitwise Operatoren eine Chance zu geben.

Fallbeispiel - Rechner-Tuning

Stellen Sie sich vor Sie betreiben einen Shop. In diesem bieten Sie das Tunen von Rechnern an (Aufrüstung).

Folgende Komponenten können nachgerüstet werden:
. Zweite Festplatte
. Netzwerkkarte
. DVD-Brenner
. TV-Karte

Nun könnten Sie zur Verwaltung dieser Komponenten pro Kunde Variablen verwenden, welche die Wünsche des Kunden berücksichtigen.

$extraHD = true;
$netzkarte = true;
$brenner = true;
$tvkarte = true;

Einen Nachteil besitzt dieser Ansatz, wir benötigen für jede Komponente eine separate Variable, welche jeweils den Booleschen Wert:
. true (installieren)
. false (nicht installieren)
speichert.

Dies bedeutet natürlich auch, dass jede Variable Speicherplatz in Anspruch nimmt. Genau hierfür eignet sich hervorragend der Einsatz von Bitwise Operatoren.

Diese ermöglichen die Verwaltung von Daten auf binärer Ebene und lassen sich hervorragend kombinieren, so das Sie nicht mehr vier Variablen benötigen, sondern lediglich eine - Sie haben richtig gelesen eine!

Hinweis: Dies schont den Speicher und ist vor allem um einiges schneller in der Verarbeitung, da Sie auf der untersten Ebene mit Ihrem Computer kommunizieren, sozusagen Maschinencode den die binäre Ebene kennt nur 0/1.

Wie ist das Bit-Programmierung in die Praxis umzusetzen und vor allem zu verstehen?

Hierbei sollten Sie sich zu erst im Klaren darüber sein, wie Ihr Computer Prozesse Verarbeitet. In PHP gibt es die Möglichkeit, über die Bitwise Operatoren diese Ebene zu ereichen und zu nutzen.

Ein binärer Zahlenwert wird in Zahlensequenzen von Nullen und Einsen gespeichert. Die Basis in diesem binären Zahlensystem liegt bei 2. Um dieses Zahlensystem an unser Dezimal-Zahlensystem (mit Basis 10) anzupassen, müssen Sie die Beziehung zwischen beiden Systemen kennen. Hier einige binäre Zahlensequenzen, welche in Dezimal-Sequenzen umgewandelt werden, auf der linken Seite binär und auf der rechten dezimal (inkl. Umrechnung):

1 Bit 1 // 1: (1 x 1) = 1
2 Bit 10 // 2: (1 x 2) + (0 x 1) = 2
2 Bit 11 // 3: (1 x 2) + (1 x 1) = 3
3 Bit 100 // 4: (1 x 4) + (0 x 2) + (0 x 1) = 4
4 Bit 1000 // 8: (1 x 8) + (0 x 4) + (0 x 2) + (0 x 1) = 8
4 Bit 1001 // 9: (1 x 8) + (0 x 4) + (0 x 2) + (1 x 1) = 9
4 Bit 1100 // 12: (1 x 8) + (1 x 4) + (0 x 2) + (0 x 1) = 12
4 Bit 1111 // 15: (1 x 8) + (1 x 4) + (1 x 2) + (1 x 1) = 15

6 Bit 111111 // 63: (1 x 32) + (1 x 16) + (1 x 8) + (1 x 4) + (1 x 2) + (1 x 1) = 63

Wie Sie sehen, ist die Beziehung recht einfach, wenn man sich einmal die Umrechnung vor Augen hält. Immer wenn der binären Zahlensequenz eine weitere Ziffer hinzugefügt wird, wird sie die nächste Bit-Stufe erreichen und die Potenz wächst um das Doppelte.

Wenn Sie sich nun auf unser aktuelles Problem beziehen, haben wir es mit einer 4 Bit Stufe zu tun. Da jede Variable durch ein Bit repräsentiert werden kann, würde sich diese Stufe hervorragend eignen.

Die vier Variablen lassen sich in eine einzige Variable vereinen.

$auswahl = 1       // 0001; (extraHD)
$auswahl = 2       // 0010; (netzkarte)
$auswahl = 4   // 0100; (brenner)
$auswahl = 8       // 1000; (tvkarte)

Natürlich können Sie auch Komponenten miteinander kombinieren:

$auswahl = 5       // 0101; (extraHD und brenner)
$auswahl = 6   // 0110; (netzkarte und brenner)
$auswahl = 10  // 1010; (netzkarte und tvkarte)
$auswahl = 15  // 1111; (alle Komponenten)

Wie Sie sehen, ist die Zusammensetzung individuell zu bestimmen, ohne Probleme lassen sich diese Kombination in Form von Zahlen sichern. Das binäre System dahinter sorgt für die korrekte Zuordnung.

Wie können Sie nun die Komponenten hinzufügen, d.h., wie ereichen Sie es, den Brenner oder die TV-Karte der Variable $auswahl zu übergeben, ohne die davor ausgewählte Komponente zu löschen.

Ein Beispiel

$auswahl = 0; // Rechner ohne zusätzliche Komponenten

Hinzufügen von Komponenten - dabei können die einzelnen Komponenten gezielt bestimmt werden:

$auswahl += 2; // 0010 Rechner erhält eine Netzwerkkarte
$auswahl += 1; // 0011 Rechner erhält eine zusätzliche HD
$auswahl += 4; // 0111 Rechner erhält DVD-Brenner
$auswahl += 8; // 1111 Rechner erhält TV-Karte

Ergebnis

Der Rechner ist voll aufgerüstet!

Der Vorteil besteht nun darin, dass man natürlich auch Komponenten entfernen kann.

$auswahl -= 4;  // 1011 DVD-Brenner wird entfernt
$auswahl -= 2;  // 1001 Netzwerkkarte wird entfernt

Ergebnis

Der Rechner enthält lediglich eine extraHD und eine TV-Karte!

Nun sollten Sie sich die praktische Umsetzung betrachten, den um in PHP, Bitwise zu programmieren, kommen Sie um die Bitwise Operatoren nicht herum.

Beispiel

<?
// Alle Komponenten ausgewählt (kompletter Rechner)
$extraHD =     (1<<0);    // 1 Bit: 0 (false), 1 (true)
$netzkarte =    (1<<1);     // 2 Bit: 0 (false), 2 (true)
$brenner =     (1<<2);     // 3 Bit: 0 (false), 4 (true)
$tvkarte =     (1<<3);     // 4 Bit: 0 (false), 8 (true)

// Die Komponenten in die Auswahl ablegen (Ergebnis 15)
$auswahl = $extraHD | $netzkarte | $brenner | $tvkarte;

// Hier nun eine Funktion, die den Preis berechnet
function berechne($auswahl) {
    $preis = 0;
    // Wenn das erste Bit gesetzt wurde, 200 Euro
    if ($auswahl & 1) {
        echo "+ Extra HD";
        $preis += 200;
    }
    // Wenn das zweite Bit gesetzt wurde, 150 Euro
    if ($auswahl & 2) {
        echo "+ Netzwerkkarte";
        $preis += 150;
    }
    // Wenn das dritte Bit gesetzt wurde, 450 Euro
    if ($auswahl & 4) {
        echo "+ DVD Brenner";
        $preis += 450;
    }
    // Wenn das vierte Bit gesetzt wurde, 100 Euro
    if ($auswahl & 8) {
        echo "+ TV-Karte";
        $preis += 100;
    }
    return $preis;
}

// Nun testen Sie die Umsetzung
echo berechne($auswahl);

/*
 Ausgabe:
 + Extra HD
 + Netzwerkkarte
 + DVD Brenner
 + TV-Karte
 900
*/

// Lediglich extraHD und tvkarte ausgewählt
$extraHD =     (1<<0);    // 1 Bit: 0 (false), 1 (true)
$netzkarte = (0<<1);     // 2 Bit: 0 (false), 2 (true)
$brenner =     (0<<2);     // 3 Bit: 0 (false), 4 (true)
$tvkarte =     (1<<3);     // 4 Bit: 0 (false), 8 (true)

// Die Komponenten in die Auswahl ablegen (Ergebnis 9)
$auswahl = $extraHD | $netzkarte | $brenner | $tvkarte;

// Nun testen Sie die Umsetzung
echo berechne($auswahl);

/*
 Ausgabe:
 + Extra HD
 + TV-Karte
 300
*/

?>

Wir hoffen, Ihnen mit diesem Fallbeispiel einen Einblick in die Arbeit der Bitwise Operatoren verschafft zu haben. Sie müssen natürlich selbst entscheiden, wie weit Sie diese in Ihre Anwendungen einbinden wollen.

Auflistung der Bitweise Operatoren

Operator | Bezeichnung | Bedeutung
& | And | $a & $b - Bits, die in $a und $b gesetzt sind werden gesetzt.
| | Or | $a | $b - Bits, die in $a oder $b gesetzt sind werden gesetzt.
^ | Xor | $a ^ $b - Bits, die entweder in $a oder $b gesetzt sind, werden gesetzt aber nicht in beiden.
~ | Not | ~ $a - Die Bits, die in $a nicht gesetzt sind, werden gesetzt und umgekehrt.
<< | Shift left | $a << $b - Verschiebung der Bits von $a um $b Stellen nach links (jede Stelle entspricht einer Multiplikation mit zwei).
>> | Shift right | $a >> $b - Verschiebt die Bits von $a um $b Stellen nach rechts (jede Stelle entspricht einer Division durch zwei).

Logische Operatoren

String Operator

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


String Operator

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

String Operator

Der String Operator ('.'), auch Zeichenkettenoperator genannt, nimmt eine Sonderstellung unter den Operatoren ein. Mit ihm lassen sich Strings zusammenfügen bzw. verbinden.

$a = "Hallo ";
$b = $a . "Welt !"; // Ergebnis $b = "Hallo Welt !"

Strings lassen sich mit Hilfe des String Operators auch über mehrere Zeilen hinweg beschreiben.

$a = "Hallo ";
$a .= "Welt !"; // Ergebnis: $a = "Hallo Welt !"

Bit Operatoren

Konditionaloperator

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Konditionaloperator

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Konditionaloperator

Der Konditionaloperator (? :) ist der einzige Operator, welcher drei Operanden benötigt. Der erste steht vor dem ?, der zweite zwischen ? und : und der dritte hinter dem :. Er wird übrigens auch als Bedingungsoperator bezeichnet, da man ihn für die Erzeugung einer einfachen if-else-Anweisung nutzen kann.

(BEDINGUNG) ? AUSDRUCK1 : AUSDRUCK2;

Beispiel

<?
$kAlter = 10;

// if-else Umsetzung
if ($kAlter >= 18) {
    echo "Erwachsener";
} else {
    echo "Zu jung!";
}

// Konditionaloperator (?:) Umsetzung
($kAlter >= 18) ? print "Erwachsener" : print "Zu jung!";
?>

Da der Operator die Ausdrücke nicht nur ausführt, sondern auch die Ergebnisse der Ausdrücke zurückliefert, können Sie Ihn auch dazu verwenden, einer Variablen, in Abhängigkeit von einer Bedingung, unterschiedliche Werte zuzuweisen.

Beispiel

// Initialisierung
$besuchName = "Matze";

$besuch = ($besuchName == "") ? "Hallo !" : "Hallo $besuchName";

echo $besuch; // Ausgabe: Hallo Matze

Hinweis: Die ?:-Syntax ist zwar sehr kurz und prägnant, sie ist aber auch relativ schwer zu lesen. Setzen Sie diese daher sparsam und nur in Fällen ein, wo sie leicht zu verstehen ist. Die Möglichkeit, komplexe Bedingungen aus mehreren Teilausdrücken zu verwenden, ist zwar gegeben, aber nicht ratsam.

String Operator

Gruppierungsoperator

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Gruppierungsoperator

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Gruppierungsoperator

Der Gruppierungsoperator ( ) wird verwendet, um bevorzugte Operationen zusammenzufassen oder dient bei Funktionen zum Übergeben von Parametern (Argumenten). Zusätzlich hat er die Aufgabe, Ausdrücke zu gruppieren, hierbei kommt er vor allem bei if-Anweisungen zum Einsatz. Eine Besonderheit ist übrigens, dass er keine feste Anzahl von Operanden hat.

Beispiel

// Berechnung (Addtion/Multiplikation)
$resultat = (1 + 2) * (3 + 4);            // Ergebnis: 21
$resultat = (1 + 2) * 3 + 4;            // Ergebnis: 13
$resultat = 1 + (2 * 3) + 4;            // Ergebnis: 11
$resultat = 1 + (2 * (3 + 4));            // Ergebnis: 15

Beispiel

// Funktion (Parameter)
echo $resultat = sin(90);            // Ergebnis: 0.89

Achtung: Er bestimmt die Reihenfolge, in der die Operatoren im Ausdruck ausgeführt werden. Runde Klammern setzen die automatische Vorrangreihenfolge außer Kraft und bewirken, dass die Ausdrücke in Klammern zuerst ausgewertet werden. Bei verschachtelten Klammern wird der Inhalt der innersten Klammern vor dem Inhalt der äußeren Klammern ausgewertet.

Konditionaloperator

Inkrement- bzw. Dekrementoperatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Inkrement- bzw. Dekrementoperatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Inkrement- bzw. Dekrementoperatoren

PHP unterstützt Prä- und Post-Inkrement- und Dekrementoperatoren im Stil der Programmiersprache C.

Zwei in der Programmierung häufig benötigte Operationen sind die Erhöhung bzw. Verminderung eines Zahlenwerts um 1.
. Die Erhöhung um 1 bezeichnet man als Inkrement.
. Die Verminderung um 1 als Dekrement.

Für Inkrement und Dekrement gibt es in PHP zwei spezielle Operatoren:
. ++ (Inkrement)
. -- (Dekrement)

Beide Operatoren weisen gegenüber den anderen arithmetischen Operatoren einige Besonderheiten auf:
. sie haben nur einen Operanden,
. sie können ihrem Operanden vor- oder nachgestellt werden (Präfix/Postfix),
. sie verändern den Wert ihres Operanden.

Sie sollten sich folgendes Beispiel betrachten. Angenommen, Sie wollen den Wert einer Variablen i um 1 vermindern. Ohne Dekrementoperator würden Sie dafür schreiben.

$i= $i - 1;

Mit dem Dekrementoperator geht es schneller.

$i--;

Statt der Postfixnotation, dabei wird der Operator seinem Operanden nachgestellt, können Sie auch die Präfixnotation, hier ist der Operator seinem Operanden vorangestellt, verwenden.

--$i;

Sofern Sie den Dekrement- oder Inkrementoperator allein verwenden, ist es gleich, ob Sie die Postfix- oder Präfixnotation verwenden. Wenn Sie den Dekrement- oder Inkrementoperator in einem Ausdruck verwenden, müssen Sie jedoch klar zwischen Postfix- und Präfixnotation unterscheiden, denn beide führen zu unterschiedlichen Ergebnissen.

Beispiel

$summe = 0;
$zahl = 20;
$summe = ++$zahl;    // Ergebnis: $summe  und $zahl  gleich 21

Hier wird der Wert der Variablen $zahl um 1 hoch gesetzt und der neue Wert wird der Variablen $summe zugewiesen. Nach Ausführung der Anweisung sind $summe und $zahl gleich. Anders sieht es aus, wenn Sie den Operator nachstellen.

Beispiel

$summe = 0;
$zahl = 20;
$summe = $zahl++;    // Ergebnis: $summe  20 und $zahl  21

Hier wird ebenfalls der Wert der Variablen $zahl um 1 hoch gesetzt, doch der Variablen $summe wird noch der alte Wert zugewiesen. Nach Ausführung der Anweisung hat $summe den Wert 20, während $zahl den Wert 21 hat. Ein weiteres Beispiel soll dies mit Hilfe einer if-Anweisung veranschaulichen.

Beispiel

if (++$gehalt >= 2000) {
    ...
}

Im Beispiel mit der Präfixnotation wird der Wert der Variable $gehalt zuerst um eins erhöht und anschließend mit der Zahl 2000 verglichen.

Beispiel

if ($gehalt++ >= 2000) {
    ...
}

Im Beispiel mit der Postfixnotation wird der Wert der Variable $gehalt zuerst mit der Zahl 2000 verglichen und anschließend um eins erhöht. Auch hier gibt es einen Unterschied, denn es zu beachten gilt.

Operator | Bezeichnung | Bedeutung
++ | Präinkrement | ++$a ergibt $a+1 und erhöht $a um 1
++ | Postinkrement | $a++ ergibt a und erhöht $a um 1
-- | Prädekrement | --$a ergibt $a-1 und verringert $a um 1
-- | Postdekrement | $a-- ergibt $a und verringert $a um 1

Gruppierungsoperator

Objekterzeugungs-Operator

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Objekterzeugungs-Operator

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Objekterzeugungs-Operator

Der Operator new wird durch ein Schlüsselwort dargestellt und nicht durch Sonderzeichen. Es handelt sich hier um einen Operator, der vor seinem Operanden steht.

NEW KONSTRUKTOR

Konstruktur muss ein Funktionsaufruf-Ausdruck sein, d.h., es muss ein Ausdruck darin vorkommen, der sich auf eine Funktion bezieht, sogar auf eine ganze spezielle Funktion.

Beispiel

<?php
// Klasse
class Haus
{
    var $zimmer;
    function Haus($zimmer)
    {
        $this->zimmer = $zimmer;
    }
}

// Objekt
$meinHaus = new Haus(8);

// Ausgabe - Object id #1
echo $meinHaus;
// Ausgabe (8)
echo $meinHaus->zimmer;
?>

Der Operator new funktioniert wie folgt: Zuerst wird ein neues Objekt ohne jegliche Eigenschaften angelegt und anschließend wird die angegebene Konstruktorfunktion mit den angegebenen Parametern aufgerufen.

Inkrement- bzw. Dekrementoperatoren

Array Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Array Operatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Array Operatoren

Der einzige Array Operator in PHP ist der + Operator. Das rechtsstehende Array wird an das linksstehende Array angehängt, wobei doppelte Schlüssel NICHT überschrieben werden.

Beispiel

<pre>
<?php
$personen = array("a" => "Matthias", "b" => "Carolline");
$fruechte = array("a" =>"Kirsche", "b" => "Erdbeere", "c" => "Birne");
$gesamt = $personen + $fruechte;
var_dump($gesamt);
?>
</pre>

Ausgabe

array(3) {
  ["a"]=>
  string(8) "Matthias"
  ["b"]=>
  string(9) "Carolline"
  ["c"]=>
  string(5) "Birne"
}

Objekterzeugungs-Operator

Operatoren zur Programmausführung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Operatoren zur Programmausführung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Operatoren zur Programmausführung

PHP unterstützt einen Operator zur Ausführung externer Programme: Die sog. Backticks (``). Achtung: Die Backticks sind keine einfachen Anführungszeichen! PHP versucht, den Text zwischen den Backticks als Kommandozeilen-Befehl auszuführen. Die Ausgabe des aufgerufenen Programms wird zurückgegeben und kann somit einer Variablen zugewiesen werden.

<pre>
<?php
$ausgabe = `ls -al`;
echo $ausgabe;
?>
</pre>

Achtung: Der Backtick-Operator steht nicht zur Verfügung, wenn der Safe Mode aktiviert ist oder die Funktion shell_exec() deaktiviert wurde.

Array Operatoren

Fehler-Kontroll-Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation unter Windows

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation unter Windows

Wenn PHP auf dem Server des Providers zum Einsatz kommt, wird meist Linux oder ein UNIX-Derivat eingesetzt. Für die Entwicklung von Web-Anwendungen auf dem lokalen Rechner eignet sich jedoch auch Windows.

Letztes Update: {UPDATEZEIT} WAMP
Letztes Update: {UPDATEZEIT} Apache konfigurieren
Letztes Update: {UPDATEZEIT} Installation von PHP unter Windows

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einführung in PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einführung in PHP

Der folgende Abschnitt wendet sich vor allem an die PHP-Entwickler, die für die tägliche Arbeit eine kompakte Referenz benötigen und sich zum nachschlagen äusserst gut eignet.

Letztes Update: {UPDATEZEIT} Ausdrücke
Letztes Update: {UPDATEZEIT} Anweisungen
Letztes Update: {UPDATEZEIT} Codezeile
Letztes Update: {UPDATEZEIT} Semikola
Letztes Update: {UPDATEZEIT} Leerzeichen
Letztes Update: {UPDATEZEIT} Gross- und Kleinschreibung
Letztes Update: {UPDATEZEIT} Geschweifte Klammern
Letztes Update: {UPDATEZEIT} Runde Klammern
Letztes Update: {UPDATEZEIT} Schlüsselwörter
Letztes Update: {UPDATEZEIT} Zuweisungen
Letztes Update: {UPDATEZEIT} Echo-Befehl
Letztes Update: {UPDATEZEIT} Print-Befehl
Letztes Update: {UPDATEZEIT} Unterschied zwischen echo und print
Letztes Update: {UPDATEZEIT} Heredoc
Letztes Update: {UPDATEZEIT} Kommentare

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datentypen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datentypen

Daten sind nicht gleich Daten. Nehmen Sie , z.B., die Daten 1000 und "Gülten". Sicherlich werden Sie erkennen, dass Sie es hier mit unterschiedlichen Typen von Daten zu tun haben:

10 IST EINE ZAHL

"GÜLTEN" IST EINE FOLGE VON ZEICHEN

Auch PHP trifft diese Unterscheidung und geht dabei sogar noch einen Schritt weiter. PHP unterstützt acht sog. "primitive" Typen.

Vier skalare Typen:
. Boolean
. Integer
. Fließkomma-Zahl (float)
. String / Zeichenkette

Zwei zusammengesetzte Typen:
. Array
. Object

Und zuletzt zwei spezielle Typen:
. Resource
. NULL

Ein Datentyp beschreibt die Art der Informationen, die eine Variable oder ein PHP-Element enthalten kann.

Der Typ einer Variabalen wird normalerweise nicht vom Programmierer bestimmt. Sondern zur Laufzeit von PHP wird entschieden, welchen Datentyp eine Variable erhält, abhängig vom Kontext in dem die Variable verwendet wird.

Letztes Update: {UPDATEZEIT} String/Zeichenketten
Letztes Update: {UPDATEZEIT} Zahlen
Letztes Update: {UPDATEZEIT} Boolean/Boolesche Werte
Letztes Update: {UPDATEZEIT} Objekte
Letztes Update: {UPDATEZEIT} Arrays
Letztes Update: {UPDATEZEIT} Resource Typ
Letztes Update: {UPDATEZEIT} NULL
Letztes Update: {UPDATEZEIT} Typen Besonderheiten
Letztes Update: {UPDATEZEIT} Typ-Umwandlung
Letztes Update: {UPDATEZEIT} Datentypen bestimmen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Variablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Variablen

Letztes Update: {UPDATEZEIT} Was ist eine Variable?
Letztes Update: {UPDATEZEIT} Variablendefinition
Letztes Update: {UPDATEZEIT} L- und R-Wert
Letztes Update: {UPDATEZEIT} Benennen von Variablen
Letztes Update: {UPDATEZEIT} Variablenwerte
Letztes Update: {UPDATEZEIT} Unwandeln und Prüfen von Variablen
Letztes Update: {UPDATEZEIT} Gültigkeitsbereiche und Sichtbarkeit von Variablen
Letztes Update: {UPDATEZEIT} Dynamische Variablen
Letztes Update: {UPDATEZEIT} Vordefinierte Variablen
Letztes Update: {UPDATEZEIT} Einsatz von register_globals

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Konstanten

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Konstanten

Eine Konstante ist ein Bezeichner (Name) für eine simple Variable. Wie der Name schon ausdrückt, kann sich der Wert einer Konstanten zur Laufzeit eines Skripts nicht ändern. Eine Konstante unterscheidet zwischen Groß- und Kleinschreibung (case-sensitive). Nach gängiger Konvention werden Konstanten immer in Großbuchstaben geschrieben.
. Eine Konstante können Sie über die Funktion define() definieren. Einmal definiert, kann eine Konstane weder verändert noch gelöscht werden.
. Konstanten können nur skalare Daten wie boolean, integer, float und string enthalten.

Unterschiede zwischen Konstanten und Variablen:
. Konstanten haben kein Dollarzeichen ($) vorangestellt;
. Konstanten können nur über die Funktion define() definiert werden, nicht durch einfache Zuweisung;
. Konstanten können überall definiert werden und auf Ihren Wert können Sie ohne Rücksicht auf Namensraumregeln von Variablen zugreifen;
. Sobald Konstanten definiert sind, können sie nicht neu definiert oder gelöscht werden;
. Konstanten können nur skalare Datenwerte besitzen.

<?php
define("SPRUCH", "Willkommen!");
// Ausgabe - "Willkommen!"
echo SPRUCH;
?>

Konstanten sind in allen Programmier- und Skriptsprachen nützlich, um feste, immer wieder benötigte Werte mit verständlichen Begriffen zu umschreiben. Der Einsatz erhöht die Lesbarkeit des Quellcodes.

Letztes Update: {UPDATEZEIT} Vordefinierte Konstanten

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Operatoren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Operatoren

Bevor Sie die in PHP zur Verfügung stehenden Operatoren kennen lernen, gibt es eine kurze Einführung der Begriffe Vorrang (Priorität) und Assoziativität der Operatoren.

Letztes Update: {UPDATEZEIT} Operator-Rangfolge
Letztes Update: {UPDATEZEIT} Vorrang der Operatoren
Letztes Update: {UPDATEZEIT} Assoziativität der Operatoren
Letztes Update: {UPDATEZEIT} Arithmetische Operatoren
Letztes Update: {UPDATEZEIT} Zuweisungsoperator
Letztes Update: {UPDATEZEIT} Vergleichsoperatoren
Letztes Update: {UPDATEZEIT} Gleichheitsoperatoren
Letztes Update: {UPDATEZEIT} Logische Operatoren
Letztes Update: {UPDATEZEIT} Bit Operatoren
Letztes Update: {UPDATEZEIT} String Operator
Letztes Update: {UPDATEZEIT} Konditionaloperator
Letztes Update: {UPDATEZEIT} Gruppierungsoperator
Letztes Update: {UPDATEZEIT} Inkrement- bzw. Dekrementoperatoren
Letztes Update: {UPDATEZEIT} Objekterzeugungs-Operator
Letztes Update: {UPDATEZEIT} Array Operatoren
Letztes Update: {UPDATEZEIT} Operatoren zur Programmausführung
Letztes Update: {UPDATEZEIT} Fehler-Kontroll-Operatoren

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Kontrollstrukturen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kontrollstrukturen

Die Kontrollstrukturen haben die Aufgabe, den Ablauf eines Programms zu beeinflussen. Sie sind in der Lage, die Programmausführung in Abhängigkeit von einer Bedingung zu steuern oder einzelne Anweisungen oder Anweisungsblöcke wiederholt auszuführen. In diesem Abschnitt soll Ihnen die Arbeitsweise der Kontrollstrukturen näher gebracht werden. Sie werden dabei feststellen, dass PHP eine Vielzahl von Steuerungsmöglichkeiten besitzt.

Letztes Update: {UPDATEZEIT} if-Anweisung
Letztes Update: {UPDATEZEIT} if-else-Anweisung
Letztes Update: {UPDATEZEIT} if-elseif-Anweisung
Letztes Update: {UPDATEZEIT} switch-case-Anweisung
Letztes Update: {UPDATEZEIT} while-Schleife
Letztes Update: {UPDATEZEIT} do-while-Schleife
Letztes Update: {UPDATEZEIT} for-schleife
Letztes Update: {UPDATEZEIT} foreach-Schleife
Letztes Update: {UPDATEZEIT} Verschachtelte Kontrollstrukturen
Letztes Update: {UPDATEZEIT} break
Letztes Update: {UPDATEZEIT} continue

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Funktionen und Prozeduren

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Funktionen und Prozeduren

Funktionen dienen dem Zusammenfassen mehrerer Befehle zu einem Aufruf. Da-durch werden Programme lesbarer, weil klar ist, wozu ein Befehlsblock dient.

Bei einigen Programmiersprachen findet eine Unterscheidung zwischen Funktionen statt, die einen Wert zurückgeben und solchen, die keinenWert zurückgeben. In Pascal/Delphi etwa gibt es neben Funktionen, die einen Wert zurückgeben, sowie die Prozeduren, die keinen Wert zurückgeben. PHP macht hier, genau wie C und C++, keinen Unterschied.

Definition

FUNCTION MEINEFUNK($ARG_1, $ARG_2, ..., $ARG_N) {
ANWEISUNG/EN;
RETURN $RETVAL;
}

Die Funktion erhält die Argumente 'Arg 1' bis 'Arg n' übergeben und gibt den Wert der Variablen 'retval' zurück.Wird kein 'return' in der Funktion benutzt, hat man dasselbe Verhalten wie bei einer Prozedur in Pascal/Delphi. Rückgabewerte müssen, im Gegensatz zu Pascal/Delphi, nicht abgefragt werden.

Beispiel

function quadratSumme($num) {
    return $num * $num ;
}
echo quadratSumme(4); // Ergebnis: 16

return

Der Befehl return enthält als Parameter den Rückgabewert. Dies kann ein Ausdruck oder eine einzelne Variable sein. An welcher Stelle innerhalb der Funktion Sie return einsetzen, spielt keine Rolle. Auch die mehrfache Notation ist zulässig - hier wird nach dem Motto "Wer zuerst kommt, malt zu erst" verfahren und die Funktion wird sofort verlassen. Aus Gründen sauberer Programmierung sollten Sie jedoch return nur einmal an Ende einer Funktion einsetzen.

Späte Bindung in PHP

Seit PHP4 können Sie eine Funktion an jeder beliebigen Stelle Ihres Skripts definieren. Der PHP-Interpreter verarbeitet als erstes sämtliche Funktionsdefinitionen und anschliessend den anderen Bestandteile des Skripts.

Letztes Update: {UPDATEZEIT} Funktionsargumente
Letztes Update: {UPDATEZEIT} Vorgabewerte für Parameter
Letztes Update: {UPDATEZEIT} Variable Argumentlisten
Letztes Update: {UPDATEZEIT} Rückgabewerte
Letztes Update: {UPDATEZEIT} Fehlercode als Rückgabewert
Letztes Update: {UPDATEZEIT} Dynamisch Funktionen erzeugen
Letztes Update: {UPDATEZEIT} Bedingte Funktionen
Letztes Update: {UPDATEZEIT} Verschachtelte Funktionen
Letztes Update: {UPDATEZEIT} Variablenfunktionen
Letztes Update: {UPDATEZEIT} Rekursive Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Referenzen in PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Referenzen in PHP

Letztes Update: {UPDATEZEIT} Was sind Referenzen?
Letztes Update: {UPDATEZEIT} Was leisten Referenzen?
Letztes Update: {UPDATEZEIT} Referenzen aufheben
Letztes Update: {UPDATEZEIT} Referenzen entdecken

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Arrays

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Arrays

Was machen Sie, wenn Sie in Ihrem PHP-Code einen einzelnen Wert, sagen wir den Namen einer Person, speichern wollen? Sie richten eine Variable $person ein und speichern in dieser den Wert. Diese Arbeitsweise haben wir bereits erläutert. Was machen Sie jedoch, wenn Sie, sagen wir, zehn Namen von Personen speichern wollen? Sie verwenden zehn Variablen mit Namen $person1, $person2 und so weiter. Was machen Sie, wenn Sie nun hundert Namen von Personen speichern wollen? ... Dieses Spiel könnte man nun bis ins Endlose betreiben. Was Ihnen jedoch dabei klar werden soll, ist die Tatsache, dass Variablen zum Speichern und Verarbeiten von Werten nur dann sinnvoll einzusetzen sind, wenn Sie eine überschaubare Anzahl von Werten haben.

Zusätzlich haben Sie in diesem Beispiel sicher sehr schnell festgestellt, dass die Werte in diesem Fall immer Namen von Personen sein werden, die gespeichert werden sollen. Sie werden sich nun sicher die Frage stellen: "Soll ich mir nun die Finger wund tippen?". Die Antwort lautet - natürlich nicht! Genau hierfür haben Ihnen die PHP-Entwickler den Datentyp Array zur Verfügung gestellt. Diesen werden wir im folgenden Abschnitt genauer durchleuchten, denn Sie haben Ihn bereits einige Male im Einsatz gesehen.

Letztes Update: {UPDATEZEIT} Was sind Arrays?
Letztes Update: {UPDATEZEIT} Terminologie
Letztes Update: {UPDATEZEIT} Arrays erzeugen
Letztes Update: {UPDATEZEIT} Arrays löschen
Letztes Update: {UPDATEZEIT} Mehrdimensionale Arrays
Letztes Update: {UPDATEZEIT} Arrayfunktionen
Letztes Update: {UPDATEZEIT} Funktionen für mehrer Elemente
Letztes Update: {UPDATEZEIT} Sortierfunktionen
Letztes Update: {UPDATEZEIT} Sonstige Arrayfunktionen
Letztes Update: {UPDATEZEIT} Neue Arrayfunktionen seit PHP4
Letztes Update: {UPDATEZEIT} Nützliche Arrayoperationen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Mathematische Funktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mathematische Funktionen

Nachdem Sie die in PHP zur Verfügung stehenden Arrayfunktionen kennen gelernt haben, sollen nachfolgende auch gleich die von PHP unterstützten elementaren mathematischen Funktionen zusammengestellt werden, sodass Sie in der Lage sind, mit PHP beliebige mathematische Ausdrücke zu formulieren und zu berechnen.

Funktion | Beispiel | Beschreibung
abs($x) | abs(-10) => 10 | Absoluter Betrag
acos($x) | acos(0.5) => 1.0471975511966 | Arcus Cosinus (Bogenmass)
asin($x) | asin(0.5) => 0.5235987755983 | Arcus Sinus (Bogenmass)
atan($x) | atan(0.5) => 0.46364760900081 A | rcus Tangens (Bogenmass)
atan2($x,$y) | atan2(0.5,0.5) => 0.78539816339745 | Diese Funktion berechnet den Arcustangens aus den Parametern $x und $y.
cos($x) | cos(0.5) => 0.87758256189037 | Cosinus (Bogenmass)
exp($x) | exp(2) => 7.3890560989307 | ex, Potenz zur Basis e (Eulersche Zahl)
max($x[args]) | max(20,10,9,29,10) => 29 | Maximalwert einer Argumenteliste
min($x[args]) | min(20,10,9,29,10) => 9 | Minimalwert einer Argumenteliste
log($x) | log(2) => 0.69314718055995 | Natürlicher Logarithmus
log10($x) | log10(1000) => 3 | Dekadischer Logarithmus
pow($x,$y) | pow(2,10) => 1024 | Potenzfunktion xy
sin($x) | sin(0.5) => 0.4794255386042 | Sinus (Bogenmass)
sqrt($x) | sqrt(16) => 4 | Quadratwurzel
tan($x) | tan(0.5) => 0.54630248984379 | Tangens (Bogenmass)

Letztes Update: {UPDATEZEIT} Umwandlungsfunktionen
Letztes Update: {UPDATEZEIT} Mathematische Konstanten
Letztes Update: {UPDATEZEIT} Zufallszahlen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation unter Linux

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation unter Linux

Linux ist sicher die typische Plattform für PHP. Die Installation setzt in der Regel eine Übersetzung des Quellcodes voraus. Damit erwirbt man auch die Freiheit, bestimmte Module zu nutzen, die standardmässig nicht enthalten sind. Die folgende Beschreibung zeigt die Installation unter Linux und das Zusammenspiel mit dem Apache-Webserver.

Letztes Update: {UPDATEZEIT} LAMP
Letztes Update: {UPDATEZEIT} Installation von PHP als CGI-Programm
Letztes Update: {UPDATEZEIT} Installation von PHP als Apache-Modul

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datum- und Zeitfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datum- und Zeitfunktionen

Datums- und Zeitberechnungen nehmen im praktischen Umgang mit Webanwendungen einen grossen Raum ein. Entsprechend umfangreich ist der Funktionsumfang in PHP.

Letztes Update: {UPDATEZEIT} Kalenderfunktionen
Letztes Update: {UPDATEZEIT} Datumsfunktionen
Letztes Update: {UPDATEZEIT} Zeitfunktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Stringfunktionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Stringfunktionen

Mit Hilfe der zahlreichen Stringfunktionen können Strings (Zeichenketten) auf verschiedene Arten bearbeitet. Die wichtigsten Stingfunktionen werden Ihnen in diesem Abschnitt vorgestellt.

Letztes Update: {UPDATEZEIT} Ersetzen von Zeichen in Zeichenketten
Letztes Update: {UPDATEZEIT} Umwandeln, Teilen und Verbinden von Zeichenketten
Letztes Update: {UPDATEZEIT} Suchen und Vergleichen von Zeichenketten
Letztes Update: {UPDATEZEIT} Ausgabe von Zeichen und Zeichenketten
Letztes Update: {UPDATEZEIT} URL- und HTML-spezifische Zeichenkettenfunktionen
Letztes Update: {UPDATEZEIT} Zusätzliche Funktionen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Reguläre Ausdrücke

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Reguläre Ausdrücke

Neben Array- und Stringfunktionen nehmen die regulären Ausdrücke (engl. regular expressions) und ihre Funktionen, in PHP einen grossen Stellenwert ein. Mit Hilfe der regulären Ausdrücke lassen sich Suchmuster für Zeichenketten realisieren, welche sowohl für einfache als auch komplexe Suchfunktionen eingesetzt werden können. Sie sind sogar in der Lage unter Verwendung regulärer Ausdrücke, Teile einer Zeichenkette zu ersetzen, zu löschen oder zu ändern. Bei der Entwicklung von Webanwendungen müssen oft grosse Mengen von dynamischen Textdaten verarbeitet werden. Reguläre Ausdrücke sind besonders wertvoll für jene Entwickler, die umfangreiche und komplexe Anwendungen schreiben.

Reguläre Ausdrücke sind allerdings anfangs sehr gewöhnungsbedürftig. Der Hauptgrund, wieso in einigen PHP-Skripten merkwürdige, kryptisch anmutende Zeichenfolgen vorkommen, ist der Einsatz von regulären Ausdrücken.

Hier zwei Beispiele, denen Sie im Zusammenhang mit regulären Ausdrücken sicherlich begegnen werden, wie z.B. der E-Mail Validation und der Überprüfung eines festgelegten Formats.

Beispiel - E-Mail Validation

<?php
// Regulärer Ausdruck
$reg_ausdruck = "^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$";

// Teststring
$test_email = "matthiask@atomicscript.de";

// Ausgabe - E-Mail - OK!
if (ereg($reg_ausdruck, $test_email)) {
    echo "E-Mail - OK!";
} else {
    echo "E-Mail - Fehlerhaft!";
}
?>

Hier einige Schreibweisen, die zugelassen und nicht zugelassen werden.

Zugelassen

ma_tthiask@atomic.script.de
ma.tt-hias-k@ato-mic-script.info
matthias1k@123.de

Nicht zugelassen

matthiask@atomicl_script.de
ma&tthiask@atomiscript.de1
.matthiask@atomicr#script.de

Hinweis: In diesem Beispiel kam die ereg()-Funktion zum Einsatz, welche zur Verarbeitung von regulären Ausdrücken dient. Sie werden weiter unten in diesem Abschnitt mehr über die Funktion erfahren.

Beispiel - Schreibweise von HTML hexadezimal Farbwerte

<?php
// Regulärer Ausdruck
$reg_ausdruck = "^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$";

// Teststring
$test_farbe = "#ff0000";

// Ausgabe - Farbwert - OK!
if (ereg($reg_ausdruck, $test_farbe)) {
    echo "Farbwert - OK!";
} else {
    echo "Farbwert - Fehlerhaft!";
}
?>

Hier einige Schreibweisen, die zugelassen und nicht zugelassen werden.

Zugelassen

#00ccff
#099
ff00ff

Nicht zugelassen

red
0x00ff00
#ffcc0

Mit Hilfe der regulären Ausdrücken können Sie, zusätzlich effizient und flexibel nach Zeichenketten suchen und diese ersetzen. Bei bisherigen Suchen- und Ersetzen-Vorgängen, musste der genaue Text eingegeben werden, nach dem gesucht werden soll. Dadurch wird die Suche nach dynamischen Daten recht aufwendig, wenn nicht gar unmöglich.

Sollten Sie einen regulären Ausdruck einsetzen wollen, brauchen Sie zunächst etwas, das Sie durchsuchen wollen. Im einfachsten Fall kann es sich um die in einer Variablen enthaltenen Zeichenkette handeln, oder um Werte, die in einem Array gespeichert sind. Natürlich kann es sich bei der zu durchsuchenden Zeichenkette auch um Datensätze einer Datenbank oder um Zeilen einer Datei handeln.

Zusammenfassung

Fassen wir unsere bisherigen Kenntnisse über reguläre Ausdrücke zusammen:
. Ein regulärer Ausdruck ist eine Folge oder ein Muster von Zeichen, welches beim Suchen oder Ersetzen mit einer Zeichenkette verglichen wird.

Arbeitsvorgänge

. Es wird entweder eine Übereinstimmung festgestellt oder keine.
. Es ist auch möglich, ein übereinstimmendes Zeichenmuster festzustellen und es durch eine andere Zeichenkette zu ersetzen.

Letztes Update: {UPDATEZEIT} Reguläre Ausdrücke für einzelne Zeichen
Letztes Update: {UPDATEZEIT} Reguläre Ausdrücke für Zeichenketten
Letztes Update: {UPDATEZEIT} Variablen in regulären Ausdrücken
Letztes Update: {UPDATEZEIT} Reguläre Ausdrücke mit Alternativen
Letztes Update: {UPDATEZEIT} Rangfolge und Klammerung in regulären Ausdrücken
Letztes Update: {UPDATEZEIT} Funktionen für reguläre Ausdrücke
Letztes Update: {UPDATEZEIT} Ergänzungen zu reguläre Ausdrücke
Letztes Update: {UPDATEZEIT} Vertiefung zu reguläre Ausdrücke
Letztes Update: {UPDATEZEIT} Hinweise zur Optimierung
Letztes Update: {UPDATEZEIT} Einsatz der PCRE-Funktionen
Letztes Update: {UPDATEZEIT} Einsatz der Funktionen im POSIX-Stil
Letztes Update: {UPDATEZEIT} Programme zu reguläre Ausdrücke

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Code-Konventionen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Code-Konventionen

Sie sollten den folgenden Abschnitt nicht als Vorschriftensammlung sehen! Vielmehr sollten Sie die enthaltenen Informationen als Empfehlungen berücksichtigen!

Letztes Update: {UPDATEZEIT} Was sind Code-Konventionen?
Letztes Update: {UPDATEZEIT} Wie sollen sie eingesetzt werden?
Letztes Update: {UPDATEZEIT} Bennenung und Kommentare

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Debugging - Fehlersuche in PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Debugging - Fehlersuche in PHP

Bevor Sie erfahren was Debugging genau ist werden Sie sich als erstes mit dem PHP-Fehlerkonzept vertraut machen müssen, denn Fehler ist nicht gleich Fehler!

Letztes Update: {UPDATEZEIT} PHP-Fehlerkonzept
Letztes Update: {UPDATEZEIT} Syntaxanalyse
Letztes Update: {UPDATEZEIT} Fehlerprävention
Letztes Update: {UPDATEZEIT} Fehlerarten
Letztes Update: {UPDATEZEIT} Debugging
Letztes Update: {UPDATEZEIT} Fehlersuche und Fehlerfinden

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Counter - der Besucherzähler

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Counter - der Besucherzähler

Immer wieder ein beliebtes Beispiel ein sogenannter Counter (Besucherzähler), welcher dem Besucher der Website darüber aufklären soll, wie viele Besucher bereits vor Ihm die jeweilige Website oder Web-Anwendung aufgerufen haben.

Natürlich lässt sich ein solcher Counter nicht nur mit Perl oder ASP realisieren sondern auch mit Hilfe von PHP.

Letztes Update: {UPDATEZEIT} Textcounter
Letztes Update: {UPDATEZEIT} Grafikcounter
Letztes Update: {UPDATEZEIT} Counter mit IP-Sperre

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Gästebuch

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Gästebuch

Nach einem Besucherzähler sollten Sie versuchen sich mit einem etwas komplexeren Problem zu befassen, nämlich der Umsetzung eines Gästebuchs. Wenn man es genau nimmt ist dies auch nicht viel komplizierter als die Realisierung eines vollfunktionsfähigen Besucherzählers.

Ein Gästebuch findet man heutzutage auf einer Vielzahl von Websites, ob bei Privatpersonen, Firmen oder Vereinen. Es seinen Besuchern zu ermöglichen eine Nachricht zu hinterlassen hatte schon immer das gewisse etwas.

Das folgende Gästebuch, welches wir Ihnen vorstellen wollen setzt sich aus folgenden Dateien zusammen:
. buch_eintrag.php - in diesem Skript befindet sich die Eingabemaske (Formular), welches es dem Besucher ermöglicht einen Gästebuch-Eintrag vorzunehmen.
. buch_funktionen.php - in diesem Skript werden die Daten, welche aus buch_eintrag.php stammen gefiltert und überprüft. Diese werden anschliessend von funktionen.php weiter verarbeitet.
. funktionen.php - in diesem Skript wird dafür gesorgt, dass die buch_inhalt.htm und die ips.txt erzeugt werden. Sollte die buch_inhalt.htm bereits vorhanden sein wird der Inhalt durch die Daten des neuen Eintrags ergänzt. Sollte die ips.txt vorhanden sein, wird überprüft ob der Besucher einen doppelten Eintrag vornehmen möchte, dies wird jedoch durch die Reload-Sperre verhindert.
. ips.txt - enthält die gesperrten IP-Adressen samt Zeitstempel.
. autorespond.php - in diesem Skript wird dafür gesorgt, dass sowohl der Gästebuchbetreiber (webmaster) als auch der Besucher eine mail erhalten.
. buch.php - in diesem Skript wird überprüft, ob die buch_inhalt.htm bereits existiert und falls diese der Fall ist, wird der Inhalt der Datei ausgegeben.
. buch_inhalt.htm - in dieser Datei befinden sich sämtliche Gästebuch-Einträge.
. automail.txt - hierbei handelt es sich um die Autorespond-Nachricht, welche nach einem Eintrag ins Gästebuch an den Besucher per mail versandt wird.
. main.css - diese CSS-Datei sorgt für die Layout-Formatierung des Gästebuchs.

Sowohl die main.css als auch die automail.txt befinden sich in einem jeweils gesonderten Ordner. Die Ordner sorgen, dafür das die Übersicht gewart bleibt, folgende Ordner werden eingesetzt:
. bild - dieser enthält das Gästebuchlogo (gbuchlogo.gif), hier können Sie nach belieben weiter Grafikdatein ablegen.
. css - dieser enthält die CSS-Datei (main.css), welche für die Layout-Formatierung des Gästebuch zuständig ist.
. text - dieser enthält die Textdatei (automail.txt), mit der Autorespond-Nachricht die für den Besucher bestimmt ist.

Struktur des Atomic-Gästebuch

Nun sollten Sie einen Blick auf die eingesetzten Skript werfen:

1. Buch_eintrag.php

<html>
<head>
<title>G&auml;stebuch v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/gbuchlogo.gif' width='800' height='80'></p>
<form method='post' action='buch_funktionen.php'>
  <table width='400' align='center'>
    <tr align='left'>
      <td class='latestnews' colspan='6'>&nbsp;Kommentar</td>
    </tr>
    <tr>
      <td colspan='6' class='autor' height='10'>
        <div align='right'></div>
      </td>
    </tr>
    <tr>
      <td valign='top' width='9'>
        <div class='morelink'>&raquo;&nbsp;</div>
      </td>
      <td valign='top' class='blocksatz' width='36'>Name: </td>
      <td valign='top' class='blocksatz' width='190'>
        <input type='text' name='fname' class='contentblack' size='30' maxlength='50'>
      </td>
      <td valign='top' class='morelink' width='6'>&raquo;</td>
      <td valign='top' class='blocksatz' width='40'>Rubrik:</td>
      <td valign='top' class='blocksatz' width='91'>
        <select name='fbetreff' class='contentblack'>
          <option value='Kritik'>Kritik</option>
          <option value='Anregung'>Anregung</option>
          <option value='Lob'>Lob</option>
          <option value='Allgemein'>Allgemein</option>
        </select>
      </td>
    </tr>
    <tr>
      <td valign='top' width='9'>
        <div class='morelink'>&raquo;&nbsp;</div>
      </td>
      <td valign='top' class='blocksatz' width='36'>E-mail: </td>
      <td valign='top' class='blocksatz' colspan='4'>
        <input type='text' name='femail' class='contentblack' size='30' maxlength='50'>
      </td>
    </tr>
    <tr>
      <td valign='top' width='9'>
        <div class='morelink'>&raquo;&nbsp;</div>
      </td>
      <td valign='top' class='blocksatz' width='36'>Inhalt: </td>
      <td valign='top' class='blocksatz' colspan='4'>
        <textarea name='finhalt' class='contentblack' cols='30' rows='5' wrap='PHYSICAL'></textarea>
      </td>
    </tr>
    <tr>
      <td valign='top' width='9'>
        <div class='morelink'>&raquo;&nbsp;</div>
      </td>
      <td valign='top' class='blocksatz' width='36'>Home: </td>
      <td valign='top' class='blocksatz' colspan='4'>
        <input type='text' name='fhome' class='contentblack' size='30' maxlength='50'>
      </td>
    </tr>
    <tr>
      <td valign='top' width='9'>
        <div class='morelink'>&nbsp;</div>
      </td>
      <td valign='top' class='blocksatz' width='36'>&nbsp;</td>
      <td valign='top' class='blocksatz' colspan='4'>
        <input type='submit' name='senden' value='senden' class='contentblack'>
        <input type='reset' name='losch' value='L&ouml;schen' class='contentblack'>
      </td>
    </tr>
    <tr>
      <td colspan='6' class='autor' height='10'>
        <div align='right'></div>
      </td>
    </tr>
    <tr>
      <td colspan='6' class='latestnews'>&nbsp;</td>
    </tr>
  </table>
</form>
<p align="center"><a href='buch.php' class="contentlink">Beitr&auml;ge Lesen</a></p>
</body>
</html>

Eingabemaske des Gästebuchs

2. Buch_funktionen.php

<?php

//Stammen die Daten vom Formular?
if (isset($_POST["senden"])) {

//Textfeldeingaben Filtern
function daten_reiniger($inhalt) {
    if (!empty($inhalt)) {
        //HTML- und PHP-Code entfernen.
        $inhalt = strip_tags($inhalt);
        //Umlaute und Sonderzeichen in
        //HTML-Schreibweise umwandeln
        $inhalt = htmlspecialchars($inhalt);
        //Entfernt überflüssige Zeichen
        //Anfang und Ende einer Zeichenkette
        $inhalt = trim($inhalt);
        //Backslashes entfernen
        $inhalt = stripslashes($inhalt);
    }
return $inhalt;
}

//Schreibarbeit durch Umwandlung ersparen
foreach ($_POST as $key=>$element) {
    //Dynamische Variablen erzeugen, wie g_fname, etc.
    //und die Eingaben Filtern
    ${"g_".$key} = daten_reiniger($element);
}

//Anfang - Prüfung
//Kein richtiger Name eingegeben
if(strlen($g_fname)<3){
$error_msg="Bitte geben Sie Ihren Namen an";
}

//Kein Eintrag vorgenommen
if(strlen($g_finhalt)<3){
$error_msg.="<br>Bitte geben Sie auch etwas in das Gästebuch ein.";
}

//Mailadresse korrekt angegeben - entsprechende Formatierung vornehmen
if(ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$g_femail)){
$format_femail="<a href=mailto:" . $g_femail . ">E-Mail</a>";
} else {
$error_msg.="<br>Fehlerhafte E-mail!<br>";
}

//Es wurde auch eine Homepageadresse angegeben - entsprechende Formatierung vornehmen
if(ereg("^([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$g_fhome)){
    // fehlt in der Angabe der Adresse - hier ergänzen
    if(!ereg("^//",$g_fhome)){
    $g_fhome="" . $g_fhome;
    }
$g_fhome="<a href=" . $g_fhome . " target=_blank>Website</a>";
} else {
$g_fhome="<a href=" . $g_fhome . " target=_blank>Website</a>";
}
//Ende - Prüfung

//Prüfen ob Fehler vorgekommen sind!
if($error_msg){
echo "
<html>
<head>
<title>G&auml;stebuch v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/gbuchlogo.gif' width='800' height='80'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      <p>$error_msg</p>
      <a href='javascript:history.back()' class='contentlink'>Zur&uuml;ck</a><br>
      Eintrag konnte nicht angelegt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      </td>
  </tr>
</table>
</body>
</html>
";

} else {
$g_fdatum=date("Y-m-d H:i:s");

$eintrag="
<table width='400' align='center'>
  <tr align='left'>
    <td class='latestnews' colspan='2'>&nbsp;$g_fbetreff</td>
  </tr>
  <tr>
    <td colspan='2' class='autor'>
      <div align='right'>$g_fdatum</div>
    </td>
  </tr>
  <tr>
    <td valign='top' width='13'>
      <div class='morelink'>&raquo;&nbsp;</div>
    </td>
    <td valign='top' class='blocksatz' width='375'>". nl2br($g_finhalt) ."</td>
  </tr>
  <tr>
    <td colspan='2' class='contentblack'>
      <div align='right'>$g_fname</div>
    </td>
  </tr>
  <tr>
    <td valign='top' colspan='2'>
      <table width='100%' border='0' cellspacing='0' cellpadding='0'>
        <tr>
          <td class='autor'>
            <div align='left'>[ $format_femail ]</div>
          </td>
          <td class='autor'>
            <div align='right'>[ $g_fhome ]</div>
          </td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td colspan='2' class='latestnews'>&nbsp;</td>
  </tr>
</table>
";

include("funktionen.php");

}

} else {
echo "
<html>
<head>
<title>G&auml;stebuch v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/gbuchlogo.gif' width='800' height='80'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      Eintrag konnte nicht angelegt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
";
}
?>

Wie Sie sehen werden die Daten aus den Formularelementen durch die Funktion daten_reiniger() gefiltert. Folgende Bestandteile werden gefiltert:
. strip_tags() - entfernt HTML- und PHP-Code.
. htmlspecialchars() - wandelt Umlaute und Sonderzeichen in HTML-Schreibweise um.
. trim() - entfernt überflüssige Zeichen am Anfang und Ende einer Zeichenkette.
. stripslashes() - entfernt Backslashes aus der Zeichenfolge.

Fehlermeldung bei nicht korrekten Angaben

Die gefilterten Daten werden anschliessend nochmals überprüft, vor allem der Inhalt des E-mail und des Home-Formularelements wird mit Hilfe von regulären Ausdrücken genauer unter die Lupe genommen.

3. Funktionen.php

<?

/////////////////////////////////////////
// Gästebuch + Reloadsperre v1.0
/////////////////////////////////////////

// 0=keine Reloadsperre, 1=Reloadsperre
$aktiv = 1;
// Zeit der Reloadsperre in Minuten
$zeit = 5;
// IP-Datei
$ipdatei = "ips.txt";
// Buchdatei
$datei = "buch_inhalt.htm";

/////////////////////////////////////////
// IP-Reloadsperre
/////////////////////////////////////////

function pruf_IP($rem_addr) {
  global $ipdatei,$zeit;
  @$ip_array = file($ipdatei);
  $reload_dat = fopen($ipdatei,"w");
  $this_time = time();
  for ($i=0; $i<count($ip_array); $i++) {
    list($ip_addr,$time_stamp) = explode("|",$ip_array[$i]);
    if ($this_time < ($time_stamp+60*$zeit)) {
      if ($ip_addr == $rem_addr) {
        $gefunden=1;
      }
      else {
        fwrite($reload_dat,"$ip_addr|$time_stamp");
      }
    }
  }
  fwrite($reload_dat,"$rem_addr|$this_time\n");
  fclose($reload_dat);
  return ($gefunden==1) ? 1 : 0;
}

/////////////////////////////////////////
// Abfrage
/////////////////////////////////////////

if (isset($_POST["senden"])) {
if (file_exists($datei) && ($aktiv==0 || ($aktiv==1 && pruf_IP($REMOTE_ADDR)==0))) {
  // Falls die Datei existiert, wird sie ausgelesen und
  // die enthaltenen Daten werden durch den neuen Beitrag
  // ergänzt
  $fp=fopen($datei,"r+");
  $daten=fread($fp,filesize($datei));
  rewind($fp);
  flock($fp,2);
  fputs($fp,"$eintrag \n $daten");
  flock($fp,3);
  fclose($fp);
  include("autorespond.php");
  header("Location:buch.php");
}else if (!file_exists($datei) && ($aktiv==0 || ($aktiv==1 && pruf_IP($REMOTE_ADDR)==0))) {
  // Die Datei buch_inhalt.htm existiert nicht, sie wird
  // neu angelegt und mit dem aktuellen Beitrag gespeichert.
  $fp=fopen($datei,"w");
  fputs($fp,"$eintrag \n");
  fclose($fp);
  include("autorespond.php");
  header("Location:buch.php");
} else {
  // Die Datei existiert zwar, jedoch handelt
  // es sich wahrscheinlich um den gleichen Besucher
  header("Location:buch.php");
}
} else {
echo "
<html>
<head>
<title>G&auml;stebuch v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/gbuchlogo.gif' width='800' height='80'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      Eintrag konnte nicht angelegt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
";
}

?>

Der Inhalt dieses Skripts sollte Ihnen bereits bekannt vorkommen, dieser setzt sich nämlich grösstenteils aus Bestandteilen des Besucherzählers zusammen.

4. Autorespond.php

<?php

if (isset($_POST["senden"])) {

// Mail an Webmaster
$webmaster="matthiask@flashstar.de";

$mailinhalt = "
Atomic-Book - Eintrag\n
__________________\n
Person: $g_fname\n
E-mail: $g_femail\n
WWW: $g_fhome\n
__________________\n
Betreff: $g_fbetreff\n
Kommentar:\n$g_finhalt\n
__________________\n
Zeit: $g_fdatum\n
__________________\n";

@mail($webmaster, "$g_fbetreff (von $g_fname) - Eintrag", $mailinhalt, "From: $g_femail");

// Autoresponder
$datei = "text/automail.txt";
$fp = fopen($datei, "r");
$inhalt = fread($fp,filesize($datei));
fclose($fp);

@mail("$g_femail", "Atomic-Book - Danke für Ihren Eintrag", "$inhalt\n\n","From:$webmaster");

} else {
echo "
<html>
<head>
<title>G&auml;stebuch v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/gbuchlogo.gif' width='800' height='80'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      Eintrag konnte nicht angelegt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
";
}

?>

Um die Gästebuch-Einträge lediglich zu betrachten wird folgendes Skript benötigt.

5. Buch.php

<html>
<head>
<title>G&auml;stebuch v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/gbuchlogo.gif' width='800' height='80'></p>
<?php

$meldung="
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'><br>- LEER -<br>
      <p><a href='buch_eintrag.php' class='contentlink'>Zur&uuml;ck</a></p>
    </td>
  </tr>
</table>
";

if (!@include("buch_inhalt.htm")) {
 echo $meldung;
}

?>
<p align="center"><a href='buch_eintrag.php' class="contentlink">Beitr&auml;g Schreiben</a></p>
</body>
</html>

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Useronline

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Useronline

Wir hatten Ihnen bereits zu beginn des Kapitels gezeigt, wie Sie einen Besucherzähler umsetzen können und zusätzlich eine IP-Zeitsperre hinzufügen. Genau das selbe Prinzip können Sie einsetzen um Ihren Besuchern anzuzeigen, wie viele Besucher aktuelle auf Ihrer Website verweilen.

Hierfür müssen Sie lediglich an der Funktion pruf_IP() einige kleinere Veränderungen vornehmen:

function pruf_IP($rem_addr) {
  global $ipdatei,$zeit,$anzahl;
  @$ip_array = file($ipdatei);
  $reload_dat = fopen($ipdatei,"w");
  $this_time = time();
  $anzahl = count($ip_array);
  for ($i=0; $i<$anzahl; $i++) {
    list($ip_addr,$time_stamp) = explode("|",$ip_array[$i]);
    if ($this_time < ($time_stamp+60*$zeit)) {
      if ($ip_addr == $rem_addr) {
        $gefunden=1;
      }
      else {
        fwrite($reload_dat,"$ip_addr|$time_stamp");
      }
    }
  }
  fwrite($reload_dat,"$rem_addr|$this_time\n");
  fclose($reload_dat);
  return ($gefunden==1) ? 1 : 0;
}

Mit Hilfe der Variablen $anzahl sind Sie in der Lage zu ermitteln, wie viele Besucher in einem festgelegten Zeitraum Online sind.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Online-Umfrage

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Online-Umfrage

Dieses Thema ist immer wieder etwas das Entwickler und Anwender gleichermassen vor eine Herausforderung stellt, die es zu bewältigen gilt. Der Anwender muss die Qual der Wahl treffen und der Entwickler muss dafür, sorgen dass die Stimmabgabe ordnungsgemäss verarbeitet wird.

Im folgenden Beispiel versuchen wir Ihnen zumindest für Sie als Entwickler eine Lösung in die Hand zu geben, mit deren Hilfe Sie hoffentlich in der Lage sind erfolgreich Online-Umfragen durchzuführen, sei es für Wahlen oder für die Lieblingsfarbe Ihrer Besucher.

Die Online-Umfrage setzt sich hierbei aus zwei wesentlichen Skripten zusammen.
. umfrage.php - in diesem Skript wird mit Hilfe eines Array, welches die möglichen Auswahlmöglichkeiten enthält eine dynamische Eingabemaske (Formular) erzeugt, mit deren Hilfe der Besucher in der Lage ist seine Stimme abzugeben. Die Stimmen für die jeweiligen Auswahlmöglichkeiten werden in der Textdatei stimmen.txt gespeichert. Nach der Stimmabgabe wird ein Cookie erzeugt, welches eine erneute Stimmabgabe verhindert soll.
. eregbnis.php - in diesem Skript werden die Umfrageergebnisse aus der Textdatei stimment.txt in grafischer Form ausgegeben.

Zusätzlich wurden folgende drei Ordner angelegt:
. bild - dieser enthält das Gästebuchlogo (umfragelogo.gif), hier können Sie nach belieben weiter Grafikdatein ablegen.
. css - dieser enthält die CSS-Datei (umfrage.css), welche für die Layout-Formatierung der Online-Umfrage zuständig ist.
. daten - in diesem Ordner befindet sich die Textdatei (stimmen.txt), welche die abgegeben Stimmen der Online-Wähler enthält.

Struktur der Atomic-Umfrage

1. Umfrage.php

<?php
if (isset($_POST["ergebnis"])) {
    // Aktuelle Sperre 1 Minute
    // 30 Tage Sperre time()+60*60*24*30
    setcookie("abgestimmt","ja",time()+60);
}

$thema = "Atomic-Umfrage 2004";
$auswahl = array("Super","Sehr Gut","Gut","Naja","Schlecht");
$anzahl = count($auswahl);

?>
<html>
<head>
<title>Atomic-Umfrage</title>
<link rel='stylesheet' type='text/css' href='css/umfrage.css'>
</head>
<body>
<img src='bild/umfragelogo.gif' width='506' height='62'><br>
<h3><?php echo $thema ?></h3>
<form method='post' action='<?php echo $PHP_SELF; ?>'>
<p>
<?php

foreach ($auswahl as $key=>$eintrag) {
    echo "<input type='radio' name='ergebnis' value='$key'> $eintrag<br>\n";
}

?>
</p>
<?php
if (empty($_COOKIE["abgestimmt"]) && !isset($_POST["ergebnis"])) {

// Submit nur zeigen, wenn Formular noch nicht abgeschickt wurde
echo "<input type='submit' value='Daten senden'>";

} else {
echo "<p>Danke für die Übermittlung der Daten!</p>\n";

// Formular abgeschickt? Aber bisher noch nicht abgestimmt?
if (empty($_COOKIE["abgestimmt"]) && isset($_POST["ergebnis"])) {

// Dateiname in Variable speichern
$datei="daten/stimmen.txt";

// Datei vorhanden?
if (file_exists($datei)) {
    $fp=fopen($datei,"r+");
} else {
    $fp=fopen($datei,"w");
}

// Datei einlesen
$stimmen=fread($fp,filesize($datei));

// String aus Datei in Array zerlegen
$stimmen=explode(",",$stimmen);

// Der gewählte Punkt wird um 1 erhöht!
$stimmen[$_POST["ergebnis"]]++;

// Stimmen in einem String zusammensetzen
for ($i=0;$i<$anzahl;$i++) {
    $total .= $stimmen[$i] .",";
}

// Neuen String in Datei schreiben
rewind($fp);
fputs($fp,$total);
fclose($fp);
}
}
?>
</form>
<p>
[ <a href='ergebnis.php' target='_blank'>Umfrageergebnisse betrachten</a> ]
</p>
</body>
</html>

Umfrage samt Eingabemaske

Die vorliegende Umsetzung legt mit Hilfe eines Cookies fest, dass jeder Online-Wähler lediglich einmal pro Minute eine Stimme abgeben kann. Natürlich lässt sich diese Sperrzeit beliebig erhöhen.

Hinweis: Die eingesetzte Sperre stellt keinen absoluten Schutz dar. Sie können hiermit jedoch bereits eine gewisse Kontrolle auf die Online-Umfrage erreichen. Eine Kombination aus Cookie und IP-Zeitsperre würde zusätzliche Sicherheit bieten, eine absolute Sperre wird es jedoch nicht geben ohne grösseren Aufwand zu betreiben.

Um die Umfrageergebnisse zu betrachten wird folgendes Skript verwendet.

2. Ergebnis.php

<?php

$thema = "Atomic-Umfrage 2004";
$auswahl = array("Super","Sehr Gut","Gut","Naja","Schlecht");
$farben = array("9999FF","8888FF","7777FF","6666FF","5555FF");
$anzahl = count($auswahl);

?>
<html>
<head>
<title>Atomic-Umfrage - Ergebnis</title>
<link rel="stylesheet" type="text/css" href="css/umfrage.css">
</head>
<body>
<img src='bild/umfragelogo.gif' width='506' height='62'><br>
<h3><?php echo $thema; ?> - Ergebnisse</h3>
<?php
$datei="daten/stimmen.txt";
@$fp=fopen($datei,"r");
@$stimmen=fread($fp,filesize($datei));
@fclose($fp);
// String zerlegen, Array entsteht
$stimmen=explode(",",$stimmen);

for ($i=0;$i<$anzahl;$i++) {
    $gesamt += $stimmen[$i];
}

if ($gesamt>0) {
// Höchstlänge der Balken angeben
$laenge=400;

for ($i=0;$i<$anzahl;$i++) {
// Anteil der Balken
$blaenge=$stimmen[$i]*$laenge/$gesamt;

// Werte auf ganze Zahlen runden
$blaenge= round($blaenge);

// Prozentwert ermitteln und ausgaben
$prozent = sprintf('%1.1f', 100*$stimmen[$i]/$gesamt);

echo "
<table border='0'>
<tr>
<td width='100'>$auswahl[$i]</td>
<td>&nbsp;</td><td width='$blaenge' bgcolor='$farben[$i]'>&nbsp;</td>
<td>&nbsp;<i>$prozent% ($stimmen[$i])</i></td>
</tr>
</table>
";
}

echo "<p>Anzahl der Stimmen: <b>$gesamt</b></p>";
} else {
echo "<p>Bisher wurden noch keine Stimmen abgegeben!</p>";
}
?>
</body>
</html>

Umfrageergebnis - Tabellenfelder dienen hier als Anzeige

Wie Sie feststellen werden können Sie durch eine leichte Anpassung, die Umfrageergebnisse auch mit Hilfe von Grafikdateien wiedergeben. Hierfür müssen Sie lediglich die folgende echo-Codzeile einsetzen.

echo "
<table border='0'>
<tr>
<td width='100'>$auswahl[$i]</td>
<td>&nbsp;</td><td><img src='bild/balken_ende_l.gif' width='6' height='10'><img src='bild/balken.gif' width='$blaenge' height='10'><img src='bild/balken_ende_r.gif' width='6' height='10'>&nbsp;</td>
<td>&nbsp;<i>$prozent% ($stimmen[$i])</i></td>
</tr>
</table>
";

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Kontaktformular - Autoresponder

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kontaktformular - Autoresponder

Nun kommen wir zu einem weiteren Punkt der sich wohl nicht vermeiden lässt, nämlich die Umsetzung eines Kontaktformulars. Was wäre eine Website ohne ein Kontaktformular, schliesslich sollen mögliche Besucher, Interessenten oder Kunden in der Lage sein mit dem Betreiber der Website kontakt auf zunehmen.

Um ein vollfunktionsfähiges Kontaktformular umzusetzen bedarf es nicht viel, um es jedoch in die Lage zu Versetzen beliebig viel Formularelemente zu verarbeiten, so dass es für unterschiedliche Zwecke eingesetzt werden kann, müssen Sie etwas mehr Know-How in die Waagschale werfen.

Wir werden Ihnen zeigen, dass auch die Umsetzung eines solchen universell einsetzbaren Formular kein all zu grosses Problem darstellt.

Zur Umsetzung der Eingabemaske benötigen Sie lediglich eine HTML-Seite, mit dem Namen kontaktformular.htm, welche ein von Ihnen entworfenes Formular enthält. Beim Einsatz der Formularelemente innerhalb der HTML-Seite ist darauf zu achten, dass das E-mail Textfeld den Namen mailer_email erhält. Alle anderen Formularelemente können Sie beliebig bezeichnen.

Für die Verarbeitung der Formular-Daten sind zwei Skripte verantwortlich:
. atomicmailer.php - in diesem Skript werden die Daten, welche aus kontaktformular.htm stammen gefiltert und überprüft. Diese werden anschliessend von autorespond.php weiter verarbeitet.
. autorespond.php - in diesem Skript wird dafür gesorgt, dass sowohl der Betreiber (webmaster) als auch der Besucher eine mail erhalten. Der Betreiber erhält die Angaben des Besuchers und der Besucher eine Benachrichtigung darüber, dass seine Anfrage so schnell, wie möglich bearbeitet wird.

Zusätzlich wurden folgende drei Ordner angelegt:
. bild - dieser enthält das Mailerlogo (mailerlogo.gif), hier können Sie nach belieben weiter Grafikdateien ablegen.
. css - dieser enthält die CSS-Datei (main.css), welche für die Layout-Formatierung des Kontaktformular zuständig ist.
. text - dieser enthält die Textdatei (automail.txt), mit der Autorespond-Nachricht die für den Besucher bestimmt ist.

Struktur des Kontaktformular

1. Atomicmailer.php

<?php
$form_name = "kontaktformular.htm";

//Stammen die Daten vom Formular?
if (isset($_POST["senden"])) {

// Textfeldeingaben Filtern
function daten_reiniger($inhalt) {
    if (!empty($inhalt)) {
        // HTML- und PHP-Code entfernen.
        $inhalt = strip_tags($inhalt);
        // Umlaute und Sonderzeichen in
        //HTML-Schreibweise umwandeln
        $inhalt = htmlspecialchars($inhalt);
        // Entfernt überflüssige Zeichen
        // Anfang und Ende einer Zeichenkette
        $inhalt = trim($inhalt);
        // Backslashes entfernen
        $inhalt = stripslashes($inhalt);
    }
return $inhalt;
}

// Schreibarbeit durch Umwandlung ersparen
foreach ($_POST as $key=>$element) {
    if ($key != "senden") {
    // Eingaben Filtern
    $daten = daten_reiniger($element);
    // Dynamische Variablen erzeugen, wie mailer_name, etc.
    ${"mailer_".$key} = $daten;
    $maildaten .= "$key: $daten\n";
    }
}

//Mailadresse korrekt angegeben - Name entsprechend formatieren
if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$mailer_email)){
$error_msg.="Fehlerhafte E-mail!<br>";
}

// Prüfen ob Fehler vorgekommen sind!
if($error_msg){
echo "
<html>
<head>
<title>Atomic-Mailer v1.0 - Fehler</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/mailerlogo.gif' width='700' height='59'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      <p>$error_msg</p>
      <a href='$form_name' class='contentlink'>Zur&uuml;ck</a><br>
      Ihre Anfrage konnte nicht übermittelt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      </td>
  </tr>
</table>
</body>
</html>
";

} else {
$mailer_datum=date("Y-m-d H:i:s");

echo "
<html>
<head>
<title>Atomic-Mailer v1.0 - Versand</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/mailerlogo.gif' width='700' height='59'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- Vielen Dank! - <br>
      Ihre Anfrage wurde erfolgreich verschickt.<br>
      Vielen Dank!<br>
      <a href='$form_name' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
";

include("autorespond.php");

}

} else {
echo "
<html>
<head>
<title>Atomic-Mailer v1.0 - Fehler</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/mailerlogo.gif' width='700' height='59'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      Ihre Anfrage konnte nicht übermittelt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='$form_name' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
";
}
?>

Kontaktformular im Einsatz

2. Autorespond.php

<?php

if (isset($_POST["senden"])) {

// Mail an Webmaster
$webmaster="matthiask@flashstar.de";

$mailinhalt = "
Atomic-Mailer - Anfrage\n
__________________\n
E-mail: $mailer_email\n
__________________\n
$maildaten
__________________\n
Zeit: $mailer_datum\n
__________________\n";

@mail($webmaster, "Atomic-Mailer - Anfrage", $mailinhalt, "From: $mailer_email");

// Autoresponder
$datei = "text/automail.txt";
$fp = fopen($datei, "r");
$inhalt = fread($fp,filesize($datei));
fclose($fp);

@mail("$mailer_email", "Atomic-Mailer - Danke für Ihre Anfrage", "$inhalt\n\n","From:$webmaster");

} else {

echo "
<html>
<head>
<title>Atomic-Mailer v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/mailerlogo.gif' width='700' height='59'></p>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      Die Anfrage konnte nicht übermittelt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='kontaktformular.htm' class='contentlink'>Zur&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
";
}

?>

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installationkits

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installationkits

Sie haben natürlich auch die Möglichkeit sich einiges an Arbeit mit Hilfe von sog. Installationkits zu ersparen. Hier entfallen die lästigen Konfigurationsschritte und der Webserver samt zusätzlicher Erweiterungen können schon nach wenigen Minuten zum Einsatz kommen.

Letztes Update: {UPDATEZEIT} XAMPP
Letztes Update: {UPDATEZEIT} Apache 2 Triad
Letztes Update: {UPDATEZEIT} WAMP5
Letztes Update: {UPDATEZEIT} MAMP
Letztes Update: {UPDATEZEIT} Installationkits und Sicherheit

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dynamische Navigation

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dynamische Navigation

Wir haben noch etwas für Sie, es handelt sich hierbei nicht um das Speichern von Daten oder die Verarbeitung von Nutzeranfragen. In diesem Fall handelt es sich um eine dynamische Navigation, welche mit Hilfe eines PHP-Skripts umgesetzt wurde.

Dynamische Navigation via PHP

Wie Sie anhand der Abbildung erkennen können handelt es sich um einen Navigationsbaum, welcher einzelne Unterkategorien (Verästelungen) enthält.

Um diese Navigation umsetzen benötigen sie folgendes Skript:

Navigation.php

<html>
<head>
<title>Atomic-Navigator</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>
<img src='bild/naviogo.gif' width='607' height='57'><br>
<font face="Verdana,Arial" size="2">
<br>
<?php
$kategorien = array(
'Kategorie1' => 'navigation.php?sub=1',
'Kategorie2' => 'navigation.php?sub=2',
'Kategorie3' => 'navigation.php?sub=3'
);

$themen_1 = array(
'Thema1' => 'www.selfas.de',
'Thema2' => 'www.flashstar.de',
'Thema3' => 'www.atomicscript.de'
);

$themen_2 = array(
'Thema1' => 'www.php.net',
'UnterKategorie' => 'navigation.php?sub=2&unter=1',
'Thema3' => 'www.mysql.org'
);

$themen_ebene_2 = array(
'Unter_Thema_1' => 'www.flashangel.de/',
'Unter_Thema_2' => 'www.flashpower.de',
'Unter_Thema_3' => 'www.cybercollege.de'
);

$themen_3 = array(
'Thema1' => 'www.madania.de',
'Thema2' =>'www.tutorials.de',
'Thema3' => 'www.apachefriends.org'
);

foreach ($kategorien as $key => $wert) {
echo "<a href='$wert'>$key</a><br>";
if (($key == "Kategorie1") && ($sub == "1")) {
        foreach ( $themen_1 as $key => $wert ) {
                echo "<ul><a href='$wert'>$key</a></ul>";
        }

}
if (($key == "Kategorie2") && ($sub == "2")) {
        foreach ( $themen_2 as $key => $wert ) {
                echo "<ul><a href='$wert'>$key</a></ul>";
                if (($key == "UnterKategorie") && ($sub == "2") && ($unter == "1"))
                {
                        foreach ( $themen_ebene_2 as $key => $wert )
{
                                echo "<ul><ul><a href='$wert'>$key</a></ul></ul>";
                                if ($key == "Unter_Thema_3") {$b = "2";}
                        }
                }
        }
}

if (($key == "Kategorie3") && ($sub == "3")) {
        foreach ( $themen_3 as $key => $wert ) {
                echo "<ul><a href='$wert'>$key</a></ul>"; }
}
}
?>
</font>
</body>
</html>

Sie können durch den Einsatz von <img>-Tags die Navigation mit grafischen Elementen umsetzen, so dass Sie Ihren Bedürfnissen entspricht.

Hinweis: Ist Ihnen bereits aufgefallen, wie häufig wir die bereits erarbeiteten Funktionen und Codezeilen für diverse Problemstellungen einsetzten konnten. Danach sollte man als Entwickler streben, so erspart man sich eine menge Zeit.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Formulare und PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Formulare und PHP

Formulare stellen in der Welt der interaktiven und dynamischen Websites den Schlüssel zum Anwender dar. Der Anwender wird durch sie in die Lage versetzt, Daten einzugeben, und der Server kann auf diese Daten in vielfältiger Weise reagieren. Die Umsetzung von Formulare erfolgt in den meisten Fällen mit Hilfe von HTML-Tags, wie dem <form>-Tag. Die Übertragung der Daten zum Server übernimmt HTTP mit den Methoden POST oder GET.

Hinweis: Formulare bzw. sog. Eingabemasken können Ihnen auch in Form von JavaApplets und Flash-Anwendungen begegnen. Vor allem Flash-Anwendungen spielen eine immer grösser werden Rolle.

Letztes Update: {UPDATEZEIT} GET und POST
Letztes Update: {UPDATEZEIT} Ermitteln von Formulardaten
Letztes Update: {UPDATEZEIT} Auswertung von Formulare
Letztes Update: {UPDATEZEIT} Formularelemente auf Existenz prüfen
Letztes Update: {UPDATEZEIT} Dynamische Formulare
Letztes Update: {UPDATEZEIT} Formulare über mehrere Seiten
Letztes Update: {UPDATEZEIT} Fragen zu Formularelemente
Letztes Update: {UPDATEZEIT} Prüfen auf fehlende oder fehlerhafte Eingaben
Letztes Update: {UPDATEZEIT} Formulardaten und globale Servervariablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Daten via URL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Daten via URL

Wie Sie wissen wird neben POST auch die Methode GET zum Übertragen von Daten verwendet. Diese erfolgt durch Anhängen der Werte an den URL. Der folgende Abschnitt beschreibt, wie Sie Skripte per Hyperlink verknüpfen.

Zu beginn des Kapitels wurde die GET-Methode bereits vorgestellt, die Daten an den URL anhängt. Es ist nahe liegen, auf diese Methode nicht nur über Formulare, sondern auch direkt zuzugreifen. Dieser direkte Zugriff erfolgt mit Hilfe des -Tags.

Beispiel

<a href="projekt.php?var1=wert1&var2=wert2">Aufrufen</a>

Drei spezielle Zeichen finden hierbei Verwendung.
. Das Trennung zwischen URL und Daten ist das Fragezeichen (?).
. Die Trennung der einzelnen Variablen-/Wertepaare ist das Amperesand (&).
. Die Trennung innerhalb der Paare erfolgt mittels Gleichheitszeichen (=).

Eine Extrahierung der Daten ist, wie bei Formularen nicht notwendig. Sämtliche Daten stehen in Form von einzelnen Variablen zur Verfügung. Im folgenden Beispiel sollten Sie sich die Arbeitsweise genauer betrachten:

Beispiel - links.php

<html>
<head>
<title>Daten via URL</title>
</head>
<body>
<a href="themen.php?thema=1">Sport</a>
<a href="themen.php?thema=2">Autos</a>
<a href="themen.php?thema=3">Filme</a>
<a href="themen.php?thema=4">Computer</a>
</body>
</html>

Beispiel - themen.php

<html>
<head>
<title>Gewählt</title>
</head>
<body>
Sie haben folgendes Thema gewählt:
<?php
switch ($thema) {
    case 1: echo "Sport"; break;
    case 2: echo "Autos"; break;
    case 3: echo "Filme"; break;
    case 4: echo "Computer"; break;
}
?>
</body>
</html>

Letztes Update: {UPDATEZEIT} Kodierung von Daten
Letztes Update: {UPDATEZEIT} Achtung - Escape-Zeichen
Letztes Update: {UPDATEZEIT} Arbeiten mit dem $QUERY_STRING
Letztes Update: {UPDATEZEIT} Gleichlautende Variablen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Cookies via PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Cookies via PHP

PHP ermöglicht es Ihnen HTTP-Cookies zu verarbeiten. Sie haben die Möglichkeit diese zu erzeugen, auszulesen und zu entfernen. Cookies stellen einen einfachen Mechanismus zur Verfügung, der von einem Webserver genutzt werden kann, um beim Client Informationen anzulegen und abzurufen.

Cookies als solche wurden von dem Softwareunternehmen Netscape als merkfähige Ergänzung des zustandslosen HTTP-Protokolls entwickelt. Diese sollten dazu beitragen, die Transparenz von Anwender-Interaktionen im Web zu verbessern.

Cookies stehen seit der Version 1.1 des Netscape Navigator zur Verfügung. Die Einführung der Cookies durch Netscape erfolgte zunächst ohne dass hierüber Informationen an die Client-Anwender gegeben wurden, was zu teilweise absurden Spekulationen über Sinn und Zweck geführt hat. Noch heute haftet den Cookies ein eher negatives Image an.

Bei Cookies handelt es sich um Sammlungen von Variablen, die auf dem Rechner des Clients in Form von maximale 4 Kilobytes grossen Textdateien abgelegt werden und die dazu dienen, Informationen zwischen zu speichern. Diese Informationen können dazu genutzt werden um beispielsweise das Webangebot einer Website zu personalisieren und damit den Wünschen des Anwenders besser gerecht zu werden.
. Ein Cookie ist eine Textinformation mit einer maximalen Grösse von 4 Kilobytes.
. Ein Browser kann maximal 300 Cookies speichern.
. Pro Domain können maximal 20 Cookies angelegt werden.
. Cookies können vom Browser nur an den dafür definierten Server zurückgesendet werden.
. Vorhanden Cookies werden in PHP als Variable importiert, die den Namen des Cookie trägt. Darüber hinaus enthält die globale Servervariable $_COOKIE ($HTTP_COOKIE_VARS) alle gesetzten Cookies.

Da das Verfallsdatum der Cookies vom installierenden Webserver explizit festgelegt werden kann, ist ihre Lebensdauer sehr unterschiedlich. Manche sind nur so lange aktiv, wie der Browser geöffnet ist, andere haben eine Lebensdauer von mehreren Monaten oder Jahren.

Nachdem das Verfallsdatum eines Cookies erreicht ist, wird es vom Browser automatisch gelöscht. Ein spezielles Cookie kann nur von dem Server ausgelesen werden, der dieses angelegt hat. Zwar kann ein Webserver auch Cookies für einen anderen Server anlegen lassen, diese können dann jedoch nur von dem Server ausgelesen werden, für den die Cookies angelegt wurden.

Letztes Update: {UPDATEZEIT} Spezifikation von Cookies
Letztes Update: {UPDATEZEIT} Cookies in PHP
Letztes Update: {UPDATEZEIT} Cookies Löschen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Session-Management via PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Session-Management via PHP

Das Session-Management von PHP ist ein Mechanismus, welcher es ermöglicht unterschiedliche Anfragen eines Clients über einen Zeitraum hinweg in Beziehung zu setzen. Das es sich bei HTTP um ein verbindungsloses Protokoll handelt, bedeutet dies, dass Client und Server nach jedem Kommando den Prozess beenden und im weiteren Verlauf des Kommunikationsprozesses für jedes weitere Kommando einen erneuten Prozess starten. Hierbei besteht zwischen verschiedenen Anfragen desselben Clients keine Beziehung. Für die Abwicklung von Geschäftsprozesse ist dieses Verhalten von HTTP zunächst sehr hinderlich, wie Sie am Beispiel eines Online-Shops leicht nachvollziehen können: Der Kunde ruft die Startseite eines Online-Shop auf und erhält dort in aller Regel eine Kennnummer, über die er im Verlauf des gesamten Prozesses der Online-Bestellung identifiziert werden soll.

Anschliessend wechselt er in den Katalogbereich und füllt seinen Einkaufskorb. Möchte der Kunde die ausgewählten Artikel bestellen, wechselt er auf die entsprechende Seite und gibt dort Name, Anschrift und Bankverbindung an.

Im Verlauf dieses Prozesses hat der Kunde auf diese Weise in der Regel zwei bis drei verschiedene Seiten vom Server angefordert, der, wenn nicht entsprechende Massnahmen getroffen werden, aufgrund des verbindungslosen HTTP-Protokolls, die für den Bestellvorgang relevanten Informationen der jeweils zuvor besuchten Seite wieder vergessen hat.

Mit dem Session-Management sind die grundlegenden Funktionen, die für die Behandlung solcher, über mehrere HTTP-Requests hinweg zusammenhängen Transaktionen erforderlich sind, zum festen Bestandteil von PHP geworden.

Das Session-Management erstellt dabei automatisch die für die Behandlung von Sessions erforderlichen Session-IDs und kümmert sich um die Serialisierung und Speicherung der an die Session gebundenen Daten.

PHP nutzt zur Speicherung der Sessiondaten das Dateisystem des jeweiligen Webservers.

Bei der Speicherung werden die Session-Variablen von PHP automatisch serialisiert, d.h. in eine Zeichenkette umgewandelt.

Beim Start einer Session prüft PHP zunächst, ob eine gültige Session-ID existiert. Sollte das nicht der Fall sein, wird sie angelegt.

Wenn bereits eine gültige Session-ID vorhanden ist, werden die für diese Session vorgehaltenen Variablen im globalen Namensraum des Skripts verfügbar gemacht.

Durch Aufruf der Funktion session_register() können im weiteren Verlauf Session-Variablen erzeugt werden, um deren Speicherung sich PHP automatisch kümmert und die im Verlauf der gesamten Session referenziert werden können.

Mit Hilfe der Funktion session_unregister() können Session-Variablen wieder entfernt werden, was bei einer Online-Shop-Lösung erforderlich werden kann, wenn ein Kunde schon ausgewählte Artikel wieder aus seinem Warenkorb entfernt.

Zusammenfassung

. Unterschiedliche HTTP-Requests eines Clients können als Session behandelt werden.
. Für jeden Anwender wird eine verschlüsselte, zufallsgenerierte Session-ID erzeugt.
. Auf der Client-Seite wird die Session-ID entweder unter Verwendung von Cookies gespeichert.
. Sollte der Anwender die Verwendung von Cookies nicht gestattet, wird die Session-ID unter Verwendung von GET/POST-Variablen oder dem URL von Skript zu Skript weitergeleitet.
. Sessiondaten werden auf dem Server entweder in Textdateien, in Datenbanken oder im Prozessspeicher des Webservers gespeichert.
. Sofern PHP mit der configure-Option - enable-trans-id kompiliert wurde, erfolgt die Weiterleitung der Session-ID, für den Fall, dass Cookies nicht erlaubt sind, automatisch.

Letztes Update: {UPDATEZEIT} Konfiguration des Session-Moduls
Letztes Update: {UPDATEZEIT} Session-Funktionen in PHP
Letztes Update: {UPDATEZEIT} Weitergabe der Session-ID über Cookies
Letztes Update: {UPDATEZEIT} Weitergabe der Session-ID über GET/POST
Letztes Update: {UPDATEZEIT} Weitergabe der Session-ID über header()
Letztes Update: {UPDATEZEIT} Überprüfung des Verbindungsstatus

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Servervariablen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Servervariablen

Der Webserver liefert zahlreiche Informationen über sich selbst und den Systemzustand. Oft können mit diesen Angaben komfortable Skripte programmiert werden. Einige Daten liefert auch der Browser an den Server und dieser stellt sie wiederum dem Browser als Servervariable zur Verfügung.

Letztes Update: {UPDATEZEIT} CGI-Umgebung
Letztes Update: {UPDATEZEIT} Erzeugen von eigenen Logfiles

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dateisystem via PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dateisystem via PHP

PHP ermöglicht es Ihnen auf das Dateisystem eines Webservers direkt zu zugreifen. Sie sind in der Lage Dateien zu schreiben, lesen und löschen. Zusätzlich können Sie auch auf die Verzeichnisse des Dateisystems zugreifen. Die hierfür zur Verfügung gestellten Funktionen sollten Sie jedoch vorsichtig einsetzen. Schliesslich greifen Sie auf das Dateisystems des Servers zu und nicht auf das der Anwenders. Wenn Ihre Web-Anwendung bei einem Provider laufen, sollten Sie unbedingt nachfragen, ob dieser den direkten Zugriff aus das Dateisystem gestattet.

Im folgenden Abschnitt werden wir Ihnen zunächst einen umfassenden Einblick auf das Dateisystem liefern und anschliessend auf die Erzeugung von Dateien und Verzeichnisse eingehen.

Letztes Update: {UPDATEZEIT} Informationen über Dateien und Verzeichnisse
Letztes Update: {UPDATEZEIT} Verzeichnisoperationen
Letztes Update: {UPDATEZEIT} Berechtigungen von Dateien und Verzeichnissen
Letztes Update: {UPDATEZEIT} Auslesen von Verzeichnissen
Letztes Update: {UPDATEZEIT} Dateioperationen und Dateifunktionen
Letztes Update: {UPDATEZEIT} Lesen und Schreiben von Dateien
Letztes Update: {UPDATEZEIT} Erzeugen und Schreiben von Dateien
Letztes Update: {UPDATEZEIT} Kopieren, umbenennen und löschen von Dateien
Letztes Update: {UPDATEZEIT} Serialisierung von Daten
Letztes Update: {UPDATEZEIT} Verriegelung von Dateien
Letztes Update: {UPDATEZEIT} Auslesen von CSV-Dateien
Letztes Update: {UPDATEZEIT} Nützliche Dateioperationen
Letztes Update: {UPDATEZEIT} Nützliche Verzeichnisoperationen
Letztes Update: {UPDATEZEIT} Dateiupload via HTML-Formular

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP und OOP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP und OOP

In diesem Kapitel werden wir uns mit den Objekten auseinandersetzen. Sie erfahren, wie sie Objekte nutzen und erzeugen können und was Eigenschaften und Methoden sind. Zusätzlich bietet Ihnen dieses Kapitel eine Einführung und Vertiefung in die objektorientierte Programmierung, kurz OOP. Es sollte nicht verschwiegen werden, dass wir das Thema objektorientierte Programmierung aus Sichtweise des PHP Entwickler durchleuchten werden und nicht aus der Sichtweise eines Informatikers. Sie müssen sich daher keine Sorgen machen, vielleicht etwas nicht nachvollziehen zu können. Anhand praktischer Fallbeispiele wird Ihnen OOP möglichst schonend verabreicht. Die Informatiker unter Ihnen mögen es uns verzeihen, aber auch sie werden dieses Kapitel zu schätzen wissen, da es sowohl die Syntax, als auch den Verwendungszweck von Objekten und objektorientierten Prinzipien in PHP durchleuchtet und nützliche Tipps zum Umstieg auf PHP bietet.

Letztes Update: {UPDATEZEIT} Was sind Objekte?
Letztes Update: {UPDATEZEIT} Objektorientierte Programmierung (OOP)
Letztes Update: {UPDATEZEIT} Wie programmieren Sie objektorientiert?
Letztes Update: {UPDATEZEIT} Wesentliche Konzepte der OOP
Letztes Update: {UPDATEZEIT} Zusammenfassung
Letztes Update: {UPDATEZEIT} PHP vs OOP
Letztes Update: {UPDATEZEIT} Klassen in PHP
Letztes Update: {UPDATEZEIT} Vererbung
Letztes Update: {UPDATEZEIT} Konstruktoren und Destruktoren
Letztes Update: {UPDATEZEIT} Vertiefung der OOP-Techniken
Letztes Update: {UPDATEZEIT} Verbesserungen des OOP-Konzepts in PHP4
Letztes Update: {UPDATEZEIT} Metainformationen über Klassen und Objekte
Letztes Update: {UPDATEZEIT} PHP-Objekte sind assoziative Arrays
Letztes Update: {UPDATEZEIT} Optimierung durch parent
Letztes Update: {UPDATEZEIT} Mehrfachvererbung durch Aggregation
Letztes Update: {UPDATEZEIT} Überladen von Klassen durch Overloading
Letztes Update: {UPDATEZEIT} Nützliche OOP-Codeschnipsel

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PDF - Portable Document Format

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PDF - Portable Document Format

Das von Adobe entwickelte Portable Document Format, kurz PDF, ist ein offener Standard zur Verbreitung elektronischer Dokumente, wie Handbücher, Anleitungen, uvm. PDF ist ein universelles Dateiformat, das sämtliche Schriften, Formatierungen, Farben und Grafiken einer beliebigen Vorlage beibehält, unabhängig von dem Programm und dem Betriebssystem, mit dem diese erstellt wurde. PDF-Dateien sind kompakt und können von jederman gemeinsam genutzt, betrachtet und exakt ausgedruckt werden. Um diese Funktionen nutzen zu können benötigen Sie den kostenlosen Adobe Acrobat Reader.

Letztes Update: {UPDATEZEIT} Grundlagen von PDF
Letztes Update: {UPDATEZEIT} PHP und die PDFLib
Letztes Update: {UPDATEZEIT} PDFLib im Einsatz

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


XML

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

XML

XML steht für eXtensible Markup Language und ist noch längst keine ausgereifte Technologie. Die XML-Spezifikation 1.0 ist gerade mal ein paar Jahre alt. Man kann sagen, dass die Spezifikation festlegt, wie XML funktioniert. Sicher ist jedoch auch, dass es viele Fragen gibt, die erst geklärt werden, wenn an konkreten Projekten gearbeitet wird.

Wer XML praktisch erproben will, muss immer noch recht experimentier freudig sein. Die volle XML-Unterstützung in den Clients (Browser, usw.) wird noch auf sich warten lassen. Welches die richtigen Strategien für die Umsetzung in den Browsern ist, wird sicher noch einige Diskussionen hervorrufen.

Ob XML zu einem wichtigen Thema für Web-Entwickler wird, lässt sich noch nicht absehen. Letztlich sind es einige Zusatztechnologien, die für Web-Entwickler besonders interessant sind. Einige dieser Technologien stehen bereits zur Verfügung, an anderen wird noch gearbeitet. Wer von Ihnen XML kennen lernen will, kann jedoch davon ausgehen, dass die Zeit nicht verschwendete Zeit darstellt.

Letztes Update: {UPDATEZEIT} Was ist XML?
Letztes Update: {UPDATEZEIT} Beschreibendes Markup
Letztes Update: {UPDATEZEIT} Eigenarten von XML
Letztes Update: {UPDATEZEIT} XML-Funktionen in PHP
Letztes Update: {UPDATEZEIT} Eigenschaften der XML-Funktionen
Letztes Update: {UPDATEZEIT} Erzeugen eines XML-Parsers
Letztes Update: {UPDATEZEIT} Verwendung von XSLT mit PHP
Letztes Update: {UPDATEZEIT} Manuelle Erzeugung von XML-Dokumenten
Letztes Update: {UPDATEZEIT} Erzeugung von dynamischen XML-Dokumenten mit DOM

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP Konfiguration

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP Konfiguration

Nachdem Sie PHP als CGI-Programm oder als Apache-Modul installiert haben, ist PHP prinzipiell lauffähig, d.h. Sie können mit dem Webbrowser ein im Veröffentlichungsverzeichnis Ihres Webservers vorhandenes PHP-Skript aufrufen.

Bevor Sie erste Tests mit PHP durchführen, sollten Sie sich noch mit der PHP-Initialisierungsdatei, der php.ini beschäftigen, in der Sie das Verhalten von PHP in vielerlei Hinsicht beeinflussen können.

Letztes Update: {UPDATEZEIT} Syntax der Init-Datei
Letztes Update: {UPDATEZEIT} Sprachoptionen
Letztes Update: {UPDATEZEIT} Leistungsbegrenzungen
Letztes Update: {UPDATEZEIT} Fehlerbehandlung und Protokollierung
Letztes Update: {UPDATEZEIT} Datenbehandlung
Letztes Update: {UPDATEZEIT} Pfade und Verzeichnisse
Letztes Update: {UPDATEZEIT} PHP-Erweiterungen für Windows
Letztes Update: {UPDATEZEIT} Moduleinstellungen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dynamische Grafiken mit der GD-Bibliothek

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dynamische Grafiken mit der GD-Bibliothek

Wir haben Sie bereits im Abschnitt PHP und OOP mit einigen Funktionen der GD-Bibliothek konfrontiert. Nun wollen wir Ihnen einen tieferen Einblick in der Welt der dynamisch generierten Grafiken und Bilder gewähren.

Tipp: Die aktuelle Version der GD-Bibliothek finden Sie unter folgender Adresse: www.boutell.com/gd/

Letztes Update: {UPDATEZEIT} MIME-Typen und PHP
Letztes Update: {UPDATEZEIT} Festlegung des MIME-Typ
Letztes Update: {UPDATEZEIT} GD-Funktionen in PHP
Letztes Update: {UPDATEZEIT} GD-Funktionen in der Praxis

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Zend Engine 2 und PHP 5

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Zend Engine 2 und PHP 5

Die Zend Engine 2 stellt ein Versuch dar, PHP5 für den Einsatz im Enterprise-Sektor konkurrenzfähig zu gestalten und einzugliedern. Sicherlich wurde PHP auch schon vorher von Firmen gezielt eingesetzt, aber die Unterstützung in punkto Zuverlässigkeit und Sicherheit, die eine Programmiersprache geben sollte, war keineswegs zufriedenstellend ausgeprägt.

In der folgenden Übersicht befinden sich alle Kernbestandteile der Änderungen an der Zend Engine 2.0. In Zukunft werden wohl noch weitere Features auf Sie als Entwickler zu kommen. Das gesetzte Ziel fokussierte sich primär auf eine verbesserte OO-Unterstützung und die Implementierung neuer Konstrukte, um das OO-Design zu erleichtern.
. Objekte-Klonen
. Objekt-Dereferenzierung
. Konstruktoren & Destruktoren
. Builtin Backtracing
. Verbesserte OO-Verhaltensweise
. Implizite Referenzierung von Objektinstanzen
. Optimierter Objektrückgabemechanismus
. Exception Handling
. Datenkapselung
. Namespaces/Nested Classes

Hier ein Beispiel zu den OOP Erweiterungen, so dass Sie sich ein Bild davon machen können:

<?php

// Schnittstelle
// Gewährleistet die Kommunikation zwischen Klassen
interface Wachstum {
  // Abstraktion einer Methode
  abstract public function altern();
}

// Abstraktion einer Klasse
abstract class Lebewesen implements Wachstum {
  // Eigenschaften schützen, so dass über ein
  // Objekt keine direkter Zugriff möglich ist!
  protected $alter = 0;
  protected $geschlecht;

  abstract public function altern();

  public final function getAlter() {
     return $this->alter;
  }
}

// Klasse Mensch wird durch die Superklasse
// Lebewesen erweitert (Vererbung)
class Mensch extends Lebewesen {
   protected static $vorfahre = "Affe";
   protected $name;

   // Konstruktor
   function __construct($name, $geschlecht) {
     $this->name = $name;
     $this->geschlecht = $geschlecht;
     $this->altern();
   }

   // Destruktor
   function __destruct() {
      echo "<br>...und so scheidet ".$this->name." dahin";
   }

   // Finale Methoden
   final function altern() {
     $this->alter++;
   }

   final function getName() {
     return $this->name;
   }

   function umbenennen($neuerName) {
     $this->name = $neuerName;
   }

   function geburtstagFeiern() {
      $this->altern();
      echo "trööööt";
   }

   // Statische Methoden
   public static final function neueEvolutionstheorie($neuerVorfahre) {
     Mensch::$vorfahre = $neuerVorfahre;
   }

   public static final function getVorfahre() {
     return Mensch::$vorfahre;
   }
}

// Klasse Deutscher erbt von Mensch
class Deutscher extends Mensch {
   function __construct($name, $geschlecht) {
     parent::__construct($name, $geschlecht);
   }

   function umbenennen($neuerName, $geduldsfaden=false) {
      $erfolg = $this->behoerdengang($geduldsfaden);
      if ($erfolg) $this->name = $neuerName;
  }

  // Private Methode
  private function behoerdengang($geduldsfaden) {
     try {
       if (!$geduldsfaden)
        throw new Exception("Umbennenung fehlgeschlagen!");
        return true;
     } catch (Exception $prop) {
        echo $prop->getMessage()."<br>";
        return false;
     }
  }
}

// Autor erzeugen (Objekt)
$autor = new Mensch("Matthias", "m");

// Auf die Methode getName() zugreifen
echo $autor->getName()."<br>";

// Autor umbenennen
$autor->umbenennen("Matze");

// Neuen Namen ausgeben
echo "Neuer Name: ".$autor->getName()."<br>";

// Folgende Codezeile erezeugt einen Fehler
// da die Eigenschaft geschützt ist!
// echo $autor->geschlecht;

// An das Alter gelangt man mit Hlfe der
// Funktion getAlter()
echo "Alter des Autors: " . $autor->getAlter() ."<br>";

// Stammt Autor vom Mensch ab?
if ($autor instanceof Mensch) {
 echo $autor->getName()." ist ein Mensch!<br>";
}

// Wer sind die Vorfahren der Menschen
echo "Der Mensch ist ein Nachfahre von ".Mensch::getVorfahre()."<br>";

// Neue Theorie
Mensch::neueEvolutionstheorie("Alien");

// Wer sind nun die Vorfahren der Menschen
echo "Der Mensch ist ein Nachfahre von ".Mensch::getVorfahre()."<br>";

// Autorin erzeugen (Objekt)
$autorin = new Deutscher("Caroline", "w");

// Die Methode behoerdengang ist über
// das Objekt nicht zu erreichen, da
// diese als private gekennzeichnet ist!
// $autorin->behoerdengang(true);

// Gibt den Ausnahmefall aus da das
// zweite Argument false ist (throw/catch).
$autorin->umbenennen("Caro", false);

?>

Ausgabe

Matthias
Neuer Name: Matze
Alter des Autors: 1
Matze ist ein Mensch!
Der Mensch ist ein Nachfahre von Affe
Der Mensch ist ein Nachfahre von Alien
Umbennenung fehlgeschlagen!

...und so scheidet Caroline dahin
...und so scheidet Matze dahin

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Übersicht der Anpassungen und Erweiterungen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Übersicht der Anpassungen und Erweiterungen

In diesem Abschnitt führen wir einige der Anpassungen und Erweiterungen in PHP 5 auf, so dass Sie sich möglichst schnell einen Überblick verschaffen können.

Letztes Update: {UPDATEZEIT} Vordefinierte Konstante
Letztes Update: {UPDATEZEIT} Einsatz von array_combine()
Letztes Update: {UPDATEZEIT} Einsatz von range()
Letztes Update: {UPDATEZEIT} Einsatz von microtime()
Letztes Update: {UPDATEZEIT} Einsatz von scandir()
Letztes Update: {UPDATEZEIT} Einsatz von file_get_contents() und file_put_contents()
Letztes Update: {UPDATEZEIT} Erweiterungs-Optimierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


MySQL und PHP 5

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MySQL und PHP 5

In PHP 5 ist MySQL weder standardmäßig aktiviert, noch ist die MySQL Client Bibliothek in PHP enthalten. Der Grund hierfür begründet das PHP-Entwickler Team mit der Verbreitung von MySQL. Es ist somit nicht mehr notwendig in PHP MySQL einzubinden. Dafür haben Ihnen die Entwickler im Gegenzug eine optimierte MySQL-Erweiterung (mysqli) spendiert.

Hinweis: Die mysqli-Erweiterung ermöglicht Ihnen den Zugriff auf Funktionen von MySQL 4.1 und höher.

Installation

Um die mysqli-Erweiterung für PHP zu installieren, verwenden Sie hierfür die Option --with-mysqli=mysql_config_path wobei mysql_config_path auf das Verzeichnis des mysql_config-Programms verweist, welches bei MySQL-Versionen größer als 4.1 vorhanden ist. Darüber hinaus müssen Sie die Standard- MySQL-Erweiterung deaktivieren, da diese standardmäßig aktiviert ist. Dazu verwenden Sie die Option --without-mysql. Wenn Sie die Standard-MySQL-Erweiterung zusammen mit der verbesserten mysqli-Erweiterung installieren möchten, können sie die mit PHP mitgelieferte und integrierte libmysql-Bibliothek nicht benutzen. Stattdessen müssen Sie Client-Bibliotheken verwenden, welche bei MySQL-Version 4.1 installiert werden. Damit zwingen Sie PHP diese Client-Bibliotheken zu benutzen und vermeiden so Konflikte.

Hinweis: Da die Auflistung sämtlicher mysqli-Funktionen den Rahmen des Buches sprengen würde, verweisen wir Sie an dieser Stelle auf die Online-Referenz: www.php.net

Achtung: Die mysqli-Erweiterung befindet sich immer noch im experimentier Stadium und sollte lediglich zu Testzwecken eingesetzt werden.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Was ist MySQL?

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Was ist MySQL?

Wenn Sie die Kataloge von Software-Distributoren betrachten, treffen Sie immer wieder auf die Kategorie Datenbanken. In der Angebotspalette finden sich so bekannte und klangvolle Namen wie MS Access, Oracle oder Sybase. All diese Software-Produkte haben die Aufgabe, Daten systematisch und strukturiert zu speichern. Sie bieten weiterhin Werkzeuge zur Manipulation dieser Daten an. Dabei kann von dieser Software-Kategorie nahezu jede digitale Form unterstützt werden, die auf Daten basiert, die häufig abgefragt, verändert oder ausgewertet werden. Datenbanken sind somit vielfältig einsetzbar.

MySQL ist eine solche Datenbank.

Datenbanken sind heute aus dem weltwirtschaftlichen Geschehen nicht mehr wegzudenken. Banken und Versicherungen wären ohne Datenbanken in keinster Weise wettbewerbsfähig. Eine Vielzahl von Internetangeboten wie Internetshops, Suchmaschinen oder Tauschbörsen wären ohne Datenbanken nicht funktionsfähig. Den Stellenwert von Datebanken sollte man daher nicht unterschätzen.

Relationale Datenbanken

Als relationales Datenbanksystem erlaubt MySQL die Speicherung von Daten in einem verknüpften und damit schnellen und flexiblen System einzelner Tabellen. Die Tabellen wiederum sind so organisiert, dass sie einzelne Datensätze und Felder besitzen. In den jeweiligen Tabellen stellen die Reihen die Datensätze dar und die Spalten die Felder, aus denen sich ein Datensatz zusammensetzt.

Die Speicherung der Daten und die Möglichkeiten der Bearbeitung basieren dabei weitgehend auf dem SQL-Standard, der Structured Query Language. Sie ist die am häufigsten verwendete Sprache für relationale Datenbanksysteme. Dabei verfügt sie über Befehle
. zum Einfügen, Auslesen, Ändern und Löschen von Daten in Tabellen
. zum Erzeugen, Ersetzen, Ändern und Löschen von Objekten
. zur Zugangskontrolle zur Datenbank und ihrer Objekte
. zur Sicherstellung der Datenbankkonsistenz und -integrität

SQL gehört zu den älteren Standards. Dies zeigt jedoch auch, dass sich das Konzept erfolgreich behaupten konnte.

Die Ursprünge von SQL basieren auf Grundlagen, die von Dr. E.F. Codd in seinem Buch A Relational Model of Large Shared Data Banks, 1970, veröffentlicht wurden. Später wurde dieses Konzept von IBM als Structured English Query Language (SEQUEL) übernommen, aus dem heraus sich SQL entwickelt hat. 1986 formulierte das American National Standards Institute (ANSI) die erste Standardisierung. 1987 wurde von der International Organization for Standardization (ISO) die erste technische Standardisierung von SQL herausgegeben. Es folgte 1989 mit SQL-89 die zweite, 1992 mit SQL-92 die dritte offizielle Überarbeitung des Standards. Allerdings hatten eine Vielzahl von Herstellern eines relationalen Datenbanksystems zu diesem Standard eigene Ergänzungen und Erweitertungen vorgenommen, um fehlende Eigenschaften und Funktionen zu kompensieren. So kennt der SQL-Standard beispielsweise noch keinen Datentyp zur Speicherung großer Datenmengen.

Hinweis: In MySQL wurde dies bereits in frühen Version durch eigene Erweiterungen der MySQL AB-Gruppe korrigiert. Somit stehen uns in MySQL auch eine umfangreiche Anzahl von Datentypen zur Verfügung.

MySQL reiht sich in diese Vielzahl von Datenbanksystemen ein.

Die folgenden, wesentlichen Vorteile haben zusätzlich für die weite Verbreitung von MySQL gesorgt:
. hohe Performance
. Zuverlässigkeit
. einfache Handhabung

So setzte MySQL in vernetzten Systemen wie lokalen Netzwerken oder dem Internet seinen kontinuierlichen Siegeszug fort. Hinzu kommt, dass MySQL auf allen wichtigen Betriebssystemen verfügbar ist.

Welche Programmiersprachen in Verbindung mit MySQL verwendet werden, ist nicht fest vorgeschrieben. Diverse Programmiersprachen stellen spezielle auf MySQL angepasste Anweisungen zur Verfügung. Dazu gehören Skriptsprachen wie PHP, ASP oder Perl und Compilersprachen wie C++ oder Java.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Kompatibilität zu SQL-Standards

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Kompatibilität zu SQL-Standards

Ein wichtiges Kriterium für die Kompatibilität relationaler Datenbanken ist die Implementierung von SQL-Standards. SQL (Structured Query Language) ist gleichzeitig:
. DCL (Data Control Language)
. DDL (Data Definition Language)
. DML (Data Manipulation Language)

Es stellt die Basis der Arbeit mit den Daten dar.

Die SQL Syntax zwischen verschiedenen Datenbanken ist grundsätzlich kompatibel, wenn die jeweilige Sprachsyntax integriert wurde. MySQL-Daten, -Datenbankdefinitionen sowie -abfragen lassen sich also, wenn diese Voraussetzung zutrifft, zwischen verschiedenen Datenbanken transferieren.

Folgendes kann hier für MySQL festgehalten werden:
. Aufgrund der SQL-Kompatibilität können auch über SQL-Befehle zu anderen Datenbanken kompatible Datenbestände aufgebaut werden. Voraussetzung hierfür ist, dass nur die Standard-SQL-Syntax verwendet wird.
. Import- und Exportmöglichkeiten für Daten sind gegeben. Der Import von Daten gestaltet sich aufgrund der eigenen Behandlung von relationalen Verknüpfungen einfach.
. Die Anbindung an verschiedene Programmierschnittstellen ist flexibel.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Aufbau des MySQL-Datenbanksystems

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Aufbau des MySQL-Datenbanksystems

Wir werden nun versuchen, einen Blick hinter die Kulissen von MySQL zu riskieren. Dabei geht es noch nicht darum zu klären, was eine Datenbank ist bzw. darstellt. Vielmehr geht es um die Struktur und den Aufbau des MySQL-Datenbanksystems, kurz DBMS (Database-Management-System).

Es wurde bereits erwähnt, dass der Zugriff auf die Datenbank mit Hilfe von SQL-Befehlen erfolgt. Dies lässt natürlich den begründeten Verdacht zu, dass es sich bei MySQL um ein relationales Datenbanksystem handelt, das die in den Datenbanken gespeicherten Informationen mit Hilfe von Tabellen strukturiert. Schauen Sie sich nun als nächstes diese Struktur genauer an.

Jedes Datenbanksystem speichert seine Daten in ganz gewöhnlichen Dateien. Spätestens hier finden Sie eine wichtige Nahtstelle zum vorhandenen Betriebssystem, denn beim Anlegen und Verwalten dieser Dateien muss sich natürlich auch das DBMS an die vorgegebenen Spielregeln des Betriebssystems halten. Konkret geht es hierbei um Namenskonventionen oder eventuell vorhandene Größenbeschränkungen einzelner Dateien oder des definierten Filesystems.

Im vorliegenden Beispiel läuft auf dem Server der MySQL-Prozess und repräsentiert damit das DBMS. Dieser Prozess kann beim Starten natürlich auf verschiedenste Art und Weise konfiguriert werden. In der Praxis geschieht dies üblicherweise durch Verwendung einer Konfigurationsdatei, beispielsweise MY.INI, in der alle benötigten Parameter (Einstellungen) gespeichert sind. Für unsere aktuelle Fragestellung ist hierbei vor allem der Parameter datadir wichtig, mit dessen Hilfe Sie die Wurzel des Datenbankverzeichnisses spezifizieren können. Von hier aus wird jede vorhandene Datenbank durch ein gleichnamiges Unterverzeichnis repräsentiert, d.h. auf dem Server existieren die Datenbanken MYSQL, DB1000 und DB10001.

Die einzelnen Tabellen der Datenbank werden nun in das jeweilige Datenbankverzeichnis gespeichert, wobei jede Tabelle genau zu drei Dateien führt, deren Namen dem Tabellennamen entsprechen und die sich lediglich durch ihre Endungen unterscheiden.

Endung | Beschreibung
frm | Enthält die Struktur der Tabelle
MYD | Enthält die in der Tabelle gespeicherten Daten für den Tabellentyp MYISAM (Standard).
MYI | Enthält alle zugehörigen Indizies der MYISAM-Tabelle. Selbst wenn Sie keine Indizies anlegen, wird diese Datei erzeugt.
ISD | Enthält die in der Tabelle gespeicherten Daten, wenn Sie sich bei der Anlage für den Typ ISAM entscheiden.
ISI | Analog zur MYI-Datei werden in der ISI-Datei alle Indizes der gleichnamigen ISD-Datei gespeichert.
??? | Das waren die MySQL-Standarderweiterungen. Es gibt jedoch laufend weitere Endungen wie BD für Berkeley, da die Entwickler von MySQL stetig darum bemüht sind, immer weitere Zugriffsmechanismen in ihr Datenbanksystem zu integrieren.

Das steckt hinter den Endungen

Sie sehen also, dass es bei MySQL eine ziemlich enge Verzahnung zwischen der Datenbankstruktur und dem Filesystem des darunter liegenden Betriebssystems gibt. In diesem Punkt unterscheidet sich MySQL dann auch deutlich von anderen Datenbankprodukten wie MS-Access, Oracle oder Sybase, die ihre Datenbankstrukturen abstrahieren, indem sie die einzelnen Tabellen irgendwie in spezielle Überdateien speichern. Das heisst, sowohl bei MS-Access, Oracle als auch Sybase entspricht die Datenbank genau einer Datei.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Anwendungsgebiete für MySQL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Anwendungsgebiete für MySQL

MySQL hat seine Stärken in den Bereichen, in denen eine performante und umfangreiche Datenverwaltung notwendig ist. In der folgenden Tabelle sind Beispiele für Anwendungsgebiete von MySQL einschließlich einer Bewertung aufgeführt.

Eignungskodex: (** = sehr gut / * = gut)

Anwendungsgebiet | Eignung | Bemerkung
Internetanwendungen (browserbasierend) | ** | Nahtlose Einbindung in Netzwerktechnologien Schnittstellen zu wichtigen serverseitigen Technologien (PHP, ASP, Perl) vorhanden Zusatzmodule für Apache verfügbar
Verwendung als Intranet-Datenbank | ** | Gutes Kosten-/Nutzungsverhältnis
Projekte in der Definitionsphase | ** | SQL-Standards Prototyping von Internetanwendungen
Content-Management-Systeme | ** | Viele Open-Source-CMS verfügbar
Application Server | * | In vielen Open-Source-Application-Servern als Datenbank-Backend verwendbar
Shop-Systeme | * | Für kleinere und mittlere Online-Shops gut geeignet
Internet Service Provider | ** | Backup-/Update sind ohne Probleme durchzuführen und ermöglichen einen einfachen Umgang mit Clients

Kurzer Ausblick auf mögliche Anwendungsgebiete

Letztes Update: {UPDATEZEIT} Erforderliche Kenntnisse
Letztes Update: {UPDATEZEIT} Schnittstellen von MySQL

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Phasen der Datenbankentwicklung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Phasen der Datenbankentwicklung

Grundsätzlich haben Sie beim Betreiben eines Datenbanksystems die Aufgabe, die Daten so zu organisieren, dass zunächst eine effektive Datensicherung möglich ist. Weiterhin müssen Sie an den Anwender denken, wie dieser später die Daten bei der Arbeit zu sehen bekommen soll. Vor jeder Datenbankarbeit steht die Aufgabe, dass geplante Projekt ausreichend zu planen und zu definieren. Diese Phase bezeichnet man auch als Projekdefinition. Anschließend folgt die Entwurfsphase der Datenbank. Relationale Datenbanksysteme werden dabei durch ein logisches Schema, das durch die Tabellenstruktur und ihre Beziehungen gegeben ist, beschrieben. Unter dem Begriff externes Schema wird die Aufbereitung der Daten für den Benutzer oder für die Verwendung innerhalb von Anwendungsprogammen verstanden.

Der erste Schritt bei der Benutzung einer Datenbank liegt immer in deren Einrichtung. Hierbei wird das logische Schema der Datenbank festgelegt, um später Daten eingeben, verwalten und auswerten zu können. Diese Phase wird im Allgemeinen als Implementierungsphase bezeichnet. Datenbankmanagementsysteme stellen für die Definition der logischen und physischen Struktur eine Datendefinitionssprache zur Verfügung: die DDL (Data Definition Language). Zu dieser Katgeorie gehören Befehle zum Anlegen der Datenbank und der Tabellen sowie Definition der Felder einer Tabelle.

Ist eine Datenbank eingerichtet, kann diese dann durch Hinzufügen, Ändern oder Löschen von Daten verändert werden. Befehle hierfür werden im Allgemeinen unter dem Begriff Datenmanipulationssprache (DML, Data Manipulation Language) geführt.

Die grundsätzliche Struktur der Datenbank wird auch als Datenbankdesign oder Datenbankentwurf bezeichnet, weil mit den Tabellen und ihren Beziehungen schon wesentliche Verhaltensmerkmale festgelegt werden. Die Erstellung des grundsätzlichen Datenbankdesigns ist keine leichte Aufgabe, da die Daten, die im Anwendungsfall benötigt werden, in ein abstrakes logisches Schema zu bringen sind. Bei komplexen Anwendungen wird hierfür recht viel Zeit benötigt. Ein wichtiger Punkt bei der Erstellung des Datenbankdesigns ist das Verständnis der Anwendungen. Es sollte also bei Anlage der Datenabank schon bekannt sein, welche Daten wie behandelt werden sollen.

Zur richtigen Handhabung des Datenbankdesigns gibt es eigene Abhandlungen und eine Reihe von Hilfsregeln. Im Rahmen dieses Buches sollen die wichtigsten Punkte erklärt werden, damit Sie anschließend in der Lage sind, ein effektives logisches Datenbanklayout zu erzeugen und dieses effizient zu verwalten.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenmodell

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenmodell

Um mit den Inhalten einer Datenbank arbeiten zu können, müssen diese zuvor im Rahmen des Datenmodells beschrieben werden . Das Datenmodell legt dabei folgende Informationen fest:
. Eigenschaften der Datenelemente
. Struktur der Datenelemente
. Abhängigkeiten von Datenelementen, die zu Konsistenzbedingungen führen
. Regeln zum Speichern, Ändern, Auffinden und Löschen von Datenelementen

In der Praxis wird das relationale Datenmodell zur Zeit am häufigsten verwendet. Beim relationalen Datenmodell werden die Daten in Tabellen, die in Beziehung zueinander stehen, gespeichert. Ebenfalls Verwendung findet das objektorientierte Datenmodell. Hierbei werden Objekte in unveränderter Form, also nicht in Tabellenform, in der Datenbank gespeichert. Werden relationale um objektorientierte Datenmodelle ergänzt, spricht man von objektrelationalen Modellen. Für die Arbeit mit MySQL benötigen Sie jedoch nur das relationale Datenmodell.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Überprüfen der Konfiguration

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Überprüfen der Konfiguration

Trotz aller Informationen auf den Webseiten halten sich die meisten Provider sehr bedeckt, was konkrete Informationen über den genutzten Webspace betrifft. Es ist eine gute Idee, auch ohne entsprechendes Wissen über PHP den frisch angemieteten Webspace zu testen. Dazu geben Sie in einem Editor folgenden Zeilen ein:

<?
phpinfo();
?>

Speichern Sie dieses Skript unter dem Namen info.php ab und laden Sie es dann per FTP in das Rootverzeichnis Ihres Webspace. Anschliessend öffnen Sie Ihren Browser und geben folgende Adresse ein:

www.namederdomain.de/info.php

Es sollte nun eine länger Ausgabe erfolgen, die etwa den folgenden Abbildungen entspricht. Diese Serverkonfiguration stellt nun für alle weiteren Projekte die Basis dar. Wichtig sind folgende Punkte:

. Versionsnummer
. Datenbankunterstützung
. Perl Regular Expressions
. Session
. XML

Konfigurationsabbildungen

Mit Hilfe des Befehls phpinfo() können Sie die Konfiguration überprüfen. Die folgenden Abbildungen zeigen eine typische Konfiguration mit sämtlichen Werten, die phpinfo() erzeugt.

Hinweis: Die Darstellung der Daten kann sich je nach Version unterschieden. Die hier gezeigten Abbildungen sind nur als Orientierungshilfe zu verstehen.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenbankentwurf mit ERM

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenbankentwurf mit ERM

Für die Erstellung des Datenbankentwurfs bedient man sich häufig der Methode, den Entwurf nach dem Entity-Relationship-Modell (ERM) zu erstellen. Es dient zur Entwicklung des Datenmodells.

Entität

Als Entität wird eine eigenständige Einheit oder ein Exemplar bezeichnet, das im betrachteten Modell eindeutig gekennzeichnet werden kann. Dies kann ein Produkt sein, ein Unternehmen, eine Person oder eine Veranstaltung.

Eine Entität besteht aus Eigenschaften. Sie hat einen Namen und kann erzeugt, geändert oder gelöscht werden.

Entitätstypen

Die Zusammenfassung von Entitäten gleicher Eigenschaften wird als Entitätstyp bezeichnet.

Beziehungen

Die Entitäten können in Beziehung gesetzt werden, um deren Verhalten genauer zu beschreiben. Eine solche Beziehung (Relationship) wäre "Kunde kauft Produkt".

Beziehungen werden über den Beziehungstyp genauer charakterisiert. Beziehungstypen werden im Hinblick auf deren spätere Behandlung im relationalen Datenmodell in folgende drei Formen unterteilt:

. 1:1-Beziehung
Es besteht eine eindeutige Beziehung zwischen zwei Tabellen. Jeder Datensatz der einen Tabelle besitzt genau einen verbundenen Datensatz in einer anderen Tabelle. 1:1-Beziehungen können in der Regel auch in einer einzigen Tabelle dargestellt werden. Ein Beispiel hierfür: Jedes Buch erhält genau eine ISBN-Nummer. Jeder ISBN-Nummer kann genau ein Buch zugeordnet werden.
. 1:n-Beziehung
Einem Datensatz der einen Tabelle sind mehrere Datensätze einer anderen Tabelle zugeordnet. Ein Beispiel hierfür: Einem Buch kann immer nur ein Verlag zugeordnet werden, jedoch können einem Verlag mehrere Bücher zugeordnet werden.
. n:m-Beziehung
Ein Datensatz der einen Tabelle kann mehreren Datensätzen der anderen Tabelle zugeordnet werden und umgekehrt. Ein Beispiel hierfür: Ein Buch kann von mehreren Personen ausgeliehen werden, eine Person kann mehrere Bücher ausleihen.

Alle Beziehungen in einem Datenmodell werden als Entity-Relationship-Modell oder kurz ERM bezeichnet. ERM werden zur besseren Lesbarkeit häufig grafisch dargestellt.

Schlüssel

Um ERM erstellen zu können, müssen die Entitäten über eindeutige Werte, die als Schlüssel bezeichnet werden, verfügen, damit eine Beziehung unzweifelhaft dargestellt werden kann. Jede Entität kann über mehrere Schlüssel verfügen. Ein Schlüssel kann dabei aus einer oder mehreren Eigenschaften bzw. Attributen (Spalten) bestehen.

Die Beziehung "Kunde kauft Produkt" als 1:n-Beziehung kann wie folgt dargestellt werden:

Kunden

Kundennr. | Vorname | Nachname | PLZ | ...
1 | Matthias | Kannengiesser | 12878 |
2 | Caroline | Kannengiesser | 12891 |
3 | Gülten | Kannengiesser | 12899 |
4 | Toni | Müller | 80277 |
5 | Manfred | Reinwolf | 40990 |

Kundenliste

Produkte

Produktnr. | Bezeichnung | Preis | Beschreibung | ...
1000 | Produkt A | 99.95 | Radiowecker... |
1001 | Produkt B | 39.95 | Musikalbum... |
1002 | Produkt C | 10.00 | Rasierer... |
1003 | Produkt D | 5.50 | Füller... |
1004 | Produkt E | 150.00 | DVD-Player... |

Produktliste

Aus der Verbindung von Kunden- und Produktnummer entsteht die Relation "kaufen".

Verkäufe

Kundennr. | Produktnr.
1 | 1001
4 | 1003
1 | 1002
5 | 1003
2 | 1004

Verkaufsliste

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Relationales Datenmodell

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Relationales Datenmodell

Um die Daten in einem internen Schema zur Datenverwaltung strukturieren zu können, liegt MySQL das relationale Datenmodell zugrunde.

Attribute

Im relationalen Datenmodell wird die Beziehung der Sachverhalte durch das Konzept der Relationen dargestellt. Eine Relation besteht aus Attributen, die die Objekte mit einem Bezeichner und einem Wert beschreiben.

Beispiele für Attribute sind:

Produkt = "DVD-Player"
Hersteller = "Panasonic"
Preis = "150.00"
Modell = "T-100"

Tupel

Die Menge aller Attribute wird als Tupel bezeichnet, das als Beispiel wie folgt aussieht:

tupel = [Produkt = "DVD-Player", Hersteller = "Panasonic", Preis = "150.00", Modell = "T-100"]

Relation

Die Menge aller Tupel mit gleichen Attributen wird nun wiederum als Relation bezeichnet.

Im relationalen Datenmodell werden zur Darstellung bzw. Behandlung von Beziehungen ebenfalls Schlüssel benötigt. Über den Primärschlüssel werden Datensätze eindeutig identifiziert, Fremdschlüssel dienen zur Beschreibung der Beziehungen zwischen verschiedenen Relationen.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Primärschlüssel

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Primärschlüssel

Im relationalen Datenmodell spielt die Verknüpfung von verschiedenen Tabellen eine entscheidende Rolle. Um Tabellen eindeutig verknüpfen zu können, muss allerdings jeder Datensatz einer Tabelle eindeutig identifiziert und adressiert werden. Ein Attribut, das einen Datensatz mit allen seinen Feldwerten eindeutig identifiziert, wird als Primärschlüssel bezeichnet.

Regeln für Primäreschlüssel

Für einen Primärschlüssel muss immer gelten:
. Er darf nicht leer sein.
. Es dürfen keine Duplikate in den Datensätzen derselben Tabelle existieren.
. Jede Tabelle hat genau einen Primärschlüssel.

Primärschlüssel können beispielsweise Artikelnummern oder Mitarbeiternummern sein. In vielen Fällen besitzen Datensätze allerdings keinen Primärschlüssel, der sich aus den Daten ergibt, wie beispielsweise im Telefonbuch. In diesem Fall ist ein zusätzliches Feld zu definieren, das diesen Primärschlüssel aufnimmt, beispielsweise eine durchnummerierte ID.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fremdschlüssel und referenzielle Integrität

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fremdschlüssel und referenzielle Integrität

Die Verknüpfung zwischen Relationen erfolgt über Werte, die als Fremdschlüssel bzw. Foreign Keys bezeichnet werden. Ein Fremdschlüssel ist ein Attribut, das sich auf einen Wert des Primärschlüssels einer anderen oder derselben Relation bezieht.

Die Relation mit dem Primärschlüssel wird häufig als Vater- oder Masterrelation bezeichnet, die Relation mit dem Fremdschlüssel als abhängige Relation.

Am Beispiel "Kunde kauft Produkt" erläutert, ergeben sich folgende Schlüsselsituationen:

Die Tabelle Verkäufe besteht aus den beiden Fremdschlüsseln Produktnr und Kundennr

. In den Relationen Produkte und Kunden werden die Primärschlüssel als Produktnr bzw. Kundennr angelegt.
. Die Relation Verkäufe besitzt Verknüpfungen zur Kunden- und Produkttabelle. Hier sind die Fremdschlüssel Produktnr und Kundennr als Fremdschlüssel definiert.

Referenzielle Integrität

Für Beziehungen über Fremdschlüssel wird in der Regel gefordert, dass für einen Wert des Fremdschlüssels auch immer ein Wert in der Masterrelation besteht. Diese Forderung wird als referenzielle Integrität bezeichnet.

Aus dieser referenziellen Integrität ergeben sich bei Änderungen oder beim Löschen von Datensätzen (Tupeln) Konsequenzen. Wird ein Datensatz aus der Masterrelation gelöscht, sollte automatisch in der abhängigen Relation eine Aktion folgen. Hierzu sind folgende Verhaltensweisen möglich:

. Nicht zulässig
Ein Datensatz in der Masterrelation darf nicht gelöscht werden, wenn noch referenzierte Datensätze in der Detailtabelle bestehen, etwa Kunde und Rechnung.
. Weitergeben (CASCADE)
Wird ein Datensatz aus der Masterrelation gelöscht, werden alle betroffenen Datensätze in der Detailtabelle ebenfalls gelöscht.
. Auf NULL (SET NULL) oder Vorgabewert (SET DEFAULT) setzen
Wird ein Datensatz aus der Masterrelation gelöscht, werden alle Verweise in der Detailtabelle auf NULL oder einen anderen Wert gesetzt.

MySQL überprüft mit seinen Standardtabellentypen wie MyISAM momentan nicht die referenzielle Integrität. Mit dem InnoDB-Tabellentyp wird die referenzielle Integrität unterstützt, allerdings sind hier zur Zeit noch nicht die oben definierten Verhaltensregeln implementiert.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Optimierung des Datenmodells

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Optimierung des Datenmodells

Die Definition des Datenmodells ist insbesondere bei komplexen Problemlösungen nicht einfach. Anfängern unterlaufen dabei häufiger Fehler, weil die Daten nicht so behandelt werden können wie bei einer herkömmlichen Datenverwaltung auf Papier. Um die Erstellung des Datenmodells zu vereinfachen und Fehler in Form von Redundanzen zu vermeiden, wurden Regeln entwickelt, nach denen das Datenmodell effektiv erstellt werden kann. Das Prinzip dabei ist, komplexe Beziehungen von Tabellen in einfache Beziehungen zu bringen, um Datenstrukturen zu erreichen, die stabil und flexibel gegenüber Erweiterungen des Datenmodells sind.

Normalisierung

Diese Behandlung wird als Normalisierung bezeichnet. Die Normalisierung erfolgt dabei in mehreren Schritten, die weiter unten beschrieben werden.

Unterschätzt wird oft auch die für die Erstellung eines guten Datenbankdesigns notwendige Zeit. Zeit, die in ein möglichst optimales Datenbankdesign investiert wird, zahlt sich später in besserer Performance, leichterer Wartung und geringerem Aufwand bei der Programmierung aus.

Anhand des Beispiels einer Kundendatei, die Bestellungen speichert, wird im Folgenden die Normalisierung von Datenbanken erläutert.

Als Grundlage dient dabei eine Tabelle, in der alle Bestellungen des Kunden aufgelistet sind.

Kunde | Ort/PLZ | Gekaufte Produkte | Besteller
TC Consulting | Berlin/13887 | Epson TX, DVDX | L. Bernhard
Pop-Connect | München/80179 | LC-HUB, DVDX | B. Maier
Wurz AG | Hamburg/40838 | Siemens PC | F. Windhorst
Co-TV | Köln/75879 | T-HUB, Epson TX | G. Schmidt
TC | Berlin/13887 | Epson TX | L. Bernhard

Roh-Daten

Die Tabelle ist so angelegt, wie man wahrscheinlich die Verkäufe auf dem Papier mitprotokollieren würde. Bei der Durchsicht der Tabelle fallen folgende Punkt auf:
. Mehrere Informationen werden in einer Spalte notiert.
. Doppelte Spalteneinträge bei offenbar identischen Adressen.
. Abweichungen zwischen Produktcode und Produkbezeichnung, obwohl offensichtlich dieselbe Ware bezeichnet ist.

Folgene Probleme können dadurch bei einer Bearbeitung in einer Datenbank entstehen:
. Die Zusammenfassung gleichartiger Datensätze, wie die Umsätze bezogen auf einen Kunden, ist erschwert oder nicht möglich.
. Es müssen Daten wiederholt eingegeben werden.
. Durch dieselben Einträge entsteht eine Redundanz, die die Dateigröße der Datenbank unnötig vergrößert.

Normalformen

Durch ein besseres Datenbankdesign können negative Effekte dieser Art vermieden werden. Dies ist auch die Zielsetzung der Normalisierung über eine standardisierte Behandlung von Tabellen. Insgesamt gibt es neun Regeln, die auch als 1. bis 9. Normalform bezeichnet werden, von denen aber nur die Formen 1. bis 5. praxisrelevant und hier besprochen und anhand des Beispiels oben vorgestellt werden sollen.

1. Normalform

Eine Relation befindet sich in der 1. Normalform, wenn keine Spalte mit demselben Inhalt vorliegt und somit keine Wiederholungen beinhaltet. Ausserdem dürfen in dieser Form Daten in einer Tabelle keine untergeordnete Relation bilden. Weiterhin muss eine Tabelle in der 1. Normalform einen Attributswert besitzen, der eine Zeile einer Tabelle eindeutig identifiziert. Dieser Attributswert wird als Schlüsselattribut bezeichnet.

Für unser Beispiel sind deshalb alle Zeilen, in denen jeweils mehrere Informationen in den Spalten Ort/PLZ und Gekaufte Produkte vorhanden sind, aufzulösen. Durch die Auflösung in mehrere Zeilen sind die einzelnen Zeilen jedoch nicht mehr eindeutig zu unterscheiden. Dehalb müssen zusätzlich eindeutige Schlüssel, beispielsweise in Form einer Kunden-ID (KID) und Produkt-ID (PID), hinzugefügt werden.

Die 1. Normalform sieht in diesem Fall wie folgt aus:

KID | Kunde | Besteller | PLZ | Ort | PID | Gekaufte Produkte/TD>
1 | TC Consutling | L. Bernhard | 13887 | Berlin | 1000 | Epson TX/TD>
1 | TC Consutling | L. Bernhard | 13887 | Berlin | 1001 | DVDX/TD>
2 | Pop-Connect | B. Maier | 80179 | München | 1002 | LC-HUB/TD>
2 | Pop-Connect | B. Maier | 80179 | München | 1001 | DVDX/TD>
3 | Wurz AG | F. Windhorst | 40838 | Hamburg | 1003 | Siemens PC/TD>
4 | Co-TV | G. Schmidt | 75879 | Köln | 1004 | T-HUB/TD>
4 | Co-TV | G. Schmidt | 75879 | Köln | 1000 | Epson TX/TD>
1 | TC | L. Bernhard | 13887 | Berlin | 1000 | Epson TX

Schon besser

In der 1. Normalform sind jetzt alle Daten so gespeichert, dass sie einzeln behandelt werden können. Allerdings können auch hier weiterhin Anomalien vorkommen. Eine Anomalie wäre die unterschiedliche Schreibweise und Adresse des Kunden TC. Zur Vermeidung solcher Anomalien ist es sinnvoll, die Tabelle in die 2. Normalform zu überführen.

2. Normalform

Damit eine Tabelle in der 2. Normalform vorliegen kann, müssen mindestens die Kriterien der 1. Normalform erfüllt sein. Die 2. Normalform ist dadurch charakterisiert, dass jedes Nicht-Schlüsselattribut vom Primärschlüssel funktional abhängig ist. Praktisch wird das dadurch erreicht, dass die Informationen in mehreren Tabellen gespeichert werden. Die Tabellen werden so organisiert, dass Informationen, die vom Primärschlüssel abhängig sind, in eigenen Tabellen zusammengefasst werden. In unserem Beispiel gehören Name und Adresse sowie die Produkte in eine eigene Tabelle. Die Tabellen sehen dann wie folgt aus:

Tabelle Kunden

KID | Kunde | Besteller | Ort | PLZ
1 | TC Consutling | L. Bernhard | Berlin | 13887
2 | Pop-Connect | B. Maier | München | 80179
3 | Wurz AG | F. Windhorst | Hamburg | 40838
4 | Co-TV | G. Schmidt | Köln | 75879

Übersichtlich ...

Tabelle Produkte

PID | Gekaufte Produkte
1000 | Epson TX
1001 | DVDX
1002 | LC-HUB
1003 | Siemens PC
1004 | T-HUB

... und eindeutig

Damit ist ein erstes Ziel, Anomalien einzuschränken, erreicht, weil zusammengehörige Informationen konsistent sind. So werden beispielsweise unterschiedliche Schreibweisen für die einzelnen Kunden vermieden. Allerdings hat diese Form noch den Schwachpunkt, dass Änderungen bei Produkbezeichnungen in allen betroffenen Spalten vorgenommen müssen. Zur Lösung dieses Problems wurde die 3. Normalform definiert.

3. Normalform

Zusätzlich zur 2. Normalform gilt die Regel, dass alle nicht zum Primärschlüssel gehörenden Attribute nicht von diesem transitiv (funktional) abhängen. Alle Spalten dürfen also nur vom Schlüsselattribut und nicht von anderen Werten abhängen. Sind weitere solcher Abhängigkeiten vorhanden, müssen diese aufgelöst werden.

In unserem Beispiel ist der Besteller ein solcher Fall. Der Besteller ist eine Eigenschaft der Firma, da verschiedene Personen eine Bestellung aufgeben können. Damit ist die Tabelle Kunden noch nicht in der 3. Normalform. Die Auflösung erfolgt analog der 2. Normalform, indem eigene Tabellen erzeugt werden. Die 3. Normalform sieht wie folgt aus:

Tabelle Kunden

KID | Kunde | Ort | PLZ
1 | TC Consutling | Berlin | 13887
2 | Pop-Connect | München | 80179
3 | Wurz AG | Hamburg | 40838
4 | Co-TV | Köln | 75879

Jetzt funktioniert's auch ...

Tabelle Besteller

BID | KID | Besteller
1 | 1 | L. Bernhard
2 | 2 | B. Maier
3 | 3 | F. Windhorst
4 | 4 | G. Schmidt

... mit den Bestellern ...

Tabelle Produkte

PID | Gekaufte Produkte
1000 | Epson TX
1001 | DVDX
1002 | LC-HUB
1003 | Siemens PC
1004 | T-HUB

... und deren Produkten

4. Normalform

Die 4. Normalform bezieht sich auf Mehrfachabhängigkeiten von Attributen auf einen übergeordneten Schlüssel. Diese Mehrfachabhängigkeiten müssen in Einzelabhängigkeiten aufgelöst werden.

5. Normalform

Wenn durch die 4. Normalform keine verlustfreie Zerlegung in Einzelabhängigkeiten möglich ist, müssen eventuell mehrere übergeordnete Schlüssel hinzugezogen werden, bis nur noch Einzelabhängigkeiten vorliegen.

Allerdings ist die Auflösung der Datenbanken in Normalformen nur ein Hilfsmittel zur Erstellung eines guten Datenbankdesigns. Die vollständige Auflösung in Normalformen bringt im Allgemeinen auch einige Nachteile mit sich. So wird die Anzahl einzelner Tabellen unter Umständen relativ hoch, sodass insbesondere bei der Programmierung der Datenbanken ein erhöhter Aufwand entstehen kann. Je mehr Tabellen vorhanden sind, umso schwieriger wird auch die Definition von SQL-Befehlen, weil alle Tabellen über entsprechende Befehle verknüpft werden müssen.

Häufig wird auch als Argument gegen eine vollständige Normalisierung von Datenbanken eine schlechtere Performance genannt. Ob die Performance von SQL-Statements im Einzelfall wirklich schlechter ist, kann allerdings oft nur durch entsprechende Analyseprogramme, die beide Varianten vergleichen, festgestellt werden. Der Aufwand für einen solchen Vergleich ist unter Umständen beträchtlich.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Implementierung und Nutzung von SQL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Implementierung und Nutzung von SQL

Die Hauptaufgabe von SQL-Ausdrücken ist das Lesen oder Verändern von vorhandenen Daten der Datenbank oder das Hinzufügen von neuen Daten in die Datenbank. Sie können nur über den SQL-Befehlsvorrat mit den Daten in Ihrer MySQL-Datenbank arbeiten. Die Beherrschung der SQL-Befehlssyntax ist deshalb für einen effektiven Umgang mit MySQL unverzichtbar. Falls Sie neu mit MySQL arbeiten, sollten Sie sich insbesondere mit den Befehlen zum Anlegen, Ändern, Entfernen und Ausgeben von Daten vertraut machen.

SQL verfügt allgemein über Kommandos zur Datenbearbeitung, die so genannten Data Manipulation Language (DML) sowie Kommandos, mit denen das Datenbankdesign definiert bzw. geändert werden kann, die Data Definition Language (DDL). Diesen beiden sind die Data Control Language (DCL)-Kommandos übergeordnet, die zur Verwaltung und Sicherung der Datenbanken und Datenbanktabellen verwendet werden.

Letztes Update: {UPDATEZEIT} DCL-Befehle
Letztes Update: {UPDATEZEIT} DML-Befehle
Letztes Update: {UPDATEZEIT} DDL-Befehle

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


MySQL-Funktionen von PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MySQL-Funktionen von PHP

Im vorangegangenen Abschnitt wurde Ihnen MySQL kurz vorgestellt, nun wollen wir Ihnen noch die wichtigsten MySQL-Funktionen von PHP aufzeigen.

Bei der folgenden Zusammenstellung der Funktionen werden diese Begriffe verwendet:
. $res, jeweils der erforderliche oder zurückgegebene Verweis auf die Ergebnisliste einer durchgeführten Abfrage
. $db, Name der Datenbank
. $sql, eine String-Variable mit einem SQL-Befehl
. $lkid, Verbindungs-Handle einer bestehenden Datenbankverbindung. Dieser Parameter ist optional; falls nicht angegeben, wird die aktuell geöffnete Verbindung verwendet.
. $succ, liefert den Rückgabewert der betreffenden Funktion, der den Erfolg (True,1) oder Misserfolg (False, 0) der durchgeführten Operation anzeigt.

Funktion Beispiel Beschreibung
mysql_affected_rows | $anz=mysql_affected_rows($lkid) | Liefert die Anzahl betroffener Datensätze durch die letzte INSERT, UPDATE oder DELETE Anfrage an den Server, die mit der angegebenen Verbindungs-Kennung assoziiert wird. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen.
mysql_change_user | $succ=mysql_change_user($name,$passwd,$db,$lkid) | Ändert den angemeldeten Benutzer der aktuell aktiven Datenbank-Verbindung oder steht für die Verbindung, die mit dem optionalen Parameter Verbindungs-Kennung bestimmt wurde. Wurde eine Datenbank angegeben, wird diese zur aktiven Datenbank, nachdem der Benutzer gewechselt hat.
mysql_close | mysql_close($lkid) | Schließt eine Verbindung zum Datenbankserver.
mysql_connect | $succ=mysql_connect($host,$user,$passwd) | Öffnet eine Verbindung zum Datenbankserver
mysql_create_db | $succ=mysql_create_db($db,$lkid) | Erzeugt eine Datenbank mit dem Namen $db.
mysql_data_seek | $succ=mysql_data_seek($res,$row) | Bewegt den internen Datensatz-Zeiger eines Anfrageergebnisses zum Datensatz mit der übergebenen Nummer. Der nächste Aufruf von mysql_fetch_row() liefert den entsprechenden Datensatz.
mysql_db_query | $res=mysql_db_query($db,$sql,$lkid) | Aufruf einer SQL-Anfrage $sql an die Datenbank.
mysql_drop_db | $succ=mysql_drop_db($db,$lkid) | Versucht, eine komplette Datenbank vom Server, der mit der übergebenen Verbindungs-Kennung assoziiert wird, zu löschen.
mysql_errno | $err=mysql_errno($lkid) | Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation.
mysql_error | $errmsg=mysql_error($lkid) | Liefert den Fehlertext der zuvor ausgeführten MySQL Operation.
mysql_fetch_array | $arr=mysql_fetch_array($res,$type) | Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides. $type gibt den Typ des Arrays an: MYSQL_ASSOC: assoziativ MYSQL_NUM: nummerisch MYSQL_BOTH: beides
mysql_fetch_field | $obj=mysql_fetch_field($res,$offset) | Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis.
mysql_fetch_lengths | $arr=mysql_fetch_lengths($res) | Liefert ein Array, das die Länge eines jeden Feldes in dem zuletzt über mysql_fetch_row() geholten Datensatzes enthält - oder FALSE im Fehlerfall.
mysql_fetch_object | $obj=mysql_fetch_object($res,$type) | Liefert ein Objekt mit Eigenschaften, die den Feldern des geholten Datensatzes entsprechen oder FALSE, wenn keine weiteren Datensätze vorhanden sind.
mysql_fetch_row | $arr=mysql_fetch_row($res) | Liefert einen Datensatz aus dem Anfrageergebnis mit der übergebenen Kennung. Der Datensatz wird als Array geliefert. Jedes Feld wird in einem Array-Offset abgelegt. Der Offset beginnt bei 0.
mysql_field_name | $name=mysql_field_name($res,$index) | Liefert den Namen des Feldes, das dem angegeben Feldindex entspricht. Der Paramater Ergebnis-Kennung muss eine gültige Ergebnis-Kennung sein. Feldindex bestimmt den numerischen Offset des Feldes.
mysql_field_seek | $erg=mysql_field_seek($res,$offset) | Setzt den Feldzeiger auf den angegebenen Feldoffset. Wird beim nächsten Aufruf von mysql_fetch_field() kein Feldoffset übergeben, wird der Feldoffset zurückgeliefert, der bei mysql_field_seek() angegeben wurde.
mysql_field_table | $name=mysql_field_table($res,$offset) | Liefert den Namen der Tabelle, die das genannte Feld enthält.
mysql_field_type | $type=mysql_field_type($res,$offset) | Liefert den Typ eines Feldes in einem Ergebnis.
mysql_field_flags | $opt=mysql_field_flags($res,$offset) | Liefert die Flags des Feldes mit dem übergebenen Offset. Die Flags werden als einzelne Werte pro Flag und durch ein einziges Leerzeichen getrennt geliefert, sodass sie leicht mit explode() getrennt werden können.
mysql_field_len | $len=mysql_field_len($res,$offset) | Liefert die Länge des angegebenen Feldes.
mysql_free_result | $succ=mysql_free_result($res) | Gibt den Speicher frei, der mit der Ergebnis-Kennung assoziiert ist.
mysql_insert_id | $id=mysql_insert_id($lkid) | Liefert die ID, die bei der letzten INSERT-Operation für ein Feld vom Typ AUTO_INCREMENT vergeben wurde. Wenn die Verbindungs-Kennung nicht angegeben wird, wird die zuletzt geöffnete Verbindung angenommen.
mysql_list_fields | $res=mysql_list_fields($db,$table,$lkid) | Gibt einen Verweis auf Felder einer Tabelle zurück.
mysql_list_dbs | $res=mysql_list_dbs($lkid) | Liefert eine Ergebnis-Kennung, die alle Datenbanken auf dem Datenbankserver enthält. Um diese Ergebnis-Kennung zu durchlaufen, benutzen Sie die Funktion mysql_tablename() oder irgendeine der Funktionen, die mit Ergebnistabellen umgehen kann, etwa mysql_fetch_array().
mysql_list_tables | $res=mysql_list_tables($db,$lkid) | Gibt eine Liste der Tabellen einer Datenbank zurück.
mysql_num_fields | $anz=mysql_num_fields($res) | Liefert die Anzahl der Felder in der Ergebnismenge, die mit dem Parameter Ergebnis-Kennung angegeben wurde.
mysql_num_rows | $anz=mysql_num_rows($res) | Liefert die Anzahl der Datensätze einer Ergebnismenge. Diese Funktion ist nur gültig für SELECT-Befehle. Haben Sie eine INSERT-, UPDATE- oder DELETE-Abfrage ausgeführt und möchten die Anzahl der betroffenen Datensätze ermitteln, verwenden Sie die Funktion mysql_affected_rows().
mysql_pconnect | $succ=mysql_pconnect($host,$user,$passwd) | Öffnet eine persistente Verbindung zu einem MySQL-Datenbankserver.
mysql_query | $succ=mysql_query($sql,$lkid) | Sendet eine Anfrage an die zur Zeit aktive Datenbank, die mit der angegebenen Verbindungs-Kennung assoziiert wird. Wird die Verbindungs-Kennung nicht angegeben, wird die zuletzt geöffnete Verbindung angenommen. Wenn keine offene Verbindung besteht, wird versucht, eine Verbindung aufzubauen, wie beim Aufruf von mysql_connect() ohne Argumente, und diese wird dann benutzt.
mysql_result | $erg=mysql_result($res,$row,$field) | Gibt den Inhalt des Abfrageergebnisses für ein Feld zurück.
en>mysql_select_db | $succ=mysql_select_db($db,$lkid) | Wählt eine Datenbank aus.
mysql_tablename | $name=mysql_tablename($res,$i) | Liefert den zu einem Feld dazugehörigen Tabellennamen.

MySQL-Funktionen von PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Verwaltung von MySQL-Benutzer

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Verwaltung von MySQL-Benutzer

In diesem Abschnitt wird Ihnen aufgezeigt, wie Sie mit Hilfe von phpMyAdmin in der Lage sind die MySQL-Benutzerverwaltung zu nutzen.

Wählen Sie im linken Navigationsbereich aus dem Listenmenü die Datenbank mysql aus und lassen Sie sich den Inhalt der Tabelle user anzeigen. Die Nutzerliste könnte sich, wie folgt darstellen.

Neben den in den Spalten user und password gespeicherten Benutzernamen und Passwort ist in der Spalte host der Rechner angegeben, von dem aus der Zugriff erfolgen darf.

Standardmässig ist ein Benutzer mit dem Benutzernamen root angelegt, dieser benötigt für den Zugriff auf MySQL kein Passwort. Der Benutzer ist zusätzlich mit sämtlichen Rechten ausgestattet, was Sie daran erkennen können, dass in allen Spalten ein Y für "yes" eingetragen ist.

In der zweiten Zeile finden sich dieselben Einträge, nur das bei host der Platzhalter % eingetragen ist. Hiermit wird festgelegt, dass der Benutzer von allen Rechnern aus ohne ein Passwort auf MySQL zugreifen darf. Die Beschränkung des Zugriffs auf localhost ist damit nicht wirksam. Damit existieren so zu sagen keine Zugriffsbeschränkungen, was jedoch beim Einsatz einer lokalen Testumgebung nicht besonders dramatisch ist.

Letztes Update: {UPDATEZEIT} Anlegen und Beabeiten von Benutzer

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP & MySQL-Verbindung

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP & MySQL-Verbindung

Jetzt sollten Sie prüfen, ob eine Verbindung zum MySQL-Server aufgebaut werden kann und via PHP auf vorhandene Datenbanken zugegriffen werden kann.

<?php
    $db = mysql_connect ("localhost", "matthias", "geheim")
        or die ("keine Verbindung möglich: " .mysql_error());
    echo "Verbindung erfolgreich";
    mysql_close ($db);
?>

Die erste Zeile stellt eine Verbindung zum MySQL-Server her. Hierbei wird der Name des Hosts, der Benutzername und das Passwort übergeben. Auf einem lokalen Rechner verwenden Sie als Hostname localhost. Der Name kann zusätzlich die Portnummer enthalten. Der Standardwert für die Portnummer lautet 3306. Mit Portnummer hättte die Skriptzeile folgende Struktur:

$db = mysql_connect ("localhost:3306", "matthias", "")
or die ("keine Verbindung möglich: " .mysql_error());

Sollte es zu Problemen beim Verbindungsaufbau kommen, wird die Ausgabe keine Verbindung möglich: Fehlercode sein.

Achtung: Die Verbindungsvariable $db sollte immer gesetzt werden ,um mit ihrer Hilfe jederzeit auf die bestehende Verbindung zum MySQL-Server zugreifen zu können und beispielsweise die Verbindung zu beenden: mysql_close($db). Der Bezeichner für die Verbindungsvariable kann natürlich frei gewählt werden, anstatt $db würde sich auch $db_verbindung oder $server eignen.

Sollte der Verbindungsaufbau erfolgreich sein, erhalten Sie die Ausgabe Verbindung erfolgreich. Anschließend wird mit der letzten Skriptzeile dafür gesorgt, dass die Verbindung zum MySQL-Server wieder beendet wird.

Sie sollten folgendes Skript testen:

<?php

$db = mysql_connect ("localhost", "matthias", "")
   or die ("keine Verbindung möglich: " .mysql_error());

// Erfassen sämtlicher Datenbanken
$datenbanken = mysql_list_dbs($db);

// Anzahl von Datenbanken
$anzahl = mysql_num_rows($datenbanken);

// Auflisten sämtlicher Datenbanken
for ($i = 0; $i < $anzahl; $i++) {
    echo mysql_result($datenbanken, $i);
    echo "<br>";
}

// Verbindung beenden
mysql_close ($db);

?>

Die Ausgabe sollte sich in etwa, wie folgt darstellen:

cdcol
mysql
praxisbuch
test
webauth

Fehlermeldungen unterdrücken

Wir hätte da noch einen speziellen Typ für Sie. Wenn die Funktion mysql_connect() fehlschlägt, wird eine Fehlermeldung erzeugt und ausgegeben, wie dies bei den meisten anderen PHP-Funktionen der Fall ist. Auch in diesem Fall können Sie diese Fehlermeldung unterdrücken, indem Sie vor die Funktionen das @-Zeichen setzen. Das ist vor allem sinnvoll, wenn Sie eine eigene Fehlerbehandlung vornehmen wollen.

Beispiel

<?php

if (@mysql_connect ("localhost", "matthias", "")) {
    echo "Datenbankverbindung: OK!";
} else {
    echo "Datenbankverbindung: Fehler!";
}

?>

Sollten Sie eine Verbindungsvariable verwenden, lässt sich eine Fehlerbehandlung auch wie folgt realisieren:

<?php

$db = @mysql_connect ("localhost", "matthias", "") or die ("keine Verbindung möglich: " .mysql_error());

?>

Diese Zeile versucht eine Datenbankverbindung aufzubauen und erzeugt im Erfolgsfall eine ID, auf die Sie im weiteren Verlauf des Skripts mit der Variablen $db zugreifen können. Lässt sich die Verbindung nicht aufbauen, gibt die Funktion die() eine Fehlermeldung aus und bricht die Bearbeitung des Skripts ab.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP & MySQL-Zugriffe

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP & MySQL-Zugriffe

Letztes Update: {UPDATEZEIT} Datenbank erstellen
Letztes Update: {UPDATEZEIT} Datenbanktabelle erstellen
Letztes Update: {UPDATEZEIT} Datenverwaltung
Letztes Update: {UPDATEZEIT} Datenbanken und Tabellen löschen
Letztes Update: {UPDATEZEIT} Datenbanktabellen ändern
Letztes Update: {UPDATEZEIT} Verknüpfte Tabellen (WHERE/JOIN)
Letztes Update: {UPDATEZEIT} Tabellen vereinigen (UNION)

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Apache - Installation

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Apache - Installation

Das Standardinstallationsverzeichnis für die aktuellen Apache Versionen ist das Verzeichnis /USR/LOCAL/APACHE. Es folgt eine kurze Anleitung zur Installation:

Installationsverzeichnis anlegen
/usr/local/apache

Archiv mit Apache-Quellen in das Installationsverzeichnis kopieren
apache_1.3.tar.gz

Apache-Quelle entpacken
$ tar xvpfz apache-1.3.tar.gz

Konfiguration des Apache Webservers
$ ./configure -prefix=/usr/local/apache

Abschliessend übersetzen und installieren Sie die Apache-Quellen
$ make
$ make install

Das ausführbare Server-Programm, der sog. Daemon httpd befindet sich zusammen mit dem Shell-Skript zum Starten und Beenden des Apache im Verzeichnis /USR/LOCAL/APACHE/BIN.

Achtung: Bitte beachten Sie bei der Angabe der Verzeichnisse darauf, dass in der Apache-Konfigurationsdatei Verzeichnisangaben im UNIX-Stil mit dem einfachen Slash (/) und nicht wie unter Windows üblich mit dem Backslash (\) vorgenommen werden.

Hinweis: Eine aktuelle Version des Apache-Webserver finden Sie im Internet unter httpd.apache.org.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Backups von Daten und Tabellen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Backups von Daten und Tabellen

Einen wichtigen Punkt sollten wir Ihnen noch mit auf den Weg geben, nämlich das Sichern von Strukturen und Daten Ihrer Datenbanktabellen. Mit Hilfe von phpMy-Admin stellt dies kein all zu grosses Problem dar.

Letztes Update: {UPDATEZEIT} Sichern von Struktur und Daten
Letztes Update: {UPDATEZEIT} Ausführung von gespeicherten SQL-Befehlen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Useronline via MySQL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Useronline via MySQL

Wir hatten Ihnen bereits in Kapitel 5 einen Useronline-Counter vorgestellt. Ein ähnliches Prinzip lässt sich für die Datenbank gestützte Lösung verwenden. Auch in diesem Fall müssen wir eine IP-Zeitsperre nutzen, um zu ermitteln, wie viele Besucher sich tatsächlich auf der jeweiligen Seite befinden.

Die folgende Umsetzung basiert auf zwei wesentliche Skripte:
. config.inc.php - in diesem Skript befinden sich die wesentlichen Zugriffsdaten und der Verbindungsaufbau zur MySQL Datenbank. Sie werden diese Datei in sämtlichen PHP & MySQL Anwendungen aus dem Buch vorfinden.
. useron.php - in diesem Skript befinden sich die benötigten MySQL-Zugriffe, diese werden mit Hilfe von SQL-Befehlen realisiert, so dass die Besucher der Seite erfasst werden können. Die Verbindung zur MySQL-Datenbank wird durch die config.inc.php sichergestellt.

Zusätzlich wurde folgender Ordner angelegt:
. css - dieser enthält die CSS-Datei (main.css), welche für die Layout-Formatierung des Useronline-Counter zuständig ist.

Sie benötigen zum Betreiben des Useronline-Counter folgende MySQL-Datenbanktabelle:

CREATE TABLE usertab (
  kid int(11) NOT NULL auto_increment,
  id char(255) default NULL,
  ip char(255) default NULL,
  name char(255) default NULL,
  zeitid char(255) default NULL,
  PRIMARY KEY  (kid)
)

1. config.inc.php

<?php

//Zugangsdaten
//Name (IP-Adr.) des Rechners mit MySQL
$dbserver = "localhost";
//Benutzername für den MySQL-Zugang
$nutzer = "";
//Passwort
$passwort = "";
//Name der Datenbank
$dbname = "praxisbuch";

$db_fehler1 = "
<html>
<head>
<title>Online-User</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      <p>Die Datenbank sind z.Z. nicht abrufbar.</p>
      Versuchen Sie es bitte später nochmal!<br>
      </td>
  </tr>
</table>
</body>
</html>
";

$db_fehler2 = "
<html>
<head>
<title>Online-User</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<table width='300' align='center'>
  <tr>
    <td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
      <p>Die Daten sind z.Z. nicht abrufbar.</p>
      Versuchen Sie es bitte später nochmal!<br>
      </td>
  </tr>
</table>
</body>
</html>
";

//Verbindung aufbauen
@$db = mysql_connect($dbserver,$nutzer,$passwort) OR die($db_fehler1);

//Datenbank als Standard definieren
@mysql_select_db($dbname,$db) OR die($db_fehler2);

?>

Wie Sie sehen wurden im Skript auch Ausnahmefälle berücksichtigt, schliesslich sollte unsere Anwendung auch in der Lage sein entsprechend zu reagieren, wenn der Datenbankserver oder die Datenbank selbst nicht erreichbar sind. Die HTML-Formatierung für die jeweiligen Fehlermeldungen können Sie natürlich an Ihre eigenen Bedürfnisse anpassen.

2. useron.php

<html>
<head>
<title>Online-User</title>
<link rel='stylesheet' type='text/css' href='css/main.css'>
</head>
<body>
<?

require("config.inc.php");

// Onlineuser Tabelle
$logtab = "usertab";
// Zeitlimit in Sekunden
$zeitlimit = "600";
// Zeit und Datum
$aktzeit=date("d-m-Y H:i");

$zeit = explode( " ", microtime());
$userusek = (double)$zeit[0];
$usersek = (double)$zeit[1];
$User_Id = $usersek + $userusek;
$IP = getenv(REMOTE_ADDR);

// Onlineuser entfernen, sobald das Zeitlimit
// überschritten wurde
mysql_query("delete from $logtab where zeitid < $usersek -$zeitlimit");

// IP-Adresse prüfen
$satz = mysql_query("SELECT * FROM $logtab where ip like '$IP'");
@$userlog = mysql_fetch_row($satz);

// Neuen Onlineuser hinzufügen fals IP-Adresse
// noch nicht in der logtab vorhanden
if ($userlog == false) {
 mysql_query("insert INTO $logtab (id,ip,name,zeitid)
 VALUES('$User_Id','$IP','$_SERVER[HTTP_HOST]','$usersek')") or die($db_fehler2);
}

// Anzahl der Onlineuser ermitteln
$res_logtab = mysql_query("SELECT Count(*) as gesamt FROM $logtab");
$numberlogtab = mysql_fetch_array($res_logtab);

// Anzahl der Online-User ausgeben
if (!empty($numberlogtab[gesamt])){
 echo "<font face='Verdana, Arial' size='-2'>
 [ $numberlogtab[gesamt] User online ]<br>[ $aktzeit ]</font>";
}

?>
</body>
</html>

Wie sie sehen, die Funktion require() sorgt für die Verknüpfung zu den benötigten Zugriffsdaten, diese Art der Verbindung sollten Sie vorzugsweise nutzen. Die Angabe von Datum und Uhrzeit ist eher optional.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Bannerabfrage via MySQL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Bannerabfrage via MySQL

Ein verhasstes aber dennoch äusserst wichtiges Thema stellt die Bannerabfrage bzw. Rotation dar. Im folgenden Beispiel soll zusätzlich die Gewichtung einzelner Banner berücksichtigt werden. Schliesslich ist es sinnvoll die Banner darzustellen, die einen wesentlich grösseren Zuspruch bei der Zielgruppe erreicht als andere.

Auch bei dieser Umsetzungen führen zwei Skripte zum Erfolg:
. config.inc.php - in diesem Skript befinden sich die wesentlichen Zugriffsdaten und der Verbindungsaufbau zur MySQL Datenbank. Diese Datei haben Sie bereits im Abschnitt Useronline via MySQL kennen gelernt.
. banner.php - in diesem Skript befinden sich die benötigten MySQL-Zugriffe, und der benötigte Zufallszahlengenerator zur Darstellung der Banner. Die Verbindung zur MySQL-Datenbank wird auch in diesem Fall, durch die config.inc.php sichergestellt.

Zusätzlich wurde folgender Ordner angelegt:
. bilder - dieser enthält die Grafik Dateien, welche die jeweiligen Banner enthalten.

Sie benötigen zum Betreiben der Bannerabfrage folgende MySQL-Datenbanktabelle:

CREATE TABLE banner (
  id int(10) unsigned NOT NULL auto_increment,
  bannertags varchar(200) NOT NULL default '',
  bannerurl varchar(200) NOT NULL default '',
  gewicht tinyint(3) unsigned NOT NULL default '0',
  name varchar(40) NOT NULL default '',
  PRIMARY KEY  (id),
  KEY gewicht (gewicht)
)

Und folgende Datensätze um die Bannerabfrage im Einsatz zu sehen:

INSERT INTO banner VALUES (1, 'bilder/linkplogo.gif', 'www.selfas.de', 1, 'Banner1');
INSERT INTO banner VALUES (2, 'bilder/gbuchlogo.gif', 'www.atomicscript.de', 2, 'Banner2');
INSERT INTO banner VALUES (3, 'bilder/webbloglogo.gif', 'www.flashstar.de', 3, 'Banner3');
INSERT INTO banner VALUES (4, 'bilder/callpizzalogo.gif', 'www.actionscript-praxis.de', 1, 'Banner4');

Banner.php

<?

//Verbindung zur Datenbank herstellen
require("config.inc.php");

//Gewichtung festlegen
$zufall = rand (1, 3);

//Mögliche Banner auslesen. Dieses sind in
//der Regel mehrere!!
$satz = "SELECT * FROM banner WHERE gewicht <= '$zufall' ";
$sqlbanner =  mysql_query($satz) or die ($db_fehler2);
$anzahlbanner =  mysql_num_rows($sqlbanner);

//Aus der so eben erzeugten Liste genau eine
//zufällige BannerID bestimmen
if($anzahlbanner == 1) {
    $show_bannerid = 0;
} else {
    $show_bannerid =  rand(0,$anzahlbanner-1);
}

//Bannertag aus der Datenbank ausgeben
mysql_data_seek($sqlbanner,$show_bannerid);
$banner =  mysql_fetch_array($sqlbanner);

//Ausgabe des Banners
echo "
<a href='$banner[bannerurl]' target='_blank'>
<img src='$banner[bannertags]' alt='$banner[name]-$banner[id]' border='0'>
</a>";

?>

Mit Hilfe der Tabellenspalte gewicht und der ermittelten Zufallszahl $zufall wird die Gewichtung der einzelnen Banner festgelegt. Die Werte reichen von 1 bis 3, wobei der Wert 1 die höchste und 3 die geringste Priorität symbolisiert.

Hinweis: Dies stellt eine anfache Form der Gewichtung dar, welche sich nicht nur für Bannerabfragen eignet.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Umfrage via MySQL

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Umfrage via MySQL

Wir haben Ihnen bereits im Kapitel 5 aufgezeigt, wie Sie mit Hilfe von PHP und einer Textdatei eine Umfrage umsetzen können. Die auf MySQL basierende Lösung lehnt sich an diese an. Sie wurde jedoch um zusätzliche Funktionen erweitert:

. Anlegen von Umfragen
. Löschen von Umfragen
. Auswahl vorhandener Umfragen
. Darstellung der Umfrageergebnisse
. Regulierung der Stimmabgabe

Die Anwendung ist in einen administrativen und einen öffentlichen Bereich unterteilt und setzt sich aus zwei Datenbanktabellen zusammen, welche in einer 1:n Beziehung zu einander stehen.

Initialisierungsdateien
. config.inc.php - in diesem Skript befinden sich die wesentlichen Zugriffsdaten und der Verbindungsaufbau zur MySQL Datenbank.
. install.php - mit Hilfe dieses Skripts sind Sie in der Lage die benötigten Datenbanktabellen für die Umfrage-Anwendung festzulegen. Sie müssen das Skript lediglich im Browseraufrufen. Achten Sie darauf das Skript anschliessend von Server zu entfernen!

Datenbanktabellen

CREATE TABLE umfrage (
  uid int(11) NOT NULL auto_increment,
  thema varchar(200) NOT NULL default '',
  PRIMAR<HighlightClose></td></tr></table>Y KEY  (uid)
)

Datensatz für die umfrage-Tabelle:

INSERT INTO umfrage VALUES (1, 'Website des Jahres?');

CREATE TABLE umfragedaten (
  sid int(11) NOT NULL default '0',
  inhalt varchar(100) NOT NULL default '',
  stimmen int(11) NOT NULL default '0'
)

Datensätze für die umfragedaten-Tabelle:

INSERT INTO umfragedaten VALUES (1, 'Flashangel', 5);
INSERT INTO umfragedaten VALUES (1, 'Flashstar', 1);
INSERT INTO umfragedaten VALUES (1, 'Flashpower', 2);

Administrationsdateien:

. umfrageadmin.htm - in dieser Datei befindet sich die Eingabemaske (Formular) zur Erzeugung einer Umfrage. Die Daten werden an das Skript erzeugeumfrage.php weiter geleitet.
. erzeugeumfrage.php - mit diesem Skript wird dafür gesorgt, dass die Umfrage-Datensätze sowohl in der umfrage-Tabelle als auch umfragedaten-Tabelle erzeugt werden. Die Verbindung der beiden Tabellen untereinander wird durch die Primärenschlüssel uid und sid hergestellt.
. umfrageloeschen.php - mit diesem Skript wird dafür gesorgt, dass die angelegten Datensätze einer Umfrage sowohl aus der umfrage-Tabelle als auch umfragedaten-Tabelle entfernt werden und dies ohne andere Umfragen innerhalb der jeweiligen Tabellen negativ zu beeinflussen oder gar unbeabsichtlich mit zu entfernen.

Hinweis: Sowohl umfrageadmin.htm als auch umfrageloeschen.php lassen sich lediglich mit Hilfe von Administrator-Zugangsdaten ausführen. Diese sind in der config.inc.php festgelegt.

Die eigentliche Umfrage setzt sich aus folgenden Dateien zusammen:
. umfrageauswahl.php - mit diesem Skript werden sämtliche in der umfrage-Tabelle enthaltenen Umfragen erfasst und dem Besucher zur Verfügung gestellt. Die Auswahl verweist hierbei auf die umfrage.php.
. umfrage.php - mit diesem Skript ist der Besucher in der Lage seine Stimme abzugeben. Mit Hilfe eines Cookies wird darauf geachtet, dass für jeder zur Verfügung stehende Umfrage lediglich eine Stimme abgegeben werden kann.
. ergebnis.php - mit diesem Skript ist der Besucher in der Lage sich die aktuellen Umfrageergebnisse zu betrachten.

Da sich die Skripte umfrage.php und ergbnis.php von Ihrem Aufbau her kaum von denen aus Kapitel 5 unterscheiden, werden im folgenden lediglich die Skript für die Administration der Umfrage vorgestellt.

1. umfrageadmin.htm

<html>
<head>
<title>Umfrage - Administration</title>
<link rel='stylesheet' type='text/css' href='css/umfrage.css'>
</head>
<body>
<img src='bild/umfragelogo.gif' width='506' height='62'><br>
<h3>Atomic-Umfrage [Administration]</h3>
<form method="post" action="erzeugeumfrage.php">
  <p>Thema:
    <input type="text" name="uthema" maxlength="100" size="30">
  </p>
  <p>1. Auswahl:
    <input type="text" name="uinhalt1" maxlength="100" size="30">
    <br>
    2. Auswahl:
    <input type="text" name="uinhalt2" maxlength="100" size="30">
    <br>
    3. Auswahl:
    <input type="text" name="uinhalt3" maxlength="100" size="30">
    <br>
    4. Auswahl:
    <input type="text" name="uinhalt4" maxlength="100" size="30">
    <br>
    5. Auswahl:
    <input type="text" name="uinhalt5" maxlength="100" size="30">
    <br>
    6. Auswahl:
    <input type="text" name="uinhalt6" maxlength="100" size="30">
    <br>
    7. Auswahl:
    <input type="text" name="uinhalt7" maxlength="100" size="30">
    <br>
    8. Auswahl:
    <input type="text" name="uinhalt8" maxlength="100" size="30">
  </p>
  <p>Adminstrator:
    <input type="text" name="fadmin" size="20" maxlength="40">
    Passwort:
    <input type="password" name="fpwd" size="20" maxlength="40">
  </p>
  <p>
    <input type="submit" name="anlegen" value="Umfrage Anlegen">
     <input type="reset" name="Löschen" value="Reset">
  </p>
</form>
<p>
[ <a href="umfrageauswahl.php">Zur Umfrageauswahl</a> ] -
[ <a href="umfrageloeschen.php">Umfrage Entfernen</a> ]</p>
</body>
</html>

2. erzeugeumfrage.php

<html>
<head>
<title>Umfrage - Erzeugt</title>
<link rel='stylesheet' type='text/css' href='css/umfrage.css'>
</head>
<body>
<img src='bild/umfragelogo.gif' width='506' height='62'><br>
<h3>Atomic-Umfrage [Administration]</h3>
<?php

require ("config.inc.php");

if (isset($_POST['anlegen']) && $_POST['fadmin'] == $admin && $_POST['fpwd'] == $pwd) {

foreach($_POST as $key=>$element) {
    if (!empty($element) && $key == "uthema") {
        if (mysql_query("INSERT INTO umfrage VALUES ('', '$element')")) {
        $satz = mysql_query("SELECT uid FROM umfrage ORDER BY uid DESC LIMIT 0,1");
        $row = mysql_fetch_object($satz);
        }
    }
    if (!empty($element) && $key != "uthema" && $key != "anlegen" && $key != "fadmin" && $key != "fpwd") {
        mysql_query("INSERT INTO umfragedaten VALUES ('$row->uid', '$element',0)");
        $anzahl++;
    }
}

echo"<table width='300'>
  <tr>
    <td align='center' colspan='3'>- UMFRAGE ERZEUGT - <br>
      Die Umfrage $uthema wurde erzeugt.<br>
     </td>
  </tr>
</table>";

} else {
    echo"<table width='300'>
  <tr>
    <td align='center' colspan='3'>- FEHLER - <br>
      Umfrage konnte nicht erzeugt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='javascript:history.back()'>Zur&uuml;ck</a></td>
  </tr>
</table>";
}

?>
<p>
[ <a href="umfrageauswahl.php">Zur Umfrageauswahl</a> ] -
[ <a href="umfrageadmin.htm">Zur Umfrage-Administration</a> ]</p>
</body>
</html>

3. umfrageloeschen.php

<html>
<head>
<title>Atomic-Umfrage [Löschen]</title>
<link rel='stylesheet' type='text/css' href='css/umfrage.css'>
<link rel='stylesheet' type='text/css' href='css/main.css'>
</head>
<body>
<img src='bild/umfragelogo.gif' width='506' height='62'><br>
<h3>Umfrage - Löschen</h3>
<form method='post' action='<?php echo $PHP_SELF; ?>'>
<p>
<?php

require ("config.inc.php");

if (isset($_POST[umfrageloeschen]) && !empty($ergebnis) && $_POST['fadmin'] == $admin && $_POST['fpwd'] == $pwd) {

$tab_umfrage = "DELETE FROM umfrage WHERE uid=$ergebnis";
$tab_daten = "DELETE FROM umfragedaten WHERE sid=$ergebnis";

if (mysql_query($tab_umfrage) && mysql_query($tab_daten)) {
    echo "Umfrage wurder erfolgreich entfernt!<p>\n";
    unset($ergebnis);
}

} else {
    echo "Bitte wählen Sie...<br>Hinweis: Adminname und Passwort sind erforderlich!<p>\n";
}

$satz = mysql_query("SELECT * FROM umfrage");

echo "<table width='300'>
  <tr align='left'>
    <td class='latestnews' colspan='2'>&nbsp;Umfragen</td>
  </tr>";

while ($row = mysql_fetch_array($satz)) {
extract($row);
echo "
  <tr>
    <td colspan='2' class='autor'>
      <table width='100%' border='0' cellspacing='2' cellpadding='2'>
        <tr>
          <td class='autorblack' width='280'>$thema</td>
          <td class='autor' width='20'><input type='radio' name='ergebnis' value='$uid'></td>
        </tr>
      </table>
    </td>
  </tr>";

}

echo "</table>";

?>
</p>
<p>Adminstrator:
    <input type="text" name="fadmin" size="20" maxlength="40">
    Passwort:
    <input type="password" name="fpwd" size="20" maxlength="40">
</p>
<input type='submit' name='umfrageloeschen' value='Umfrage Entfernen'>
</form>
<p>
[ <a href="umfrageauswahl.php">Zur Umfrageauswahl</a> ] -
[ <a href="umfrageadmin.htm">Zur Umfrage-Administration</a> ]
</p>
</body>
</html>

Dem Besucher stellt sich die Web-Anwendung, wie folgt dar.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Newsportal via MySQL - MiniCMS

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Newsportal via MySQL - MiniCMS

Abschliessend wollen wir Ihnen noch ein Newsportal vorstellen, welches Ihnen als Grundlage für die Umsetzung von Content Management Systeme (CMS) dienen kann. Das Newsportal setzt sich hierbei aus einem administrativen und einen öffentlichen Bereich zusammen. Insgesamt werden zwei Datenbanktabellen (newstab und newskomm) benötigt. Bei den Tabellen liegt eine 1:n Beziehung vor, einer Nachricht der newstab-Tabelle können beliebig viele Kommentare der newskomm-Tabelle zugewiesen sein.

Die Funktionalität des CMS umfässt folgende Optionen:
. Anzeigen von Nachrichten
. Hinzufügen von Nachrichten
. Bearbeiten von Nachrichten
. Entfernen von Nachrichten
. Entfernen von Kommentaren
. Nachrichtenübersicht
. Seitennavigation

Initialisierungsdateien

. config.inc.php - in diesem Skript befinden sich die wesentlichen Zugriffsdaten und der Verbindungsaufbau zur MySQL Datenbank.
. install.php - mit Hilfe dieses Skripts sind Sie in der Lage die benötigten Datenbanktabellen für die Umfrage-Anwendung festzulegen. Sie müssen das Skript lediglich im Browseraufrufen. Achten Sie darauf das Skript anschliessend von Server zu entfernen!

Datenbanktabellen

CREATE TABLE newstab (
  newsid int(11) NOT NULL auto_increment,
  newstitel varchar(100) NOT NULL default '',
  newsdatum datetime NOT NULL default '0000-00-00 00:00:00',
  newsautor varchar(40) NOT NULL default '',
  newsinhalt text NOT NULL,
  newsurl varchar(100) NOT NULL default '',
  newsrubrik varchar(40) NOT NULL default '',
  PRIMARY KEY  (newsid),
  KEY newsid (newsid)
)

CREATE TABLE newskomm (
  kid int(11) NOT NULL auto_increment,
  kombetreff varchar(80) NOT NULL default '',
  komdatum datetime NOT NULL default '0000-00-00 00:00:00',
  komname varchar(40) NOT NULL default '',
  komemail varchar(80) NOT NULL default '',
  komhome varchar(100) NOT NULL default '',
  kominhalt text NOT NULL,
  knewsid int(11) NOT NULL default '0',
  PRIMARY KEY  (kid),
  KEY kid (kid)
)

Auch in diesem Fall stellt der administrative Bereich den interessantesten Teil der Anwendung dar, daher werden wir Ihnen diesen im folgenden Abschnitt vorstellen.

Administrationsdateien:
. newsadmin.htm - in dieser Seite befindet sich die Eingabemaske (Formular) mit deren Hilfe die Nachrichten erzeugt werden können. Die Seite ist mit dem Skript erzeugenews.php verknüpft.
. navigator.html - diese Seite wird in sämtlichen Seiten via include()-Anweisung eingebunden um die Navigation innerhalb des administrativen Bereich zu erleichtern.
. erzeugenews.php - mit diesem Skript werden die Nachrichten innerhalb der newstab-Tabelle angelegt.
. newsauswahl.php - mit diesem Skript werden die zu bearbeitenden Nachrichten ausgewählt und die Daten an das Skript newsbearbeiten.php weitergeleitet.
. newsbearbeiten.php - in diesem Skript befindet sich das Bearbeitungs-Formular. Die bearbeiteten Daten werden anschliessend an das Skript newsupdate.php weitergeleitet.
. newsupdate.php - mit diesem Skript werden die bearbeiteten Daten in der newstab-Tabelle aktualisiert.
. newsloeschen.php - mit diesem Skript sind Sie in der Lage vorhandene Nachrichten zu entfernen.
. kommloeschen.php - mit diesem Skript sind Sie in der Lage vorhandene Kommentare zu entfernen.

1. newsadmin.htm

<html>
<head>
<title>Newsportal - Administration</title>
<link rel='stylesheet' type='text/css' href='../css/umfrage.css'>
<link rel='stylesheet' type='text/css' href='../css/main.css'>
</head>
<body>
<div><img src='../bilder/logo.gif' width='656' height='42'></div><p>
<h3>Newsportal [Administration]</h3>
<form method='post' action='erzeugenews.php'>
  <table width='500' border='0' cellspacing='2' cellpadding='2'>
    <tr>
      <td width='95' valign='top'>Newstitel:</td>
      <td width='391'>
        <input type='text' name='ntitel' maxlength='100' size='30'>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>Newsautor: </td>
      <td width='391'>
        <input type='text' name='nautor' maxlength='40' size='30'>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>Newsinhalt:</td>
      <td width='391'>
        <textarea name='ninhalt' cols='30' rows='5' wrap='PHYSICAL'></textarea>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>Newsurl: </td>
      <td width='391'>
        <input type='text' name='nurl' maxlength='100' size='30' value=''>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>Newsrubrik: </td>
      <td width='391'>
        <input type='text' name='nrubrik' maxlength='40' size='30'>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>&nbsp;</td>
      <td width='391'>&nbsp;</td>
    </tr>
  </table>
  <p class='blocksatz'>Adminstrator:
    <input type='text' name='fadmin' size='20' maxlength='40'>
    Passwort:
    <input type='password' name='fpwd' size='20' maxlength='40'>
  </p>
  <p>
    <input type='submit' name='anlegen' value='News Anlegen'>
     <input type='reset' name='Löschen' value='Reset'>
  </p>
</form>
<table width='600'>
  <tr align='left'>
    <td class='latestnews' colspan='2'>Admin-Navigator</td>
  </tr>
  <tr>
    <td colspan='2' class='autor'>
      <table width='100%' border='0' cellspacing='2' cellpadding='2'>
        <tr>
          <td><a href='../index.php' target=_blank class="autorblack">Newsportal</a></td>
          <td><a href='newsadmin.htm' class="autorblack">News - Hinzufügen</a></td>
          <td><a href='kommloeschen.php' class="autorblack">Kommentare - Löschen</a></td>
          <td><a href='newsauswahl.php' class="autorblack">News - Bearbeiten</a></td>
          <td><a href='newsloeschen.php' class="autorblack">News - Löschen</a></td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td colspan='2' class='latestnews'>&nbsp;</td>
  </tr>
</table>
</body>
</html>

1.1 navigator.html

<table width='600'>
  <tr align='left'>
    <td class='latestnews' colspan='2'>Admin-Navigator</td>
  </tr>
  <tr>
    <td colspan='2' class='autor'>
      <table width='100%' border='0' cellspacing='2' cellpadding='2'>
        <tr>
          <td><a href='../index.php' target=_blank class="autorblack">Newsportal</a></td>
          <td><a href='newsadmin.htm' class="autorblack">News - Hinzufügen</a></td>
          <td><a href='kommloeschen.php' class="autorblack">Kommentare - Löschen</a></td>
          <td><a href='newsauswahl.php' class="autorblack">News - Bearbeiten</a></td>
          <td><a href='newsloeschen.php' class="autorblack">News - Löschen</a></td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td colspan='2' class='latestnews'>&nbsp;</td>
  </tr>
</table>

1.2 erzeugenews.php

<html>
<head>
<title>News - Erzeugt</title>
<link rel='stylesheet' type='text/css' href='../css/umfrage.css'>
<link rel='stylesheet' type='text/css' href='../css/main.css'>
</head>
<body>
<div><img src="../bilder/logo.gif" width="656" height="42"></div><p>
<h3>Atomic-News [Administration]</h3>
<?php

require ("../config.inc.php");

if (isset($_POST['anlegen']) && $_POST['fadmin'] == $admin && $_POST['fpwd'] == $pwd) {

//Schreibarbeit durch Umwandlung ersparen
foreach ($_POST as $key=>$element) {
    //Eingaben Filtern
    ${"f_".$key} = $element;
}

$f_ndatum=date("Y-m-d H:i:s");

mysql_query("INSERT INTO $dbtabelle VALUES('','$f_ntitel','$f_ndatum','$f_nautor','$f_ninhalt','$f_nurl','$f_nrubrik')");

echo"<table width='300'>
  <tr>
    <td align='center' colspan='3'>- NEWS ERZEUGT - <br>
      Die NEWS $f_ntitel wurde erzeugt.<br>
     </td>
  </tr>
</table>";

} else {
    echo"<table width='300'>
  <tr>
    <td align='center' colspan='3'>- FEHLER - <br>
      Umfrage konnte nicht erzeugt werden.<br>
      Versuchen Sie es bitte erneut!<br>
      <a href='javascript:history.back()'>Zur&uuml;ck</a></td>
  </tr>
</table>";
}

include("navigator.html");

?>

</body>
</html>

2. newsauswahl.php

<html>
<head>
<title>News Auswahl</title>
<link rel='stylesheet' type='text/css' href='../css/umfrage.css'>
<link rel='stylesheet' type='text/css' href='../css/main.css'>
</head>
<body>
<div><img src="../bilder/logo.gif" width="656" height="42"></div><p>
<h3>News - Auswahl (Bearbeitung)</h3>
<form method='post' action='newsbearbeiten.php'>
<?php

require ("../config.inc.php");

$satz = mysql_query("SELECT * FROM $dbtabelle ORDER BY newstitel");

while ($row = mysql_fetch_array($satz)) {
extract($row);
echo "<table width='600'>
  <tr align='left'>
    <td class='latestnews' colspan='2'>Thema: $newstitel [News-ID: $newsid]</td>
  </tr>
  <tr>
    <td colspan='2' class='autor'>
      <table width='100%' border='0' cellspacing='2' cellpadding='2'>
        <tr>
          <td class='autorblack'>Autor</td>
          <td class='autorblack'>Datum</td>
          <td class='autorblack'>Rubrik</td>
        </tr>
        <tr>
          <td class='autorblack'>$newsautor</td>
          <td class='autor'>$newsdatum</td>
          <td class='autor'>$newsrubrik</td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td colspan='2' class='latestnews'><input type='radio' name='auswahl' value='$newsid'></td>
  </tr>
</table><p>";

}

?>
<input type='submit' name="wahl" value='News'>
</form>
<?php

include("navigator.html");

?>
</body>
</html>

2.1 newsbearbeiten.php

<html>
<head>
<title>News [Bearbeiten]</title>
<link rel='stylesheet' type='text/css' href='../css/umfrage.css'>
<link rel='stylesheet' type='text/css' href='../css/main.css'>
</head>
<body>
<div><img src="../bilder/logo.gif" width="656" height="42"></div><p>
<h3>News - Bearbeiten</h3>
<p>
<?
require ("../config.inc.php");

if (isset($_POST[wahl]) && isset($_POST[auswahl])) {

$satz = mysql_query("SELECT * FROM $dbtabelle WHERE newsid=$auswahl");
$row = mysql_fetch_array($satz);

echo "
<form method='post' action='newsupdate.php'>
  <table width='500' border='0' cellspacing='2' cellpadding='2'>
    <tr>
      <td width='95' valign='top'>Newstitel:</td>
      <td width='391'>
        <input type='text' name='ntitel' value='$row[newstitel]' maxlength='100' size='30'>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>Newsautor: </td>
      <td width='391'>
        <input type='text' name='nautor' value='$row[newsautor]'maxlength='40' size='30'>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>Newsinhalt:</td>
      <td width='391'>
        <textarea name='ninhalt' cols='50' rows='5' wrap='PHYSICAL'>$row[newsinhalt]</textarea>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>Newsurl: </td>
      <td width='391'>
        <input type='text' name='nurl' maxlength='100' size='30' value='$row[newsurl]'>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>Newsrubrik: </td>
      <td width='391'>
        <input type='text' name='nrubrik' value='$row[newsrubrik]' maxlength='40' size='30'>
      </td>
    </tr>
    <tr>
      <td width='95' valign='top'>&nbsp;</td>
      <td width='391'>&nbsp;</td>
    </tr>
  </table>
  <input type='hidden' name='auswahl' value='$row[newsid]'>
  <p class='blocksatz'>Adminstrator:
    <input type='text' name='fadmin' size='20' maxlength='40'>
    Passwort:
    <input type='password' name='fpwd' size='20' maxlength='40'>
  </p>
  <p>
    <input type='submit' name='bearbeiten' value='News Bearbeiten'>
     <input type='reset' name='Löschen' value='Reset'>
  </p>
</form>
";

} else {

echo"<table width='300'>
          <tr>
            <td align='center' colspan='3'>- FEHLER - <br>
              News konnte nicht bearbeitet werden.<br>
              Versuchen Sie es bitte erneut!<br>
              <a href='javascript:history.back()'>Zur&uuml;ck</a></td>
          </tr>
</table>";
}

include("navigator.html");

?>

</body>
</html>

2.2 newsupdate.php

<html>
<head>
<title>News [Bearbeiten]</title>
<link rel='stylesheet' type='text/css' href='../css/umfrage.css'>
<link rel='stylesheet' type='text/css' href='../css/main.css'>
</head>
<body>
<div><img src="../bilder/logo.gif" width="656" height="42"></div><p>
<h3>News - Bearbeitet</h3>
<p>
<?php

require ("../config.inc.php");

if (isset($_POST[bearbeiten]) && $_POST['fadmin'] == $admin && $_POST['fpwd'] == $pwd) {

$tab_news = "
 UPDATE $dbtabelle
 set newstitel = '$ntitel',
 newsautor = '$nautor',
 newsinhalt = '$ninhalt',
 newsurl = '$nurl',
 newsrubrik = '$nrubrik'
 WHERE newsid = $auswahl";

if (mysql_query($tab_news)) {
    echo"<table width='300'>
      <tr>
        <td align='center' colspan='3'>- NEWS - <br>
          News wurde bearbeitet.
        </td>
      </tr>
</table>";
    unset($auswahl);
}

} else {
    echo"<table width='300'>
          <tr>
            <td align='center' colspan='3'>- FEHLER - <br>
              News konnte nicht bearbeitet werden.<br>
              Versuchen Sie es bitte erneut!<br>
              <a href='javascript:history.back()'>Zur&uuml;ck</a></td>
          </tr>
</table>";
}

include("navigator.html");

?>
</p>
</body>
</html>

3. newsloeschen.php

<html>
<head>
<title>News [Löschen]</title>
<link rel='stylesheet' type='text/css' href='../css/umfrage.css'>
<link rel='stylesheet' type='text/css' href='../css/main.css'>
</head>
<body>
<div><img src="../bilder/logo.gif" width="656" height="42"></div><p>
<h3>News - Löschen</h3>
<form method='post' action='<?php echo $PHP_SELF; ?>'>
<p>
<?php

require ("../config.inc.php");

if (isset($_POST[newsloeschen]) && !empty($ergebnis) && $_POST['fadmin'] == $admin && $_POST['fpwd'] == $pwd) {

$tab_news = "DELETE FROM $dbtabelle WHERE newsid=$ergebnis";
$tab_komm = "DELETE FROM $dbkomtabelle WHERE knewsid=$ergebnis";

if (mysql_query($tab_news) && mysql_query($tab_komm)) {
    echo "News wurder erfolgreich entfernt!<p>\n";
    unset($ergebnis);
}

} else {
    echo "Bitte wählen Sie...<br>Hinweis: Adminname und Passwort sind erforderlich!<p>\n";
}

$satz = mysql_query("SELECT * FROM $dbtabelle");

while ($row = mysql_fetch_array($satz)) {
extract($row);
echo "<table width='600'>
  <tr align='left'>
    <td class='latestnews' colspan='2'>Thema: $newstitel [News-ID: $newsid]</td>
  </tr>
  <tr>
    <td colspan='2' class='autor'>
      <table width='100%' border='0' cellspacing='2' cellpadding='2'>
        <tr>
          <td class='autorblack'>Autor</td>
          <td class='autorblack'>Datum</td>
          <td class='autorblack'>Rubrik</td>
        </tr>
        <tr>
          <td class='autorblack'>$newsautor</td>
          <td class='autor'>$newsdatum</td>
          <td class='autor'>$newsrubrik</td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td colspan='2' class='latestnews'><input type='radio' name='ergebnis' value='$newsid'></td>
  </tr>
</table><p>";
}

?>
</p>
<p class='blocksatz'>Adminstrator:
    <input type="text" name="fadmin" size="20" maxlength="40">
    Passwort:
    <input type="password" name="fpwd" size="20" maxlength="40">
</p>
<input type='submit' name='newsloeschen' value='News Entfernen'>
</form>
<?php

include("navigator.html");

?>
</body>
</html>

4. kommloeschen.php

<html>
<head>
<title>Kommentare [Löschen]</title>
<link rel='stylesheet' href='../css/umfrage.css' type='text/css'>
<link rel='stylesheet' href='../css/main.css' type='text/css'>
</head>
<body>
<div><img src="../bilder/logo.gif" width="656" height="42"></div><p>
<h3>Kommentar - Löschen</h3>
<form method='post' action='<?php echo $PHP_SELF; ?>'>
<p>
<?php

require ("../config.inc.php");

if (isset($_POST[kommloeschen]) && !empty($ergebnis) && $_POST['fadmin'] == $admin && $_POST['fpwd'] == $pwd) {

$tab_komm = "DELETE FROM $dbkomtabelle WHERE kid=$ergebnis";

if (mysql_query($tab_komm)) {
    echo "News wurder erfolgreich entfernt!<p>\n";
    unset($ergebnis);
}

} else {
    echo "Bitte wählen Sie...<br>Hinweis: Adminname und Passwort sind erforderlich!<p>\n";
}

$satz = mysql_query("SELECT * FROM $dbkomtabelle");

while ($row = mysql_fetch_array($satz)) {
extract($row);
echo "<table width='600'>
  <tr align='left'>
    <td class='latestnews' colspan='2'>Kommentar von $komname [E-mail: $komemail]</td>
  </tr>
  <tr>
    <td colspan='2' class='autor'>
      <table width='100%' border='0' cellspacing='2' cellpadding='2'>
        <tr>
          <td class='autorblack'>Betreff</td>
          <td class='autorblack'>Datum</td>
          <td class='autorblack'>Homepage</td>
          <td class='autorblack'>Inhalt</td>
        </tr>
        <tr>
          <td class='autor'>$kombetreff</td>
          <td class='autor'>$komdatum</td>
          <td class='autor'>$komhome</td>
          <td class='autor'>$kominhalt</td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td colspan='2' class='latestnews'>L&ouml;schen: <input type='radio' name='ergebnis' value='$kid'></td>
  </tr>
</table>";
}

?>
</p>
<p class='blocksatz'>Adminstrator:
    <input type="text" name="fadmin" size="20" maxlength="40">
    Passwort:
    <input type="password" name="fpwd" size="20" maxlength="40">
</p>
<input type='submit' name='kommloeschen' value='Kommentar Entfernen'>
</form>
<?php

include("navigator.html");

?>
</body>
</html>

Das Newsportal selbst, in dem sich der Besucher aufhält stellt sich, wie folgt dar:

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


HTML-Kurzreferenz

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

HTML-Kurzreferenz

In den folgenden Übersichten finden Sie eine Auflistung der wichtigsten HTML-Tags für den Web-Entwickler alltag. Das Grundgerüste einer HTML-Seite stellt sich, wie folgt dar:

<html>
<head>
  <title>Titel</title>
  <meta name="Entwickler" content="Matthias Kannengiesser">
</head>
  <body>
    Inhalt...
  </body>
</html>

Tag | Beispiel | Bedeutung
<html></html> | <html>...</html> | Definiert eine HTML-Seite.
<head></head> | <head>.</head> | Definiert den Kopfteil der HTML-Seite.
<title></title> | <title>MadHouse</title> | Legt den Titel der HTML-Seite fest, welcher in der Titelleiste des Browsers erscheint.
<meta/> | <meta name="autor" content="MK"> | Legt den Bereich für Zusatzinformationen fest, welche teilweise von Suchmaschinen verwendet werden.
<body></body> | <body bgcolor="#ff0000">.</body> | Legt den Sichtbaren Bereich einer HTML-Seite fest.
 | <body bgcolor="grey"> | Definiert Hintergrundfarbe.
 | <body background="pic.jpg"> | Legt ein Hintergrundbild fest.
 | <body text="#ff00ff"> | Definiert Textfarbe.
 | <body link="blue"> | Definiert Farbe der Hyperlinks.
 | <body alink="#008080"> | Definiert Farbe des aktive Hyperlinks.
 | <body vlink="black"> | Definiert Farbe der besuchten Hyperlinks.

Letztes Update: {UPDATEZEIT} Einsatz von Absätzen & Co
Letztes Update: {UPDATEZEIT} Einsatz von Textformatierung
Letztes Update: {UPDATEZEIT} Einsatz von Grafik-Dateien
Letztes Update: {UPDATEZEIT} Einsatz von Listen
Letztes Update: {UPDATEZEIT} Einsatz von Schriften
Letztes Update: {UPDATEZEIT} Einsatz von Hyperlinks
Letztes Update: {UPDATEZEIT} Einsatz von Tabellen
Letztes Update: {UPDATEZEIT} Einsatz von Formulare

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


CSS-Kurzreferenz

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

CSS-Kurzreferenz

Mit Styles Sheets lassen sich diverse Eigenschaften von HTML-Tags beeinflussen. Beim Einsatz von CSS geht es vor allem um die Anpassung des Layouts an die Bedürfnisse der Zielgruppe, dies gilt es bei der Definition von Style Sheet Formatierungen immer zu berücksichtigen.

Die Formatierungen durch CSS können entweder, im betroffenen Dokument selbst vorgenommen werden und müssen zwischen dem <title>- und <head>-Tag platziert werden oder können in eine Style-Sheet-Datei (.css) ausgelagert werden.

Sie haben die Möglichkeit sowohl bestehende HTML-Tags zu beeinflussen, oder sog. CSS-Klassen für das gewünschte Layout zu definieren.

HTML/CSS

Hier zwei HTML-Tags, <h1>- und <p>-Tag, die durch CSS-Definitionen in Ihren Eigenschaften beeinflusst werden.

Beispiel - intern

<html>
<head>
<title>CSS (Intern)</title>
<style type="text/css">
<!--
h1 {
    font-family: Arial;
    font-size: 18px;
    font-weight: bold;
    color: #000000;
    text-decoration: underline
}
p {
    font-family: Arial;
    font-size: 10px;
    color: #000000
}
-->
</style>
</head>
<body>
<h1>&Uuml;berschrift</h1>
<p>Mein erste Absatz<br>
  mehr<br>
  mehr mehr<br>
  und noch mehr</p>
</body>
</html>

Beispiel - extern

<html>
<head>
<title>CSS (Extern)</title>
<link rel="stylesheet" href="htmllayout.css" type="text/css">
</head>
<body>
<h1>&Uuml;berschrift</h1>
<p>Mein erste Absatz<br>
  mehr<br>
  mehr mehr<br>
  und noch mehr</p>
</body>
</html>

Inhalt - htmllayout.css

h1 {
    font-family: Arial;
    font-size: 18px;
    font-weight: bold;
    color: #000000;
    text-decoration: underline
}
p {
    font-family: Arial;
    font-size: 10px;
    color: #000000
}

CSS-Klassen

Hier Beispiele für den Einsatz von CSS-Klassen.

Beispiel - intern

<html>
<head>
<title>CSS-Klassen (Intern)</title>
<style type="text/css">
<!--
.headlines {
    font-family: Arial;
    font-size: 14px;
    font-weight: bold;
    color: #000000
}
.textabsatz {
    font-family: Arial;
    font-size: 10px;
    color: #000000
}
-->
</style>
</head>
<body>
<p class="headlines">&Uuml;berschrift</p>
<p class="textabsatz">Mein erste Absatz<br>
  mehr<br>
  mehr mehr<br>
  und noch mehr</p>
</body>
</html>

Beispiel - extern

<html>
<head>
<title>CSS-Klassen (Extern)</title>
<link rel="stylesheet" href="layout.css" type="text/css">
</head>
<body>
<p class="headlines">&Uuml;berschrift</p>
<p class="textabsatz">Mein erste Absatz<br>
  mehr<br>
  mehr mehr<br>
  und noch mehr</p>
</body>
</html>

Inhalt - layout.css

.headlines {
    font-family: Arial;
    font-size: 14px;
    font-weight: bold;
    color: #000000
}
.textabsatz {
    font-family: Arial;
    font-size: 10px;
    color: #000000
}

Hinweis: CSS Formatierungsklassen sollten in Ihrer Bezeichnung immer mit einem Punkt begonnen werden, so lassen Sie sich von den eigentlichen Formatzuweisungen unterscheiden.

Letztes Update: {UPDATEZEIT} CSS und Hover-Links
Letztes Update: {UPDATEZEIT} Basiseinheiten von CSS
Letztes Update: {UPDATEZEIT} Einsatz von Schrift
Letztes Update: {UPDATEZEIT} Einsatz von Text
Letztes Update: {UPDATEZEIT} Einsatz von Rahmen
Letztes Update: {UPDATEZEIT} Einsatz von Konturen
Letztes Update: {UPDATEZEIT} Einsatz von Äussere- und Innereabstände
Letztes Update: {UPDATEZEIT} Einsatz von Listen
Letztes Update: {UPDATEZEIT} Einsatz von Tabellen
Letztes Update: {UPDATEZEIT} Einsatz von Hintergrundbilder
Letztes Update: {UPDATEZEIT} Einsatz von absoluter Positionierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Mail via PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Mail via PHP

In diesem Abschnitt sollen einige grundlegenden Fragen zum Thema mail()-Funktion beantwortet geklärt werden.

Letztes Update: {UPDATEZEIT} Mail versenden via PHP
Letztes Update: {UPDATEZEIT} Attachment via Mail
Letztes Update: {UPDATEZEIT} Gültigkeit einer Mail prüfen
Letztes Update: {UPDATEZEIT} Versenden einer Mail an mehrere Empfänger

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP & HTTP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP & HTTP

Neben dem eigentlichen Inhalt (Körper) einer Seite versendet der Server einige zusätzliche Informationen an den Server. Diese werden vor dem eigentlichen Inhalt , im sog. Header (Kopf) gesendet. Mit Hilfe dieser Informationen gibt der Server aufschluss darüber, was es mit der übertragenen Seite auf sich hat und welchen Status sie besitzt:
. Handelt es sich um die gewünschte Seite (Status 200 - Found)
. Wurde die Seite nicht gefunden (Status 404 - Not Found)
. Befindet sich die Seite unter einer anderen Adresse (Status 301 - Moved Permanently)
. Wird eine Authentifizierung zum Anzeigen des Inhalts benötigt (Status 401 - Unauthorized)

Zusätzlich zum Status einer Seite kann auch übermittelt werden:
. Last-Modified - gibt an wann die Seite zum letzten Mal verändert wurde.
. Cache-Control - gibt an ob sie gecacht werden darf.
. Expires - gibt an wann die Seite verfällt.
. Content-Typ - gibt an um welchen Typ es sich bei ihrem Inhalt handelt.

Normalerweise versendet der Server automatisch den benötigten Header. Mit Hilfe der PHP Funktion header() sind Sie jedoch in der Lage diesen zu manipulieren. Hierbei ist ledligch zu beachten, dass kein anderes Zeichen vor der header()-Funktion ausgegeben werden darf, d.h. die Seite muss unbedingt mit dem PHP-Code

Letztes Update: {UPDATEZEIT} Automatische Weiterleitung bzw. Redirect
Letztes Update: {UPDATEZEIT} Not Found 404
Letztes Update: {UPDATEZEIT} Cache-Control
Letztes Update: {UPDATEZEIT} Cachen Vermeiden
Letztes Update: {UPDATEZEIT} Download
Letztes Update: {UPDATEZEIT} Authentifizierung via HTTP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Sicherheit

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Sicherheit

Ob ein eigener Webserver oder beim Provider genutze Webspace, über Sicherheitsrisiken und deren Beseitigung sollte man sich als Sicherheitsbewusster Entwickler kümmern. Natürlich wird es nie eine absolute Sicherung geben, aber mit ein wenig Aufwand kann man es den bösen Jungs zumindest etwas schwerer machen.

Im Abschnitt Authentifizierung via http, haben Sie bereits erfahren, wie Sie ein Datei sichern können. Im folgenden Abschnitt werden wir uns um weitere Möglichkeiten kümmern.

Hinweis: Um eines deutlich zu sagen, die hier aufgeführten Möglichkeiten erheben nicht den Anspruch eine absolute Sicherheit zu bieten. Es gibt eine einfache Tatsache die unumstösslich ist: Für jedes Schloss gibt es auch einen Schlüssel und alle Türen können geöffnet werden!

Letztes Update: {UPDATEZEIT} HTTP-Authentifizierung via HTACCESS
Letztes Update: {UPDATEZEIT} Session basierte Authentifizierung
Letztes Update: {UPDATEZEIT} Cookie basierte Authentifizierung

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


MySQL - Installation

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

MySQL - Installation

MySQL besteht aus dem SQL-Datenbankserver mysqld sowie diversen Client Programmen.

MySQL verwendet die Abfragesprache Structured Query Language, kurz SQL, welche in den 70er Jahren von der Firma IBM entwickelt wurde und bis heute als Standard-Abfragesprache für relationale Datenbanken gilt. Der Vorläufer von MySQL ist das auch heute noch verbreitete mSQL (Mini SQL).

MySQL ist als Source- oder als Binärdistribution kostenfrei erhältlich und unterstützt sämtliche modernen Betriebssysteme, welche POSIX-Threads und einen C++ Compiler verwenden. Vorteil der Binärdistribution ist die einfache Installierung des Datenbankservers. Zur Sourcedistribution von MySQL, die in C/C++ geschrieben ist, greift, wer den Code lesen oder sogar modifizieren möchte.

Wer sich eine aktuelle MySQL-Version aus dem Netz laden will, kann zwischen einer ganzen Reihe unterschiedlicher Versionen auswählen. Die aktuelle stabile MySQL-Version ist Release 4.0.21.

Tipp: Die jeweils aktuellen MySQL-Distributionen für Ihr Betriebssystem, erhalten Sie unter folgender Adresse: www.mysql.de

Um den Dschungel der Release-Nummern besser zu durchschauen können folgende Hinweis hilfreich:

Die Release-Nummer besteht aus drei Zahlen und eventuell einem Suffix.
. Erste Zahl (4) das Datei-Format
. Zweite Zahl (0) ist die Release-Nummer
. Dritte Zahl (21) die Versionsnummer

Der Suffix gibt Auskunft über die Vollständigkeit der Dokumentation und Stabilität der Version.
. Alpha - mit dem Suffix Alpha wird eine Release gekennzeichnet, die einen umfangreichen neuen Codeteil besitzt, welcher noch nicht 100%ig getestet wurde.
. Beta - mit dem Suffix Beta wird eine Release gekennzeichnet, deren neuer Code vollständig getestet wurde und deren Dokumentation vollständig ist. Bei Beta-Versionen treten in der Regel keine unbekannten Fehler mehr auf. Wenn nach einer bestimmten Zeit keine Fehler mehr auftreten, wird die Beta-Version zur Gamma-Version.
. Kein Suffix - wird, wie im vorliegenden Fall, kein Suffix angegeben, bedeutet dies, dass diese Version bei diversen Anwendungen für eine längere Zeit ohne Fehler im Einsatz war und somit eine stabile-Version ist.

Achtung: MySQL steht unter dem "Dualen Lizenzierungsmodell" der MySQL AB-Gruppe zur Verfügung. Bei diesem Modell können die Anwender wählen, MySQL-Produkte unter der Free Software/Open-Source GNU General Public License, auch als "GPL" bekannt, oder unter einer kommerzielle Lizenz zu nutzen.

MySQL-Varianten

Wer die Wahl hat, hat die Qual. Der MySQL-Datenbankserver ist in vier verschiedenen Varianten verfügbar:
.
MySQL Standard
enthält die Standard-Speicher-Engines von MySQL sowie die InnoDB Storage Engine. InnoDB ist eine transaktionssichere ACID-konforme Storage Engine mit Commit, Rollback, Absturz-Wiederherstellung und der Möglichkeit, Datensätze auf Zeilenebene zu sperren. Diese Variante ist für Anwender, die die Hochleistungs-Datenbank MySQL mit voller Transaktionsunterstützung nutzen möchten.
.
MySQL Pro
ist die Variante mit kommerzieller Lizenz des MySQL Standard Datenbank Servers mit den gleichen Eigenschaften, einschließlich InnoDB-Unterstützung.
.
MySQL Max
ist für Anwender, die frühzeitig Zugang zu neuen Funktionen und Eigenschaften haben möchten. Diese Variante beinhaltet die Standard Storage Engines, die InnoDB Storage Engine und andere Extras wie die Berkeley Database Storage Engine und SSL Transport-Layer-Verschlüsselung. MySQL Max unterstützt auch die Aufteilung von Tabellen auf verschiedene Dateien, was nützlich ist, wenn die Dateigrösse grösser wird als das Betriebssystem dies zuläßt.
.
MySQL Classic
enthält nur die Standard MySQL Storage Engines und unterscheidet sich von MySQL Pro und MySQL Standard dadurch, daß die InnoDB Storage Engine nicht enthalten ist. MySQL Classic ist nur als kommerzielle Lizenz erhältlich.

Letztes Update: {UPDATEZEIT} Installation des MySQL-Datenbankservers
Letztes Update: {UPDATEZEIT} Installation auf UNIX-/LINUX-Systemen
Letztes Update: {UPDATEZEIT} Installation auf Windows-Systemen
Letztes Update: {UPDATEZEIT} Installation überprüfen
Letztes Update: {UPDATEZEIT} Kommandozeilenwerkzeuge von MySQL
Letztes Update: {UPDATEZEIT} Grafische MySQL-Clients
Letztes Update: {UPDATEZEIT} Anwendungen der MySQL AB-Gruppe

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Die Ursprünge des Internet

Letztes Update: 17.08.2005 12:12:59

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Die Ursprünge des Internet

Am Anfang...

der frühen sechziger Jahre sind Computer groß und unbeweglich. Datenaustausch ist nur über den Transport unhandlicher Magnetbänder möglich. Als die ersten Modems konstruiert werden, ist zumindest eine Verbindung über das Telefonnetz möglich. Doch diese sehr unflexible und teure Lösung stellt die hauptsächlich betroffenen Wissenschaftler nicht zufrieden.

1962 ist der Kalte Krieg auf seinem Höhepunkt. In den USA beginnt eine Handvoll Wissenschaftler um Paul Baran in der Rand Corporation, sich die Köpfe darüber zu zerbrechen, wie das amerikanische Militär im Falle eines Nuklearkrieges möglichst auch bei weitgehend zerstörten Computernetzen kommunizieren kann. Sein System ist genial, aber einfach: Jede Kommunikation wird in kleine Stücke aufgeteilt, die er Nachrichten nennt. Ein Netzwerk aus über Telefonleitungen verbundenen Computern versendet diese Nachrichten, indem die in jeder Nachricht enthaltenen sogenannten Routing Informationen ausgewertet werden. Jeder Knoten im Netz hat das Wissen, Nachrichten mit bestimmten Zielen an bestimmte Rechner weiterzuschicken. Auf diese Weise kann das Netz auch bei zerstörten Verbindungen Daten über Umwege an ihr Ziel bringen. Das erste Netzwerk, das diese neue Technik praktisch anwendet, ist ein lokales Netzwerk im National Physical Laboratory in England. Man tauft die multigeplexte Art der Nachrichtenverschickung Packet switching (Paketvermittlung).

1963 richtet der Chef der Abteilung Information Processing Technology Office (IPTO) in der Defence Advanced Research Projects Agency, kurz DARPA, J.C.R. Licklider, ein Memorandum an alle "Mitglieder und Verbündete des Intergalaktischen Computernetzwerks". Er hat die Vision des weltumspannenden Netzwerks als Kommunikationsmittel für Wissenschaftler und "normale" Menschen mit gleichen Interessen. Zeitgleich baut Larry Roberts im Lincoln Lab in Massachusetts zusammen mit Thomas Marill eine eigene Telefonverbindung für einen TX-2 Rechner mit einem Computer in der Firma Systems Development Corporation in Santa Monica auf. Obwohl die Verbindung teuer ist, bietet sie doch die Möglichkeit, auf dem entfernten Rechner Programme auszuführen.

1966 sponsert Lickliders Abteilung IPTO siebzehn verschiedenen Einrichtungen in Amerika Telefon-Standleitungen zur Verbindung ihrer Computer. In einem Büro im IPTO sitzt Lickliders Mitarbeiter Bob Taylor und ist mit drei Terminals auf seinem Schreibtisch mit dem MIT, der University of California at Berkeley und Systems Development Corporation verbunden. Der Psychologe fragt sich, warum er für jede Verbindung ein eigenes Terminal benötigt und warum kein Netzwerk die Verbindung erleichtert. Dies ist ganz eindeutig die richtige Frage. Die Antwort kommt schon drei Jahre später.

Bereits im Jahre 1968 wurden vom US-Verteidigungsministerium Untersuchungen über die Möglichkeit von Wide Area Network (WAN) Verbindungen von Rechnersystemen durchgeführt, über die im Kriegsfalle zuverlässige Übertragungen von Kommandoinformationen auch dann noch möglich sein sollten, wenn einzelne Teile dieses Netzes ausgefallen sind. Es ging also in Erstehrlinie darum die Landesverteidigung im Kriegsfall zu gewährleisten.

Als die DARPA 1969 ein Projekt aus der Taufe hob, das ein experimentelles paketvermitteltes Netzwerk implementieren sollte, da ahnte wohl noch niemand, daß genau dieses Netzwerk das erste kleine Stück einer Straße für den erst Jahrzehnte später entstehenden "Information Superhighway" war. Unter der Federführung der DARPA, welche dem US Verteidigungsministerium unterstellt war, wurden diese Untersuchungen ab 1969 intensiviert. Die ARPA richtete ein erstes paketvermitteltes Netzwerk ein. Die Hostrechner kommunizierten miteinander über vier Knotenrechner, die an der University of California at Los Angeles (UCLA) und University of California in Santa Barbara (UCSB), der University of Utah in Salt Lake City sowie dem Standford Research Institute (SRI) in Menlo Park eingerichtet wurden. Somit kann das Jahr 1969 wohl als das Geburtsjahr des ARPANET bezeichnet werden und damit auch der Beginn einer Vorstufe des Internet.

1972 wird das ARPANET zum ersten Mal in der Öffentlichkeit vorgestellt. Dies geschieht auf der International Conference on Computer Communications im Oktober in Washington. Es ist inzwischen immerhin auf 37 Netzknoten angewachsen (1970 waren es noch 15) - und das, obwohl die Anschlusskosten circa eine Viertelmillion Dollar betragen. Interessanterweise sind die ersten drei Dienste im ARPANET remote login (Ferneinwahl), file transfer (Dateiübertragung) und remote printing (Ferndrucken). Der erfolgreichste Dienst im Internet, die Electronic Mail (elektronische Post), hat seine Feuertaufe noch vor sich.

1974 wurden von Vincent Cerf (Stanford University) und Robert Khan (DARPA) erstmals die Grundzüge der TCP/IP-Architektur offen gelegt. Zu den Zielen dieser Architektur zählten die Unabhängigkeit der Verbindungen von der verwendeten Netzwerk- und Hostrechner-Architektur sowie die Möglichkeit der Kommunikation über unterschiedliche Netzwerke. TCP/IP setzte sich fortan als Standard durch.

1975 geht das ARPANET den Weg, der mit dem ursprünglichen Ziel eines paketvermittelten Netzwerkes eng verknüpft war: Es wird vom Department of Defence (DoD), dem amerikanischen Verteidigungsministerium, der Kontrolle der Abteilung Defence Communications Agency (DCA) unterstellt. Damit ist klar, daß nur Organisationen in ihm bleiben, die dem militärischen Charakter des Netzes entsprechend arbeiten wollen und können. Dieses Jahr begründet, warum viele die Wurzeln des Internet im militärischen Bereich ansiedeln und warum diese Meinung umstritten ist. Tatsächlich waren es ja vier zivile Einrichtungen, die den Ursprung des Netzes bildeten. Als Konsequenz aus der neuen Richtung im ARPANET beginnen die Organisationen, die den Richtlinien nicht folgen wollten, neue Netzwerke zu gründen.

1981 sind zwei dieser neuen Netzwerke schon voll im Betrieb: das CSNET (Computer and Science Network) und das BITNET (Because It's There Network). Außerdem entstehen viele kleine andere Netzwerke für spezielle Zwecke. Interessanterweise rückt schon jetzt der soziale Aspekt des Netzes ziemlich stark in den Vordergrund: Es entstehen "virtuelle Gemeinschaften" mit gemeinsamen Interessen und Netzgemeinschaften, die sich mit dem Internet selbst beschäftigen. Vor allem Physiker, Ozeanographen und Astronomen nutzen das Netz für Austausch und für teilweise wissenschaftliche, teilweise weniger wissenschaftliche Diskussionen über die inzwischen heftig genutzten Mailinglisten. Auch der berühmte NEWS-Dienst des USENET nimmt seine Arbeit auf und bietet allen Angeschlossenen die Möglichkeit, über elektronische schwarze Bretter themenorientierte Diskussionen zu führen.

1983 und zwar genau am 1. Januar - schlägt die offizielle Geburtsstunde des Internet. Dies kam so: Bereits Ende der siebziger Jahre hatte sich herausgestellt, daß auch im entstehenden Internet alttestamentlich beschriebene Probleme auftauchen würden - die babylonische Sprach- bzw. Protokollverwirrung. Deswegen legte die (D)ARPA ein Projekt auf Kiel, in dem ein neuer Kommunikationsstandard geschaffen werden sollte. Diese Protokollsuite nannte man TCP/IP (Transmission Control Protocol/Internet Protocol). TCP/IP wird das Esperanto der Computernetze: Jedes Netzwerk kann mittels spezieller Gateways genannter Paketvermittlungs-Hardware mit anderen Netzwerken verbunden werden. Alle Netzwerke, die mit dem IP-Protokoll kommunizieren, werden von da an "Internet" genannt. Am ersten Tag des Jahres 1983 wurden schließlich auch das ARPANET und das militärische Defence Data Network offiziell auf TCP/IP umgestellt: Das Internet ist "offiziell" geboren!

1988 markiert ein weiteres wichtiges Jahr in der Geschichte des Internet und macht Vielen zum ersten Mal bewußt, daß weltweite Vernetzung auch weltweite Gefahr bedeuten kann. Im Orwell-Jahr 1984 - Apple stellt den MacIntosh vor - sind 1 000 Rechner an das Netz angeschlossen, drei Jahre später - Compaq baut den Einmillionsteen Personal Computer - sind es bereits 10 000. Ein Jahr später wird knapp ein Prozent aller 60 000 angeschlossenen Rechner vom ersten sogenannten "Internet-Virus" befallen: dem Internet Worm. Robert Morris Jr., Student an der Cornell University, schreibt ein Programm, das sich selbst ständig kopiert und per E-Mail im ganzen Netz verbreitet. Tausende am Internet angeschlossene Rechner werden überlastet oder von ihren Administratoren abgeschaltet. Das Internet wird über Nacht auch außerhalb seines Nutzerkreises berühmt. Als Folge des Angriffs gründet das DoD an der Carnegie-Mellon University das Computer Emergency Response Team (CERT), das bis heute mit Ablegern in allen wichtigen ans Internet angeschlossenen Ländern für die Herausgabe von Warnungen und Sicherheitshinweisen zuständig ist.

1990 kann man als das Todesjahr des ARPANET bezeichnen. Am ersten Juni dieses Jahres wird das Netzwerk nach 21 Betriebsjahren abgeschaltet. Die militärische Komponente ist schon Jahre vorher im MILNET abgespalten worden, und kommerzielle Anbieter wie UUNET und PSI verkaufen Internet-Konnektivität an neue Netzteilnehmer und ehemalige ARPANET-Knoten. Obwohl das physikalische Abschalten des Netzes fast unbemerkt bleibt, so ist seine Bedeutung als Wegbereiter des modernen Internet bis heute unumstritten. Im Jahre 1990 sind in den USA viele Privatpersonen mit Modems an das Netz angeschlossen. In Europa hingegen hat das Netzwerk erst wenige Knoten und ist bei weitem noch nicht so erfolgreich. Inzwischen sind auch neue Tools im Netz aufgetaucht. Eines von ihnen ist Archie, ein Suchsystem für FTP-Archive. Mit diesem Programm können Benutzer über TELNET (Ferneinwahl) oder E-Mail nach Programmen suchen, die auf Internet-Servern abgelegt sind. Archie ist der erste Service, der versucht, die Suche in der immer schneller wachsenden Informationsflut des Internet zu erleichtern. Später entstehen weitere Dienste wie z.B. WAIS (Wide Area Information Service), der Dokumente indiziert und natürlichsprachige Anfragen erlaubt.

1991 entsteht an der University of Minnesota das erste komplexere Informationssystem. Der Gopher ist ursprünglich als hierarchisch aufgebautes Campus-Informationssystem konzipiert, entwickelt sich aber bald zum ersten Browser im Internet. Leider hat die lokal konzipierte Struktur des Gopher einen entscheidenden Nachteil: Es gibt keine Möglichkeit, in den vielen tausend Gopher-Servern weltweit gezielt nach Information zu suchen. Dieses Problem löst VERONICA (Very Easy Rodent Oriented Netwide Index to Computerized Archives). Das von zwei Studenten entwickelte System bringt wieder etwas "Ordnung" in den Gopherspace.

1992 dämmert dann das nächste Unordnung versprechende System am Internet-Horizont: Zum ersten Mal geht eine Entwicklung in Europa los, und zwar am CERN in Genf in der Schweiz. Der Physiker Tim Berners-Lee versucht, Übersicht über Informationsressourcen im Internet zu bekommen und entwickelt ein Hypertext basiertes Dokumentenformat namens HTML (HyperText Markup Language). Ein HTML-Dokument enthält neben normalem Text und Formatierungsanweisungen für Absätze, Überschriften und andere Strukturelemente auch Hyperlinks, die als Anker für andere Dokumente im Internet dienen. Jeder Link zeigt auf einen URL (Uniform Resource Locator), hinter dem sich irgendeine im Internet gespeicherte Information verbirgt. Das zugehörige Transportprotokoll HyperText Transfer Protocol (HTTP) findet schnell Anhänger in Netz. Im November 1992 listet die WWW Projects Page am CERN 26 öffentliche Server. Das ursprünglich für Kernphysiker entwickelte System verbreitet sich unter dem Namen World Wide Web (kurz WWW, W3 oder Web) bald in der Internet-Gemeinschaft - zumal im Jahre 1993 die erste echte Killerapplikation die Bühne betritt.

1993 wird das Jahr von Mosaic. Marc Andreesen und ein paar andere akademische Hilfswissenschaftler am amerikanischen National Center for Supercomputing Applications (NCSA) entwickeln ein graphisches Frontend für das WWW. Sie nennen das Programm sinnigerweise Mosaic. Dieser erste graphische Webbrowser ist in der Lage, Text, Bilder und Töne wiederzugeben und bietet Zugriffsmöglichkeiten auf Gopher- und FTP-Server. Das Konzept der universellen Internet-Oberfläche erweist sich als so erfolgreich, daß Marc Andreesen zusammen mit Jim Clark, dem ehemaligen Chef der Computerfirma Silicon Graphics, eine neue Firma namens Netscape gründet. Das erste Produkt der Firma und das bis heute erfolgreichste Internet-Produkt aller Zeiten ist der Netscape Navigator, eine kommerzielle Weiterentwicklung von Mosaic.

An dieser Stelle werden wir den Exkurs in die Vergangenheit beendet, nun sollten Sie eine Idee davon haben, welch Pioneerarbeit zur Realisierung des Internets bereits geleistet wurde und die Geschichte geht unaufhörlich weiter.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Internetprotokolle

Letztes Update: 00.00.0000 00:00:00

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Internetprotokolle

Letztes Update: {UPDATEZEIT} TCP/IP-Architekturmodell
Letztes Update: {UPDATEZEIT} Protokolle der Internetschicht
Letztes Update: {UPDATEZEIT} Protokolle der Transportschicht
Letztes Update: {UPDATEZEIT} Protokolle der Anwendungsschicht

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Common Gateway Interface

Letztes Update: 22.08.2005 12:03:06

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Common Gateway Interface

Dynamisch erzeugte Websites mit Formularen oder Datenbanken erfordern in der Regel die serverseitige Ausführung von Programmen, die die Formularverarbeitung oder die Daten einer externen Datenbank in die Website integrieren.

Die für solche Zwecke geschaffene Schnittstelle zwischen dem Webserver und den dort abgespeicherten Programmen trägt den Namen Common Gateway Interface, kurz CGI.

Das Common Gateway Interface regelt den Aufruf und die Parameterversorgung von externen Programmen, den so genannten CGI-Skripten. Die Parameterübergabe erfolgt hierbei in Abhängigkeit von der beim Aufruf des CGI-Programms gewählten HTTP-Methode. Der HTTP-Server und das aufgerufene CGI-Programm kommunizieren über eine Reiche von im CGI-Standard festgelegten Umgebungsvariablen. Diese enthalten Informationen über den HTTP-Server und die vom Client erzeugte Anfrage.

Der hinter der CGI-Schnittstelle stehende Mechanismus ist denkbar einfach:

Ein HTTP-Client fordert eine Seite an, deren URL auf ein vom Server auszuführendes Programm verweist. Dieses befindet sich in einem speziellen Verzeichnis, z.B. cgi-bin.

Der Server erkennt an der Dateiendung, dass er sich um ein Programm oder Skript handelt und führt es auf. Das Skript erzeugt einen Antwort-Header gemäss HTTP-Protokoll, eine Leerzeile sowie den Inhalt der Antwort. Die Ausgabe des Programms erfolgt auf der Bildschirmausgabe, die vom Server auf den HTTP-Client umgeleitet wird.

Ein CGI-Skript kann entweder über die HTTP-Methode GET oder POST aufgerufen werden.

GET

Bei der GET-Methode werden die dem CGI-Skrip zu übergebenden Parameter, durch ein Fragezeichen getrenn, an den URL der Client-Anfrage gehängt.

Beispiel

www.domain.de/cgi-bin/suche?wort=PHP

Hierdurch wird die Umgebungsvariable QUERY_STRING mit dem Wert der so übergebenen Parameter belegt.

Hinweis: Der Query-String ist der an den URL angehängte und von diesem durch ein Fragezeichen abgetrennte Teil, der die einem CGI-Programm zu übergebende Parameter enthält. Diese werden in der Umgebungsvariable QUERY_STRING abgelegt.

POST

Die zweite Möglichkeit, Daten an ein CGI-Skript zu übergeben, erfolgt über die POST-Methode. Hierbei werden dem Webserver die Daten in Entity-Body übergeben und an das CGI-Skript über die Standardeingabe weitergeleitet.

Die Sprache zur Programmierung des Skripts kann dabei beliebig gewählt werden. Es kann ein kompiliertes C-Programm sein, ein Skript für den als CGI-Programm konfigurierten PHP-Interpreter, ein Perl-Skript oder ein beliebiges ausführbares Programm.

Ein CGI-Skript kann Dokumente beliebigen Formats generieren, z.B. HTML-Dokumente. Damit der Client, dem das generierte Dokument gesendet wird, weiss, um welche Art von Dokument es sich handelt, erzeugt das CGI-Skript vor den eigentlichen Nutzdaten einen Header. Der Header besteht aus Textzeilen mit dem Format der bereits beschriebenen HTTP-Header und wird durch eine Leerzeile abgeschlossen.

Jeder Header besteht wie schon erwähnt, aus mindestens zwei Zeilen, die für jedes Skript zwingend erforderlich sind. Die erste Zeile spezifiziert dabei den MIME-Type des Dokuments.

Beispiel

Content-Type: text/html

Sofern das Skript einen Verweis auf ein anderes Dokument generiert, wird in der ersten Zeile die Location dieses Dokuments referenziert.

Beispiel

Location: www.domain.de/index.html

Die zweite Zeile ist eine Leerzeile, die den Header von den eigentlichen Nutzdaten trennt.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Dynamische Websites

Letztes Update: 22.08.2005 12:03:58

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Dynamische Websites

Das Standardformat des Internet ist Hypertext Markup Language, kurz HTML. Diese Seitenbeschreibungssprache wurde jedoch für die Präsentation von statischen Inhalten entwickelt. Die ursprünglich einzigen dynamischen Elemente waren sog. Hyperlinks mit denen sich andere statische Seiten und Grafiken aufrufen liessen. Sprich HTML ist grundsätzlich nicht in er Lage, dynamische Inhalte zu verarbeiten. Um dieser Beschränkung zu entgehen sind zahlreiche Erweiterungen vorgenommen worden, mit denen sich HTML-Seiten um interaktive Funktionen ergänzen lassen. Zu den bekanntesten zählen Java-Applets, die als kleine Programme innerhalb einer HTML-Seite laufen. Skriptsprachen wie JavaScript und VBScript, die ebenfalls zur Interaktivität beitragen, wirken eher im Hintergrund, beispielsweise bei der Verifikation von Formularinhalten. Der Anwender bekommt davon wenig zu sehen.

Skriptsprachen und HTML-Code

Jede Programmiersprache- bzw. Skriptsprache muss in der Lage sein mit HTML-Code zurecht zu kommen. Dabei lassen sich zwei Typen unterscheiden:
. Selbständige Anwendungen (z.B. CGI-Programme)
. Eingebettete Skriptsprachen (z.B. PHP, JSP, ASP, Perl)

Selbständige Anwendungen laufen in der Regel auf dem Server. Sie werden durch den Server ausgeführt. Im HTML-Code einer Seite hinterlassen sie generell keine oder nur wenige Spuren. Im Grunde könnte man auch Java-Applets dazu zählen. Applets laufen auf dem Client und stellen zahlreiche Funktionen zur Verfügung, welche normalerweise vom HTML-Code übernommen werden, z.B. Formulareingabefelder oder Schaltflächen. Im HTML-Code werden sie lediglich aufgerufen. Ihr eigener Programm-Code befindet sich in einer separaten Datei.

Die Anweisungen eingebetteter Sprachen wie PHP werden direkt in den HTML-Code geschrieben. Der Entwickler muss hierbei gleichzeitig die Anwendungslogik und die Seitengestaltung berücksichtigen. Allerdings kommt im Browser nicht die Seite an, die der Entwickler erstellt hat. Der Programm-Code wird bereits auf dem Server verarbeitet. Statt der Programmanweisungen enthält der HTML-Code dann schon die von PHP erzeugten Daten.

Letztes Update: {UPDATEZEIT} PHP als Skriptsprache

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Wie arbeitet PHP?

Letztes Update: 22.08.2005 12:05:54

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Wie arbeitet PHP?

Im Gegensatz zu Perl oder TCL, bei denen der Client, beispielsweise ein Browser, die Skripte direkt vom Server anfordert, wird der PHP-Code in die HTML-Seite eingebunden. Der Betrachter einer derartigen Seite bekommt von diesem Code allerdings nichts zu sehen, da dieser bereits serverseitig interpretiert und in HTML-Code umgewandelt wird. Hierzu startet der Webserver den PHP-Interpreter, der das angeforderte Dokument übersetzt und den PHP-Sourcecode der Seite ausführt. Die enthaltenen Befehle werden interpretiert und das Resultat findet seinen Platz als HTML-Ausgabe anstelle des Sourcecodes im gleichen Dokument. Nach der Übersetzung wird die modifizierte Seite zum Client geschickt und dort durch den Browser dargestellt.

PHP als Apache-Modul

PHP als CGI-Programm

Ob das vom Client aufgerufene Dokument PHP-Programmcode enthält, erkennt der Webserver an der von reinen HTML-Seiten abweichenden Dateiendung. Welche Dateiendungen vom Webserver akzeptiert werden sollen, kann in der Konfigurationsdatei des Webservers festgelegt werden. Gängige Dateiendungen, die sich in den letzten Jahren durchgesetzt haben, sind:
. .php
. .php3
. .php4
. .phtml

Die Website wird auf diese Weise dynamisch, d.h. erst ab dem Zugriffszeitpunkt durch den Client erstellt, und kann daher, in Abhängigkeit von einer Benutzer-Interaktion, noch vor dem Versenden an den Client modifiziert werden.

Hinweis: Aufgrund der für den Interpretationsvorgang des PHP-Codes benötigten Zeit sind PHP-Seiten grundsätzlich langsamer als statische HTML-Seiten.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP und HTML

Letztes Update: 22.08.2005 12:07:48

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP und HTML

PHP Code wird direkt in HTML-Dokumente eingebettet und kann dort an beliebigen Positionen abgelegt als auch mehrfach unterbrochen werden. Beginn und Ende von Abschnitten mit PHP Code sind für den PHP-Interpreter gekennzeichnet. Es gibt mehrere Möglichkeiten, wie PHP Code in ein HTML-Dokument eingebun-den werden kann.

Eine häufig verwendete Möglichkeit ist der so genannte SGML-Stil (Standard Generalized Markup Language).

<?
    echo "Einbindung in SGML-Stil";
?>

Eine weitere Möglichkeit von Einbindungen lehnt sich an die unter XML (Extensible Markup Language) gebräuchliche Methode an. Die Kennzeichnung PHP kann sowohl über Großbuchstaben definiert werden:

<?PHP
    echo "Einbindung in XML-Stil";
?>

als auch über Kleinbuchstaben:

<?php
    echo "Einbindung in XML-Stil";
?>

Den so genannten ASP-Stil (Active Server Pages) können Sie nur verwenden, wenn Sie in der PHP-Konfigurationsdatei php.ini unter Language Options die Option asp_tags auf On gesetzt haben.

<%
    echo "Einbindung in ASP-Stil";
%>

Abschließend steht Ihnen noch das <script>-Tag zur Verfügung, das auch zum Einbinden von JavaScript verwendet wird.

<script language="php">
    echo "Einbindung im JavaScript-Stil";
</script>

Ein einfache Seite mit PHP-Code könnte beispielsweise wie folgt aussehen:

<html>
    <head>
        <title>HTML u. PHP</title>
    </head>
    <body>
        <? echo "PHP sagt Hallo!"; ?>
    </body>
</html>

Der PHP-Abschnitt wird bereits beim Aufruf der Seite vom PHP-Interpreter auf dem Server interpretiert, so dass im Browser nur noch die folgenden Zeilen ankommen:

<html>
    <head>
        <title>HTML u. PHP</title>
    </head>
    <body>
        PHP sagt Hallo!
    </body>
</html>

Den in der Datei enthaltenen HTML-Code gibt der PHP-Interpreter unverändert aus.

Tipp: Wir werden, was die Beispiele hier Praxisbuch angeht, auf den XML-Stil bzw. SGML-Stil zurückgreifen.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Wie funktioniert eine Web-Anwendung?

Letztes Update: 22.08.2005 12:08:54

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Wie funktioniert eine Web-Anwendung?

Eine typische Web-Anwendung ist beispielsweise eine Suchmaschine oder ein Online-Forum. Der Anwender gibt zunächst in einem HTML-Fomular das Suchwort ein und schickt das Formular ab. Auf dem Webserver erzeugt dann ein PHP-Skript die entsprechenden Datenbankabfrage und übergibt die vom Datenbank-Server gelieferten Daten im HTML-Format an den Webserver. Dieser leitet sie an den Browser weiter. Hierbei werden dem Anwender beispielsweise die Suchergebnisse aufgelistet.

Schema einer Web-Anwendung mit PHP

Beachten Sie, dass PHP-Skripte in der Regel Ausgaben erzeugen, die sich direkt im Browser anzeigen lassen. Der PHP-Interpreter auf dem Server verarbeitet also den von Ihnen geschriebenen Programm-Code und erzeugt daraus im Browser darstellbare Seiten.

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Software für Web-Anwendungen

Letztes Update: 22.08.2005 12:09:27

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Software für Web-Anwendungen

PHP steht für diverse Betriebsysteme zur Verfügung, so dass der Entwickler die Qual der Wahl hat. Wir gehen davon aus, dass eine Vielzahl von Entwickler ein Windows- oder Linux-System nutzen und die zu entwickelnden Web-Anwendungen zunächst lokal bearbeiten. Natürlich sollten die Anwendungen später auf einem richtigen Web-Server laufen. Folglich muss die Arbeitsumgebung ungefähr der späteren Laufzeitumgebung entsprechen. Für Entwicklung und Test der Anwendungen auf einem lokalen Rechner benötigen Sie daher folgende Software:

. PHP + Erweiterungen
. Webserver
. Datenbank
. Browser
. Editor

Letztes Update: {UPDATEZEIT} PHP + Erweiterungen
Letztes Update: {UPDATEZEIT} Webserver
Letztes Update: {UPDATEZEIT} Datenbank
Letztes Update: {UPDATEZEIT} Browser
Letztes Update: {UPDATEZEIT} Editor

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Entwicklungsumgebungen

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Entwicklungsumgebungen

Um umfangreiche dynamische Webseiten entwickelt zu können, bedarf es einer ausgewogenen Mischung an Hilfswerkzeugen. Entwicklungsumgebungen, wie Zend Studio, Maguma Workbench oder Dev-PHP dürften die benötigten Werkzeuge für Sie bereitstellen um erfolgreich und ohne Umwege zum Ziel zu gelangen.

Durch den Einsatz solcher Entwicklungsumgebungen kann die Arbeit übersichtlicher und produktiver gestalten werden, ähnlich wie es C++ - und Java - Entwickler schon seit Jahren tun. Der Einsatz einer IDE ist langfristig der einzig sinnvolle Weg.

Letztes Update: {UPDATEZEIT} Entwicklungsumgebungen vs Editoren
Letztes Update: {UPDATEZEIT} Zend Studio
Letztes Update: {UPDATEZEIT} Maguma Workbench
Letztes Update: {UPDATEZEIT} DEV-PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Integration von PHP

Letztes Update: 16.08.2005 17:53:45

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Integration von PHP

Hier nochmals eine kurze Zusammenfassung der Schreibweisen.

SGML-Stil (Standard Generalized Markup Language)

<?
    echo "Einbindung in SGML-Stil";
?>

XML (Extensible Markup Language)

<?PHP
    echo "Einbindung in XML-Stil";
?>

<?php
    echo "Einbindung in XML-Stil";
?>

ASP-Stil (Active Server Pages)

<%
    echo "Einbindung in ASP-Stil";
%>

<script>-Tag
<script language="php">
    echo "Einbindung im JavaScript-Stil";
</script>

Letztes Update: {UPDATEZEIT} Notationshinweise
Letztes Update: {UPDATEZEIT} Einbindung externer Skripte
Letztes Update: {UPDATEZEIT} PHP und JavaScript

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Installation und Konfiguration

Letztes Update: 19.09.2005 15:45:52

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Installation und Konfiguration

Die Vorbereitung zur Installation besteht im Wesentlichen aus zwei Teilen Beschaffung der Hardware und Beschaffung der Software.

Noch vor der Installation sollten Sie wissen, wofür Sie PHP einsetzen wollen. Es gibt drei Haupteinsatzbereiche von PHP:
. Serverseitige Skripte
. Skripte auf der Kommandozeile
. Clientseitige GUI Applikationen

Wenn Sie Ihren Server und PHP selbst installieren, können Sie zwischen zwei Methoden wählen, wie Sie PHP mit dem Server verbinden. PHP verfügt für zahlreiche Server über eine direkte Modulschnittstelle, auch SAPI genannt. Sollte PHP keine Modulschnittstelle für Ihren Webserver unterstützen, können Sie PHP auch über die CGI Schnittstelle betreiben. Das heißt, dass Sie Ihren Webserver so konfigurieren, dass bei jeder Anforderung von PHP Dateien an den Server das Kommandozeilenprogramm von PHP, php.exe unter Windows, zur Abarbeitung der Skripte benutzt wird.

Wenn Sie PHP auch für Skripte auf der Kommandozeile benutzen möchten, beispielsweise für Skripte, die automatisch Bilder erzeugen oder Textdateien verarbeiten, benötigen Sie das Kommandozeilenprogramm. In diesem Fall benötigen Sie weder einen Server, noch einen Browser.

Sie können mit PHP und der PHP-GTK Erweiterung auch clientseitige GUI Applikationen erstellen. Dies ist ein völlig anderer Ansatz als das Schreiben von Webseiten, da Sie zwar kein HTML ausgeben, dafür aber Fenster und Objekte handhaben.

Der Schwerpunkt des Kapitels wird vor allem der serverseitige Einsatz sein. Darüber hinaus wenden wir uns noch der Apache und MySQL Installation zu.

Letztes Update: 16.08.2005 17:53:45 Installation unter Windows
Letztes Update: 16.08.2005 17:53:45 Installation unter Linux
Letztes Update: 16.08.2005 17:53:45 Installationkits
Letztes Update: 16.08.2005 17:53:45 PHP Konfiguration
Letztes Update: 16.08.2005 17:53:45 Überprüfen der Konfiguration
Letztes Update: 16.08.2005 17:53:45 Apache - Installation
Letztes Update: 16.08.2005 17:53:45 MySQL - Installation
Letztes Update: 16.08.2005 17:53:45 Entwicklungsumgebungen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Einführung

Letztes Update: 19.09.2005 14:03:51

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Einführung

Kaum ein anderes Medium hat in den letzten Jahren unser Kommunikationsverhalten so nachhaltig beeinflusst, wie das Internet und die daraus entstandenen Intranets.

Durch den weltumspannenden Zusammenschluss von einzelnen Rechnern mit Hilfe von Netzwerken werden der Zugriff auf Datenbestände entfernter Rechner und somit auch ein schneller Austausch von Informationen und Nachrichten bis hin zur direkten Kommunikation zweier oder mehrerer Benutzer möglich.

Der weltweite Verbund dieser Netzwerke verknüpft mit dem Innovationsschub der IT-Branche hat zu einer extremen Komplexitätssteigerung geführt. Dies betrifft vor allem den Bereich der Kommunikation, welche durch die globale Vernetzung ein mass an Komplexität erreicht hat, dass kaum noch zu erfassen ist.

Dies betrifft natürlich auch die Kommunikationsmöglichkeiten des weltweiten Datennetzes (Internet). Durch die diversen Internetdienste, wie Hypertext-Transfer, Mail-Transfer, News-Transfer, File-Transfer, die Online-Portale und Communities sowie durch intelligente Agentenprogramme zur Informationssuche (Bots), ein bisher nicht vorhandenes Komplexitätsniveau erreicht haben.

Die Realisierung von statischen Seiten für dieses Medium stellt mit den heute zur Verfügung stehenden Programmen kaum noch ein Problem dar, zahlreiche WYSIWYG-Editoren stehen dem Entwickler zur Verfügung. Wer sich also mit vollautomatischen HTML-Editoren eine eigene Website erstellt, braucht sich daher zunächst wenig Gedanken darüber zu machen, wie das alles funktioniert.

Sobald die Websites durch Interaktivität und dynamische Inhalte aufgewertet werden sollen, kommt man jedoch um ein Mindestmass an Verständnis für die dahinter stehende Internettechnologie nicht mehr herum. Das folgende Kapitel enthält eine kurze Zusammenfassung und soll Ihnen einen Überblick über die Entstehung und Einsatz der wichtigsten Protokolle des Internet verschaffen.

Letztes Update: 17.08.2005 12:12:59 Die Ursprünge des Internet
Letztes Update: 00.00.0000 00:00:00 Internetprotokolle
Letztes Update: 22.08.2005 12:03:06 Common Gateway Interface
Letztes Update: 22.08.2005 12:03:58 Dynamische Websites
Letztes Update: 22.08.2005 12:05:54 Wie arbeitet PHP?
Letztes Update: 22.08.2005 12:07:48 PHP und HTML
Letztes Update: 22.08.2005 12:08:54 Wie funktioniert eine Web-Anwendung?
Letztes Update: 22.08.2005 12:09:27 Software für Web-Anwendungen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Sprachelemente und Syntax

Letztes Update: 19.09.2005 15:46:27

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Sprachelemente und Syntax

In diesem Kapitel werden die wesentlichen Bestandteile und Strukturen der PHP-Programmierung vorgestellt. Da diese in allen Programmiersprachen in ähnlicher Form vorhanden sind, können Leser mit ausreichender Programmiererfahrung das Kapitel gerne überspringen, ohne den roten Faden zu verlieren. Dies ist aber nicht anzuraten, da doch immer wieder mit kleineren und größeren Abweichungen zwischen Programmiersprachen zu rechnen ist. Selbst erfahrenen Programmierern wird empfohlen, das Kapitel zumindest quer zu lesen. Für Leser ohne Programmiererfahrung ist es ohnehin eines der zentralen Kapitel des Buches. Denken Sie jedoch daran, dass wir bewusst darauf verzichtet haben, eine ausführliche Einführung in diesem Buch abzuhandeln, schließlich wollen wir Sie möglichst zielstrebig an die besonders schwierigen Themen der Programmierung heranführen und nicht die Online-Referenz nachahmen.

Letztes Update: 16.08.2005 17:53:45 Integration von PHP
Letztes Update: 16.08.2005 17:53:45 Einführung in PHP
Letztes Update: 16.08.2005 17:53:45 Datentypen
Letztes Update: 16.08.2005 17:53:45 Variablen
Letztes Update: 16.08.2005 17:53:45 Konstanten
Letztes Update: 16.08.2005 17:53:45 Operatoren
Letztes Update: 16.08.2005 17:53:45 Kontrollstrukturen
Letztes Update: 16.08.2005 17:53:45 Funktionen und Prozeduren
Letztes Update: 16.08.2005 17:53:45 Referenzen in PHP
Letztes Update: 16.08.2005 17:53:45 Arrays
Letztes Update: 16.08.2005 17:53:45 Mathematische Funktionen
Letztes Update: 16.08.2005 17:53:45 Datum- und Zeitfunktionen
Letztes Update: 16.08.2005 17:53:45 Stringfunktionen
Letztes Update: 16.08.2005 17:53:45 Reguläre Ausdrücke
Letztes Update: 16.08.2005 17:53:45 Code-Konventionen
Letztes Update: 16.08.2005 17:53:45 Debugging - Fehlersuche in PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Lösungen für den Alltag

Letztes Update: 19.09.2005 15:48:17

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Lösungen für den Alltag

In diesem Kapitel befassen wir uns mit einigen Beispielen, die im Alltag eines PHP-Entwickler immer wieder vorkommen und bieten Ihnen eine Sammlung nützlicher Lösungsansätze. Sehen Sie diesen Teil des Buchs als eine Art Ideenpool.

Folgende Lösungen liegen bereits vor:
. Counter - der Besucherzähler
. Gästebuch
. Useronline
. Online-Umfrage
. Kontaktformular - Autoresponder
. Dynamische Navigation

Der Ideenpool wird von uns stetig um neue Lösungsansätze erweitert.

Letztes Update: 16.08.2005 17:53:45 Counter - der Besucherzähler
Letztes Update: 16.08.2005 17:53:45 Gästebuch
Letztes Update: 16.08.2005 17:53:45 Useronline
Letztes Update: 16.08.2005 17:53:45 Online-Umfrage
Letztes Update: 16.08.2005 17:53:45 Kontaktformular - Autoresponder
Letztes Update: 16.08.2005 17:53:45 Dynamische Navigation

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Programmierung mit PHP

Letztes Update: 19.09.2005 15:48:43

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Programmierung mit PHP

Wir werden uns nun in der Welt der PHP Programmierung genauer umschauen, einen umfassenden Einblick über die Sprachbestandteile und Ihrer Arbeitsweise haben Sie bereits erhalten.

Die Realisierung und Verarbeitung von Nutzerbezogenen Daten in Form von Formularen und die Datenübertragung stellen einen Schwerpunkt des folgenden Abschnitts dar.

Der Einsatz von Sessions, Cookies und Servervariablen wird Ihnen anhand von praxisorientierter Beispiele aufgezeigt.

Ein abschließender Schwerpunkt stellt das Zusammenspiel zwischen dem Dateisystem und PHP dar. Sie werden überrascht sein, was sich alles via PHP auf einem System realisieren lässt.

Letztes Update: 16.08.2005 17:53:45 Formulare und PHP
Letztes Update: 16.08.2005 17:53:45 Daten via URL
Letztes Update: 16.08.2005 17:53:45 Cookies via PHP
Letztes Update: 16.08.2005 17:53:45 Session-Management via PHP
Letztes Update: 16.08.2005 17:53:45 Servervariablen
Letztes Update: 16.08.2005 17:53:45 Dateisystem via PHP

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Fortgeschrittene Programmierung

Letztes Update: 19.09.2005 15:49:05

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Fortgeschrittene Programmierung

In diesem Kapitel werden wir uns mit den Objekten auseinandersetzen. Sie erfahren, wie sie Objekte nutzen und erzeugen können und was Eigenschaften und Methoden sind. Zusätzlich bietet Ihnen dieses Kapitel eine Einführung und Vertiefung in die Objektorientierte Programmierung, kurz OOP. Es sollte nicht verschwiegen werden, dass wir das Thema Objektorientierte Programmierung aus Sichtweise des PHP Entwickler durchleuchten werden und nicht aus der Sichtweise eines Informatikers. Sie müssen sich daher keine Sorgen machen, vielleicht etwas nicht nachvollziehen zu können. Anhand praktischer Fallbeispiele wird Ihnen OOP möglichst schonend verabreicht. Die Informatiker unter Ihnen mögen es uns verzeihen, aber auch sie werden dieses Kapitel zu schätzen wissen, da es sowohl die Syntax, als auch den Verwendungszweck von Objekten und Objektorientierten Prinzipien in PHP durchleuchtet und nützliche Tipps zum Umstieg auf PHP bietet.

Darüber hinaus werden einzelne Themenschwerpunkt beleuchtet, wie beispielsweise PDF, XML und der Einsatz der GD-Bibliothek.

Letztes Update: 16.08.2005 17:53:45 PHP und OOP
Letztes Update: 16.08.2005 17:53:45 PDF - Portable Document Format
Letztes Update: 16.08.2005 17:53:45 XML
Letztes Update: 16.08.2005 17:53:45 Dynamische Grafiken mit der GD-Bibliothek

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Neuerungen in PHP 5

Letztes Update: 19.09.2005 15:49:25

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Neuerungen in PHP 5

Diese Kapitel ist im Grunde gar nicht notwendig, da Sie bereits in den vorherigen Kapiteln sämtliche wesentlichen Sprachbestandteile kennen gelernt haben. Dies schließt auch PHP 5 ein. Wir haben uns jedoch erlaubt in diesem Kapitel die Neuerungen der Zend Engine 2.0 aufzulisten und einige weitere PHP 5 spezifische Anpassungen unter die Lupe zu nehmen.

Sie sollten immer wieder vorbei schauen, da dieses Kapitel im Lauf der Zeit kontinuierlich erweitert wird.

Letztes Update: 16.08.2005 17:53:45 Zend Engine 2 und PHP 5
Letztes Update: 16.08.2005 17:53:45 Übersicht der Anpassungen und Erweiterungen
Letztes Update: 16.08.2005 17:53:45 MySQL und PHP 5

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Datenbankprogrammierung

Letztes Update: 19.09.2005 15:49:58

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Datenbankprogrammierung

Wenn Sie die Kataloge von Software-Distributoren betrachten, treffen Sie immer wieder auf die Kategorie Datenbanken. In der Angebotspalette finden sich so bekannte und klangvolle Namen wie MS Access, Oracle oder Sybase. All diese Software-Produkte haben die Aufgabe, Daten systematisch und strukturiert zu speichern. Sie bieten weiterhin Werkzeuge zur Manipulation dieser Daten an. Dabei kann von dieser Software-Kategorie nahezu jede digitale Form unterstützt werden, die auf Daten basiert, die häufig abgefragt, verändert oder ausgewertet werden. Datenbanken sind somit vielfältig einsetzbar.

Datenbanken sind heute aus dem weltwirtschaftlichen Geschehen nicht mehr wegzudenken. Banken und Versicherungen wären ohne Datenbanken in keinster Weise wettbewerbsfähig. Eine Vielzahl von Internetangeboten wie Internetshops, Suchmaschinen oder Tauschbörsen wären ohne Datenbanken nicht funktionsfähig. Den Stellenwert von Datenbanken sollte man daher nicht unterschätzen.

Im folgenden Kapitel wenden wir uns diesem Themenschwerpunkt zu und im Besonderen dem MySQL-Datenbankverwaltungssystem.

Letztes Update: 16.08.2005 17:53:45 Was ist MySQL?
Letztes Update: 16.08.2005 17:53:45 Kompatibilität zu SQL-Standards
Letztes Update: 16.08.2005 17:53:45 Aufbau des MySQL-Datenbanksystems
Letztes Update: 16.08.2005 17:53:45 Anwendungsgebiete für MySQL
Letztes Update: 16.08.2005 17:53:45 Phasen der Datenbankentwicklung
Letztes Update: 16.08.2005 17:53:45 Datenmodell
Letztes Update: 16.08.2005 17:53:45 Datenbankentwurf mit ERM
Letztes Update: 16.08.2005 17:53:45 Relationales Datenmodell
Letztes Update: 16.08.2005 17:53:45 Primärschlüssel
Letztes Update: 16.08.2005 17:53:45 Fremdschlüssel und referenzielle Integrität
Letztes Update: 16.08.2005 17:53:45 Optimierung des Datenmodells
Letztes Update: 16.08.2005 17:53:45 Implementierung und Nutzung von SQL
Letztes Update: 16.08.2005 17:53:45 MySQL-Funktionen von PHP
Letztes Update: 16.08.2005 17:53:45 Verwaltung von MySQL-Benutzer
Letztes Update: 16.08.2005 17:53:45 PHP & MySQL-Verbindung
Letztes Update: 16.08.2005 17:53:45 PHP & MySQL-Zugriffe
Letztes Update: 16.08.2005 17:53:45 Backups von Daten und Tabellen

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


PHP & MySQL Anwendungen

Letztes Update: 19.09.2005 15:50:23

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

PHP & MySQL Anwendungen

In diesem Kapitel stellen wir Ihnen einige nützliche PHP & MySQL Anwendungen vor. Sehen Sie diesen Teil des Buchs als eine Art Ideenpool an, welchen Sie durch Ihre eigene Kreativität anpassen und ausbauen können.

Folgende Anwendungen liegen bereits vor:
. Useronline via MySQL
. Bannerabfrage via MySQL
. Umfrage via MySQL
. Newsportal via MySQL - MiniCMS

Letztes Update: 16.08.2005 17:53:45 Useronline via MySQL
Letztes Update: 16.08.2005 17:53:45 Bannerabfrage via MySQL
Letztes Update: 16.08.2005 17:53:45 Umfrage via MySQL
Letztes Update: 16.08.2005 17:53:45 Newsportal via MySQL - MiniCMS

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Referenzen

Letztes Update: 19.09.2005 15:51:46

Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

* Link führt ins Internet

Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!

SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*

Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname:
Name:
E-Mail:

Referenzen

Sie werden sich sicher Wundern, was ein HTML und CSS Kapitel in einem PHP Buch zu suchen haben. Eine gute Frage und die Antwort: Ohne fundierte HTML und CSS Kenntnisse ist die Realisierung von Anspruchsvollen Web-Anwendungen nur sehr schwer zu realisieren. Natürlich stehen heutzutage diverse Entwicklungsumgebungen und WYSIWYG-Editoren zur Verfügung, aber wer ist Ihnen dabei behilflich das Feintuning vorzunehmen - hier lautet die Devise selbst ist der Entwickler. Wir versprechen Ihnen die Übersicht möglichst kurz und bündig zu halten.

Im folgenden Abschnitt werden wir Ihnen einige Tags vorstellen, die sowohl einen Anfangs- als auch Endtag besitzen. Sollten Sie auf Tags stoßen, die einen internen Schrägstrich besitzt, wie z.B. <meta/> bedeutet dies, dass das Tag intern abgeschlossen wird. Dies ist jedoch lediglich für diejenigen unter Ihnen interessant, die sich bereits mit dem XHTML-Standard befassen. Andernfalls können Sie diese Schreibweise vernachlässigen.

Das Thema Sicherheit und HTTP-Protokoll kommen im folgenden Kapitel ebenfalls nicht zu kurz und werden genauer betrachtet.

Letztes Update: 16.08.2005 17:53:45 HTML-Kurzreferenz
Letztes Update: 16.08.2005 17:53:45 CSS-Kurzreferenz
Letztes Update: 16.08.2005 17:53:45 Mail via PHP
Letztes Update: 16.08.2005 17:53:45 PHP & HTTP
Letztes Update: 16.08.2005 17:53:45 Sicherheit

sponsored by

Host Europe

HighText iBusiness

Host Europe

© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.de, Impressum, Kontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de