tdillens: dynamisches SWITCH/include mit readdir

Hallo,

ich möchte gerne mir etwas Arbeit ersparen und eine kleine Seite bauen, wo ich einfach in einen Ordner Dateien werfen kann, die dann per switch included werden, wenn man auf einen Link klickt, der mithilfe von readdir erstellt wird.

Ich hoffe das war jetzt halbwegs verständlich. Ich habe also ein Menü, welches Dynamisch aus Dateien erstellt wird, die in dem (aktuellen) Ordner liegen (werden per readdir) ausgelesen.

Jetzt möchte ich, dass bei Aufruf der Datei diese included wird.

so in der Art, aber die switch Syntax ist wohl falsch:

  
<?php  
  
if ($handle = opendir('.')) {  
    while (false !== ($file = readdir($handle))) {  
        if ($file != "." && $file != "..") {  
			$ausgeben = $file;  
		}  
    }  
    closedir($handle);  
	  
}  
  
switch (htmlspecialchars ($_GET['news']) {  
for($i = 0; $i < count($ausgeben); ++$i)  
{  
case $ausgeben: include $ausgeben;  
break;  
}  
default:  
	include 'index.html';  
break;}  
?>  

Wie kann ich sowas hinkriegen?

Danke schonmal

  1. so in der Art, aber die switch Syntax ist wohl falsch:

    Ich versteh nich ganz, wozu du diese absurdität mit der for-Schleife einbaust:

    Pseudocode:
    switch post(seite)
      case impressum
        require impressum
      case ueber_mich
        require ueber_mich
      default
         startseite

    sollte doch reichen

  2. Hi,

    Ich habe also ein Menü, welches Dynamisch aus Dateien erstellt wird, die in dem (aktuellen) Ordner liegen (werden per readdir) ausgelesen.

    Jetzt möchte ich, dass bei Aufruf der Datei diese included wird.

    so in der Art, aber die switch Syntax ist wohl falsch:

    Nein, die ist sogar hochgradig blödsinnig.

    Was willst du denn überhaupt mit einem switch-Statement an der Stelle?
    Du hast einen Dateinamen als Parameter übergeben bekommen - also mache die erforderlichen Prüfungen (existiert eine solche Datei, liegt sie im aktuellen Verzeichnis, ...) - und dann binde sie halt mittels readdir ein, wenn OK.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.