Donnerstag, 2. November 2017

Datumsausgabe mit date()

Das Datum kann in PHP in verschiedenen Formaten ausgegeben werden. Dazu wird die Funktion date genutzt.

Nach der echo-Ausgabe wird über den Punkt die Funktion datum verkettet.
Die Attribte bedeuten:

d = Tag zweistellig
m = Monat als Zahl zweistellig
y = Jahr zweistellig
Y = Jahr vierstellig

<?phpecho "<p>heutiges Datum: ". date("d.m.Y");echo "<p>heutiges Datum: ". date("d.m.y");?>


Das Ergebnis im Browser:

heutiges Datum: 23.01.2012
heutiges Datum: 23.01.12

Falls folgende Fehlermeldung kommt (was bei aktuellen PHP-Installationen ab PHP 5.1 der Fall sein wird:

 "Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '2.0/DST' instead in D:\xampplite\htdocs\dateinamephpprogramm.php on line x"

dann geben Sie bitte am Anfang von Ihrem Programm den Befehl date_default_timezone_set('Europe/Berlin'); für Deutschland ein:"

<?phpdate_default_timezone_set('Europe/Berlin');echo "<p>heutiges Datum: " . date("d.m.Y");?>

Aufgabe: Datum anzeigen auf verschiedene Arten

Stellen Sie das Datum auf verschiedene Arten dar - auch einmal mit Uhrzeit. Für die Informationen, wie es geht, nutzen Sie bitte php.net.

heutiges Datum: 23.01.2012
heutiges Datum: 23.Jan.12
heutiges Datum: Mon 23.Jan.2012 13:43:05

do ... while Schleife - Kontrolle der Bedingung am Ende

Wenn die Schleife auf jeden Fall einmal durchlaufen werden soll, dann ist die Konstruktion do...while die Richtige.

Beispiel do-while-Schleife


<?php
$i = 11;

do{    echo $i;         // es wird $i ausgegeben    
echo "";     
$i++;                  // Wert wird um 1 erhoeht
   } 
while ($i <= 10);
?>

Als Ergebnis erhalten Sie die Ausgabe 11 und die Schleife bricht ab, da die Bedingung am Ende der Schleife erfüllt ist.

Da die Abfragen erst am Ende kommt, wird die Schleife mindestens einmal durchlaufen.



do ... while Schleifen können auch mittendrin unterbrochen werden, wenn Bedingungen erfüllt sind. Dazu gibt es den break-Befehl.

Unser Bespiel von oben wird erweitert:

do-while-Schleife mit Abbruch-Bedingung


<?php
$i = 11;do{ if ( $i > 10 ) { echo "i ist bereits groesser als 10"; break; } echo $i; // es wird $i ausgegeben echo ""; $i++; // Wert wird um 1 erhoeht} while ($i <= 10);?>



Ausgabe: i ist bereits größer als 10


Derselbe Vorgang als for-Schleife



<?phpfor ($i = 1;$i <= 10; $i++){echo $i . "";}?>

Ausgabe:

1
2
3
4
5
6
7
8
9
10
Auch bei der for-Schleife gibt es die Möglichkeit, die Schleife abzubrechen.

Möglichkeiten und Grenzen von PHP


Hinter zahlreichen Anwendungen im Internet steckt PHP. Sehen Sie in der URL im Browser ein .php - da steckt eine PHP-Anwendung.
Für einen ersten Eindruck eine kleine (und unvollständige) Aufzählung unterschiedlicher PHP-Anwendungen:
  • Besucherzähler
  • Gästebücher
  • Diskussionsforen
  • Bilderdienste
  • Umfragen
  • Formulare mit Verarbeitung von Kontaktdaten
  • Chats
  • Wikis
  • Blogs (z. B. WordPress)
  • und vieles mehr ...

Wo PHP dahintersteckt, muss es nicht unbedingt sichtbar sein

PHP muss nicht unbedingt als Dateiendung .php auftauchen, aber trotzdem kann es im Hintergrund seine Arbeit verrichten. Das Content-Management-System (CMS) mit dem Namen TYPO3 z. B. ist ein PHP-Programm. Oft sieht man damit erstellte Internetauftritte, die ihre Einzelseiten mit „index.php?id=x“ haben. Das ist aus verschiedenen Gesichtspunkten her schlecht. Insbesondere ist somit für Suchmaschinen ersichtlich, dass es sich nicht um eine statische Seite handelt und deshalb u. U. nicht mit einer dauerhaften Information gerechnet werden kann.
Dagegen gibt es sehr gute technische Umsetzung von PHP-Typo3-Seiten - da kann man außer dem kleinen Hinweis im Quellcode „“ nichts finden, das zeigt, dass hier TYPO3 verwendet wurde. So sollte das auch sein.
Es gibt drei Hauptgebiete, in denen PHP-Skripte genutzt werden.
  • Serverseitige Programmierung. Dies ist das traditionelle und auch Hauptfeld von PHP. Sie benötigen drei Dinge, um damit arbeiten zu können: Den PHP-Parser (CGI oder Server-Modul), einen Webserver und einen Webbrowser. Sie müssen einen Webserver laufen lassen, der mit einer PHP-Installation verbunden ist. Sie können auf die Ausgabe Ihres PHP-Programms mittels eines Webbrowsers zugreifen, der die Seite mithilfe des Servers darstellt. Dieses gesamte Szenario können Sie auf Ihrem heimischen Rechner laufen lassen, wenn Sie erst einmal mit PHP-Programmierung experimentieren wollen. 
  • Kommandozeilenprogrammierung. Es ist auch möglich PHP-Skripte schreiben, die ohne einen Server oder Browser arbeiten können. Sie benötigen dafür nur den PHP-Parser. Die Art der Nutzung ist ideal für Programme, die regelmäßig mitels cron (auf *nix oder Linux) oder dem Task Scheduler (unter Windows) ausgeführt werden. Die Skripte können außerdem verwendet werden, um einfache Textprozessierung auszuführen. 
  • Schreiben von Desktop-Applikationen. PHP ist wahrscheinlich nicht die allerbeste Sprache, um Desktop-Anwendungen mit grafischer Oberfläche zu schreiben, aber wenn Sie PHP sehr gut kennen und einige weiterführende PHP-Features in Ihren clientseitigen Applikationen nutzen möchten, können Sie PHP-GTK nutzen, um derartige Programme zu schreiben. Auf diese Art haben Sie auch die Möglichkeit, plattformübergreifende Applikationen zu schreiben. PHP-GTK ist eine Erweiterung von PHP, die in der Hauptdistribution nicht enthalten ist. 
PHP kann auf allen gängigen Betriebssystemen verwendet werden, inkl. Linux, vielen Unix-Varianten (inkl. HP-UX, Solaris und OpenBSD), Microsoft Windows, Mac OS X, RISC OS, und wahrscheinlich anderen. PHP unterstützt auch die meisten der heute gebräuchlichen Webserver. Dies umfasst Apache, Microsoft Internet Information Server, Personal Web Server, Netscape- und iPlanet-Server, Oreilly Website Pro-Server, Caudium, Xitami, OmniHTTPd und viele andere. Für den Großteil der Server bietet PHP ein eigenes Modul, für die anderen, die den CGI-Standard unterstützen, kann PHP als CGI-Prozessor arbeiten.
So haben Sie die Freiheit, PHP auf dem Betriebssystem und dem Webserver Ihrer Wahl laufen zu lassen. Weiterhin können Sie je nach Vorliebe prozedural oder objektorientiert programmieren oder eine Mischung aus beidem verwenden. Auch wenn in PHP 4 noch nicht jedes Standard-OOP-Feature implementiert ist, sind viele Codebibliotheken und große Applikationen (unter anderem die PEAR-Bibliothek) bereits ausschließlich objektorientiert programmiert. Mit PHP 5 werden die objektorientierten Schwächen von PHP 4 behoben und ein vollständiges Objektmodell eingeführt.
Mit PHP sind Sie nicht auf die Ausgabe von HTML beschränkt. Seine Fähigkeiten umfassen auch das dynamische Generieren von Bildern, PDF-Dateien und Flashanimationen (mittels libswf und Ming). Sie können auch leicht jede Art von Text, wie XHTML oder irgendeine andere XML Datei, ausgeben. PHP kann diese Dateien automatisch generieren und im Dateisystem speichern anstatt diese nur auszugeben. Auf diese Weise lässt sich ein serverseitiger Cache Ihrer dynamischen Inhalte erstellen.
Vielleicht die größte und bemerkenswerteste Stärke von PHP ist seine Unterstützung für eine breite Masse von Datenbanken. Eine datenbankgestützte Website zu erstellen ist unglaublich einfach. Die folgenden Datenbanken werden zur Zeit unterstützt:
  • Adabas D
  • dBase
  • Empress
  • FilePro (nur Lesezugriff)
  • Hyperwave
  • IBM DB2
  • Informix
  • Ingres
  • InterBase
  • FrontBase
  • mSQL
  • Direct MS-SQL
  • MySQL
  • ODBC
  • Oracle (OCI7 und OCI8)
  • Ovrimos
  • PostgreSQL
  • Solid
  • SQLite
  • Sybase
  • Velocis
  • Unix dbm
Wir haben auch eine Extension zur Datenbankabstraktion (names PDO), welche Ihnen die transparente Verwendung irgendeiner von dieser Erweiterung unterstützten Datenbank erlaubt. Desweiteren unterstützt PHP ODBC, den Open Database Connection Standard, mit welchem Sie sich mit jeder anderen Datenbank verbinden können, die diesen weltweiten Standard unterstützt.
PHP unterstützt auch die Kommunikation mit anderen Services, welche Protokolle wie LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (auf Windows) und unzählige andere unterstützen. Sie können auch einfache Netzwerk-Sockets öffnen und unter Verwendung irgendeines anderen Protokolls kommunizieren. PHP unterstützt auch WDDX (Web Distributed Data Exchange) zum Austausch komplexer Daten zwischen Programmiersprachen. Da wir gerade vom Zusammenwirken sprechen: PHP unterstützt auch die Instantiierung von Java-Objekten und deren transparente Verwendung als PHP-Objekte. Sie können auch unsere CORBA-Erweiterung verwenden, um auf entfernte Objekte zuzugreifen.
PHP verfügt über äußerst hilfreiche Textverarbeitungsfunktionen, von den regulären Ausdrücken (POSIX erweitert oder Perl) bis zum Parsen von XML-Dokumenten. Für den Zugriff und das Parsen von XML-Dokumenten unterstützt PHP 4 die Standards SAX und DOM. Sie können außerdem die XSLT-Extension verwenden, um XML-Dokumente zu transformieren. PHP 5 vereinheitlicht all diese XML-Extensions auf der soliden Basis der libxml2-Bibliothek und erweitert diese Funktionalität durch die hinzugefügte Unterstützung von SimpleXML and XMLReader.
Es gibt noch viele andere interessante Erweiterungen, wie mnoGoSearch für Suchmaschinen, die IRC-Gateway-Funktionen, viele Komprimierungswerkzeuge (gzip, bz2, zip), Kalenderumrechnung, Übersetzung uws.

Grenzen von PHP

Auch PHP hat seine Grenzen - z. B. werden keine grafiklastigen Actionspiele wie "Lara Croft" mit PHP entwickelt - dafür gibt es andere Programmiersprachen.
PHP läuft i.d.R. im Produktivbetrieb (d. h. wenn man es professionell will und keine Probleme haben möchte) auf einem Apache Server.
PHP lernen kann aber problemlos auf einem Windows oder Mac-System erfolgen. Die entsprechenden notwendigen Programme werde im Kapitel 4 vorstellen.

Werkzeuge um mit PHP zu arbeiten


Folgende Dinge (neben der eigenen Motivation) sind nötig, um mit PHPH zu können:
  • PHP
  • Webserver (i.d.R. Apache)
  • Text-Editor, um den Quellcode zu erfassen
  • FTP-Programm für das Übertragen zum Webserver
Falls man noch keinen Server auf dem eigenen Rechner hat, dann lädt man die Datei einfach auf einen Testbereich in seinem Webspace vom Webhoster hoch und führt sie dort aus.
Es empfiehlt sich einen Texteditor zu verwenden, der auch einen Syntaxchecker hat wie gPHPedit um nicht ständig Abstürze zu bekommen, nur weil eine Kleinigkeit fehlt. PHP sendet dann oft keine Fehlermeldung sondern zeigt nur einen leeren Bildschirm an.
Neben gPHPedit, das es unter Linux kostenlos gibt, gibt es noch folgende Editoren:

Editor vom Betriebssystem

Für die absoluten Puristen (oder für den Notfall) geht der im Betriebssystem mitgelieferte Editor.
Beim Editor von Windows müssen Sie beim Speichern darauf achten, dass Sie den Dateinamen "irgendwas.php" in Anführungszeichen schreiben. Sonst ergänzt der Editor den Dateinamen um ein .txt und die fertige Datei heißt dann "irgendwas.php.txt" und wird vom Webserver nicht als PHP-Datei erkannt!

Scriptly

Sehr zu empfehlen ist der kostenlose Editor Scriptly von Webocton, der laufend weiterentwickelt wird. Eine Anleitung zur Konfiguration von Scriptly zum bequemen PHP-Programmieren ist hier vorhanden. Die aktuelle Version von Scriptly können Sie unter www.scriptly.de herunterladen.
Für mehr Komfort gibt es Editoren, die den Quellcode automatisch farbig anzeigen (was eine schnelle Orientierung ermöglicht) und z. B. Codeergänzungen vorschlagen.

Weaverslave

Den Editor Weaverslave finden Sie unter www.weaverslave.ws/ - letzte Version ist vom Dezember 2005.

Zend Studio

Ein sehr gutes Produkt kommt aus dem Haus Zend (Entwickler von PHP) mit dem Zend Studio. Dieses läuft auf verschiedenen Betriebssystemen, da es mit Java programmiert wurde.
Das Ganze hat auch seinen Preis - mehr Informationen und eine Testversion finden Sie unter: www.zend.com/de/

Verzeichnis auslesen in php

Je nach Aufgabenstellung ist es praktisch, den Inhalt eines Verzeichnisses auszulesen.

Dazu geht man folgenden Weg

Das gewünschte Verzeichnis wird in einer Variablen hinterlegt, im folgenden Beispiel in der Variable $verzeichnis

Dann wird überprüft, ob es sich wirklich um ein Verzeichnis handelt.

Ist es ein Verzeichnis wird über opendir ein Handle erstellt, mit dem dann weiter gearbeitet wird.

Jetzt wird das Verzeichnis mit readdir in einer while-Schleife durchlaufen, bis das Verzeichnisende erreicht ist.

Wir erhalten von der Funktion ein false als Rückgabewert und beenden die while-Schleife.

Innerhalb der Schleife können wir nun mit der Funktion filetype testen, ob es sich um eine Datei (file) oder um ein Unterverzeichnis (dir) handelt.

Im Beispiel wird der Inhalt des aktuellen Verzeichnisses ausgegeben.

PHP-Quellcode: 

Verzeichnis einlesen mit PHP

<?php
$verzeichnis = "."; // Der Punkt steht für das Verzeichnis in dem das php Skript ist
echo "<ol>";

if ( is_dir ( $verzeichnis )) // Text, ob ein Verzeichnis angegeben wurde
{
    
    if ( $handle = opendir($verzeichnis) ) // öffnen des Verzeichnisses
    {
        
        while (($file = readdir($handle)) !== false) // einlesen der Verzeichnisses
        {
            echo "<li>Dateiname: ";
            echo $file;
 
            echo "<ul><li>Dateityp: ";
            echo filetype( $file );
            echo "</li></ul>\n";
        }
        closedir($handle);
    }
}
echo "</ol>";
?>

Interessant wird die Weiterverarbeitung der Dateinamen.

Dazu eignen sich besonders Array - siehe das Kapitel Arrays.

Mit diesem Script kann man zum Beispiel eine Bildergallerie anlegen.

Was ist PHP?




PHP (rekursives Akronym für PHP: Hypertext Preprocessor) ist eine weit verbreitete und für den allgemeinen Gebrauch bestimmte Open Source-Skriptsprache, welche speziell für die Webprogrammierung geeignet ist und in HTML eingebettet werden kann.

Anstatt ein Programm mit vielen Anweisungen zur Ausgabe von HTML zu schreiben, schreibt man etwas HTML und bettet einige Anweisungen ein, die irgendetwas tun (wie hier "Hallo, ich bin ein PHP-Skript!" auszugeben).

<?php 
echo "<p>Hallo,  ich bin ein PHP Script</p>";
?>

Der PHP-Code steht zwischen speziellen Anfangzeichen <?php  und Abschluss-Verarbeitungsinstruktionen und ?>, mit denen man in den "PHP-Modus" und zurück wechseln kann.

Die einzigste Vorraussetzung um HTML und PHP zu mischen ist, die Datei nicht mit der Endung .hmtl sondern mit .php abzuspeichern.

PHP unterscheidet sich von clientseitigen Sprachen wie Javascript dadurch, dass der Code auf dem Server ausgeführt wird und dort HTML-Ausgaben generiert, die an den Client gesendet werden.

Der Client erhält also nur das Ergebnis der Skriptausführung, ohne dass es möglich ist herauszufinden, wie der eigentliche Code aussieht.

Sie können Ihren Webserver auch anweisen, alle Ihre HTML-Dateien mit PHP zu parsen, dann kann kein Bösewicht ihren Code ohne weiteres kopieren.

Das Beste an der Verwendung von PHP ist, dass es für Neueinsteiger extrem einfach ist, aber auch einen riesigen Funktionsumfang für den professionellen Programmierer bietet.

Sie können einsteigen, und binnen weniger Stunden bereits mit dem Schreiben von einfachen Skripten beginnen.

Ich nehme sehr viel php her. Wenn ich eine Webseite erstelle, dann benutze ich php dafür, die html-Dateien zusammenzubinden.

Das heißt, ich programmiere einen Kopf, einen Inhaltsteil und einen Fussteil in php und binde die entsprechenden html-Dateien mit einem include Befehl ein.

Das hat den Vorteil, dass ich den Rahmen der Seite fertig programmiert habe und nicht ständig darin herumwurschteln muss und Änderungen sehr schnell vornehmen kann.

Außderdem lädt der Webbrowser nicht ständig die komplette Seite neu, was dazu führt, dass meine Seite ruhiger wirkt und der Besucher sich so wohler fühlt.

Die ganzen Remote-Systeme wie Wordpress und Dolibarr  sind auf diese Art programmiert.

Schaut mal rein, da ist überall php Code der mit HTML gemischt wird.

Wie läuft PHP

PHP ist eine Scriptsprache, die ihre Heimat i.d.R. auf einem Webserver hat. Wird nun eine Internetseite aufgerufen, die ein PHP-Programm darstellt, wird das PHP-Programm auf dem Server ausgeführt und der Besucher erhält nur die Ausgabe (meistens HTML) zurück.

Dadurch ist die Ausführung der PHP-Programm eine sehr gute Sache, da diese nicht abhängig vom Computer des Surfers ist (im Gegensatz zu JavaScript, das auf dem Computer des Surfers aufgeführt wird).

PHP wird geparst

PHP-Programme werden im Klartext erfasst (also kann jeder beliebige Text-Editor eingesetzt werden). Erst der Server setzt diesen Klartext dann ein Programm um und führt es aus (korrekt spricht man von parsen).

Ablauf einer Entwicklung

1. Schritt: Zuhause (oder in Ihrer Firma) entwickeln Sie ein PHP-Programm
Dort benötigen Sie als Minimalausstattung einen Computer, auf dem ein Webserver (Apache) mit PHP läuft. Es wird empfohlen einen speziellen php-Editor zu benutzen, der auch einen Syntaxchecker hat, wie gphpedit

2. Schritt: die fertige Anwendung wird auf den Webserver bei einem Hoster übertragen, der Ihren Programm auf einem Webserver einen Platz bietet.


3. Schritt: Über das Internet haben alle (wenn gewünscht) Zugriff auf Ihre Anwendung.

Suchmaschinenoptimierung

  Was versteht man unter Suchmaschinenoptimierung (SEO)   Mit dem Begriff Suchmaschinenoptimierung werden alle Aktivitäten bezeichnen, die...