Markus: Endlosschleife bei include()-Anweisung

Beitrag lesen

Hi,

/*
* Einlesen der Verzeichnis-Einträge im Verzeichnis
* './defaults'
* Das Ergebnis ist ein assoziatives Array der Form
* array( 'filea' => './defaults/filea.irgendwas.php',
*        'fileb' => './defaults/fileb.irgendwas.php',
*        ... );
*/
$data = scan('./defaults');

Was macht diese Funktion?

Die Funktion scan geht ein spezifiziertes Verzeichnis durch und trägt jede php-Datei in dem Verzeichnis in ein assoziatives Array ein, welches dem reinen Namen der Datei (ohne die Endung .irgendwas.php) den Include-Pfad zuordnet.

// Schlüssel aus dem assoz. Array extrahieren:
$keys = array_keys($data);
for ($i = 0; $i < count($keys); $i++) {
   include($data[$keys[$i]]);
}

Das kriegt man auch einfacher hin, mit foreach.

Jupp. Weiss ich, ist auch Absicht.

<?php
   // Jeweils anderer Variablenname pro Datei.
   // Übereinstimmung mit $data im obigen Code-Fragment
   // zufällig - in den eigentlichen Dateien nicht gegeben
   $data = array ( array ( 'a', 'b', 'c', ... ),
                   array ( '1', '2', '3', ... ) );

$data wird schon benutzt - von deinem Einbindungscode oben. Er stört also deine Schleife.

Nein: Siehe Kommentar. Die Variable hat in jeder einzubindenden Datei einen anderen Namen.

Naja...Danke für deine Mühe, aber hoffentlich gibt es noch andere Ideen....

Markus