Level: mittel

Aufgabe

  1. Erstelle ein Script mit dem Namen "suche.php", welches Du auf der obersten Ebene all Deiner PHP-Übungen ablegst. Damit kannst Du später alle Deine Übungen nach Dateinamen durchsuchen.
  2. Erstelle eine weitere Datei functions.inc.php und lege diese ebenfalls da ab. Binde sie in suche.php mittels require_once() ein. (Wenn es Dir das zu kompliziert ist, kannst du diesen Schritt auch erst mal überspringen, und die Funktion unter 3 direkt in "suche.php" definieren.)
  3. Erstelle in dieser Datei eine Funktion search_folders(), die einen Parameter $search für das Suchwort und einen weiteren $startfolder bekommt, über diesen man den Startordner mitgeben kann. Die Funktion soll im Falle eines Fundes ein Array mit Dateipfaden zurückgeben. Kommentiere die Funktion entsprechend.
  4. Erzeuge ein Such-Formular mit GET und einem Textfeld für den Suchbegriff
  5. Wenn ein Suchbegriff gesendet wurde (Prüfung nicht vergessen!), soll nun die Funktion search_folders() aufgerufen werden.
  6. Gebe die Resultate - zum Beispiel mit implode() in deinem Script aus.

 

Funktion seach_folders(): 

  1. Erstelle ein array in der Variablen $results
  2. Lese in der Funktion mit WHILE alle Dateinamen aus. 
  3. Schliesse alle aus, die mit einem Punkt beginnen.
  4. Wird der Begriff $search in einem Dateinamen gefunden, soll dessen vollständiger Pfad ins Array $results geschrieben werden.
  5. Gebe die variable $results mit return zurück.
  6. Rekursion: Ist der gefundene Dateiname ein Ordner, speichere den Dateipfad inklusive dem Ordnernamen in eine Variable und rufe die funktion search_folders() mit diesem erneut auf.
  7. Um die Dateinamen aller Ebenen in ein Array zu schreiben, muss nach dem Fund eines Unterordners mit array_merge() das Resultat zu $results hinzugefügt werden