variablen in switch funktion!?

freakcx

Erfahrenes Mitglied
Hallo,

Bin newbe deswegen bitte nicht tod hauen :rolleyes:

Also habe folgendes Problem: Habe eine Index.php in die ich eine content.php einbinde die folgenden Code beinhaltet(der Code ruft eine weitere "gallery.php" auf die dann die eigentliche Bildergallery beinhaltet besser gesagt ruft die switch funktion unten auf damit sie includet wird):

PHP:
        $path = "images/gallery/";
	$handle = opendir($path);
	while($file = readdir($handle))
  	{
    	if($file != "." && $file != ".." && $file != "content.php")
    	{
      	$files[] = $file;
    	}
  	}

  sort($files);

	foreach($files as $name)
  	{
		echo "				
					<a href=\"index.php?action=".$name."\">".$name."</a><br>
			 ";					
	}
///images/gallery/".$name."/gallery.php\
	closedir($handle);

in der index.php habe ich meinen code angepasst der so aussieht:

PHP:
$path = "images/gallery/";

switch($action)
	{
//MAIN NAVI////////////////////////////////////////////////////////

//andere Case

//GALLERY//////////////////////////////////////////////////////////
		case "".$file."": include("".$path."".$file."gallery.php"); break;

///SOURCE//////////////////////////////////////////////////////////

//andere Case

	default: include("news.php"); break;
	}

Ich habe jetzt 2 Tage rum geochst das irgend wie so zu gestalten das ich nicht immer alles anpassen muss sondern nur noch einen Unterordner hochladen in den "gallery" Ordner und das soll am ende alles sein was ich noch machen will. Der Wille hat schon was zusammen gefrickelt aber noch geht das nicht. Bitte um Hilfe!

In der index.php dieser Fehler:

Warning: main(images/gallery/gallery.php): failed to open stream: No such file or directory in /home/htdocs/web6/html/index.php on line 95

Warning: main(): Failed opening 'images/gallery/gallery.php' for inclusion (include_path='.:') in /home/htdocs/web6/html/index.php on line 95

Also bekommt er die Variablen wohl nicht früh genug, nur wie mache ich das jetzt :(
 
Zuletzt bearbeitet:
Ich habe noch nicht so richtig verstanden was du machgen willst. Und aus deinem Code werde ich auch nicht richtig schlau.

case "".$file."": include("".$path."".$file."gallery.php");

so ist besser

case $file: include ($path . $file . 'gallery.php');

Kannst du mir mal sagen welchen Wert $file hier hat.

Warning: main(): Failed opening 'images/gallery/gallery.php' for inclusion (include_path='.:') in /home/htdocs/web6/html/index.php on line 95

Und diese Meldung sagt das es die Datei 'images/gallery/gallery.php' nicht gibt.

Mfg Akkie
 
Hier zur verdeutlichung:

Index.php
inlude -> content.php //welches die Aufgabe hat einzelne Ordner auszulesen die jeweils eine "gallery.php" enthalten.

root
enthält ->
index.php

root/dir1/dir2/
enthält ->
content.php

root/dir1/dir2/dir3_1
enthält ->
gallery.php

root/dir1/dir2/dir3_2
enthält ->
gallery.php

root/dir1/dir2/dir3_3
enthält ->
gallery.php

root/dir1/dir2/dir3_4
enthält ->
gallery.php

ect....

EDIT:
$file enthält immer den namen des ordners den content ausließt z.B dir3_4
 
achja der Fehler ist mir klar, diese Datei exestiert ja auch ein Ordner tiefer. Da die Variable nicht eingelesen wird fehlt ja der Ordner der zwischen $path --> $file <-- 'gallery.php' rein kommt, im Grunder könnte die Variable auch $dir heissen...
 
Sorry für Doppelpost aber ich komm echt nicht weiter, wäre für ein Paar Tipps sehr dankbar. Vorallem wegen der switch funktion.
 
Zurück