Level: mittel

Ziel dieser Aufgabe ist es, mit dem Dateisystem arbeiten zu lernen, ganz nebenbei erstellst Du Dir jedoch ein nützliches Tool, um Codebeispiele zu sammeln. Die Vorlage enthält bereits HTML und CSS. Mit dem Formular kannst du dir Codebeispiele erstellen, die dann als Dateien in einem Ordner erstellt und wieder eingelesen werden sollen. Wenn du dir eine Sammlung erstellt hast, kannst du diese ausdrucken. Dabei wird das Formular versteckt, so dass du nur deine Beispiele als "Cheatsheet" ausgedruckt werden – viel Spass!

Vorbereitung

  1. Lade dir die Vorlage herunter und entpacke sie in einen lokalen Testserver. 
  2. Lege dann einen Ordner an, und gebe dessen Namen in der Variable am Anfang der Skript-Datei vorlage.php ein

 

Aufgabe

  1. erstelle zuerst eine Abfrage für die validierung - alle Felder sollen ausgefüllt sein (Pflichtfelder)
  2. Wenn dies der Fall ist, bereite eine Variable vor mit dem Datei-Inhalt als String (HTML Elemente <desc> und <pre>)
  3. Bereite eine weitere Variable vor für den Dateinamen, so dass er in diesem Format erscheint (wobei der erste Teil ein Timestamp sein soll, und der zweite aus dem Titel generiert werden soll)
    1525858109_mail-versenden.html
  4. Nutze nun die Funktionen fopen(), fwrite() und fclose(), um den Dateiinhalt in eine neue Datei mit dem generierten Namen zu schreiben. Speichere diese in den Anfangs erstellten Ordner.
  5. als zweite Aufgabe, nutze nun opendir() und readdir(), um die Einträge aus dem eben erstellten Ordner zu lesen. Du wirst eine WHILE Schleife dazu benötigen.
  6. Stelle sicher, dass nur mit den Dateinamen gearbeitet wird, die .html als Endung haben. Ziel ist nun, eine Output-Variable zu generieren, die dann im HTML ausgegeben werden kann.
  7. In der WHILE Schleife, extrahiere nun aus dem Dateinamen den Timestamp und den Titel, und bereite die entsprechenden HTML-Elemente (<h2> und <date>) 
  8. Nutze nun in der WHILE Schleife fopen(), fread() und fclose() für das einlesen der Datei. Bereite so auch den Datei-Inhalt vor
  9. Gebe nun die Output-Variable, die du in Punkt 6-8 zusammengebaut hast, oberhalb des DIV mit dem Formular aus.

 

Screenshot:

cheatsheet screenshot