Problem mit include()

SoulReaper

Grünschnabel
Hallo zusammen.

Nachdem ich jetzt einige Zeit im Forum und etlichen Dokumentationen gestöbert hab aber leider nichts brauchbares gesehen hab, muss ich die Frage stellen:

Gibt es eine Möglichkeit im

include()

einen variablen Pfad zu übergeben ?

Sprich z.B.:
PHP:
$path = 'dir/file.php?var='.$var.'';
include ($path);
oder alternativ, was mir besser gefallen würde:
PHP:
include ('dir/file.php?var='.$var.'');
 
Brauchst du nicht, denn dir stehen in der inkludierten Datei alle Variablen zur Verfügung, die du vorher definiert hast, also:

PHP:
$foo = 'bar';

// $foo ist in foo.inc.php verfügbar
include 'foo.inc.php';
 
Das ist klar, aber mein problem bezieht sich auf einen variablen Pfad.
Dynamik ist das zauberwort.

Sprich ich hab ein file mit mehreren Funktionen die wieder auf bestimmte Dateien zugreifen.

Welche Dateien das sind wird per $_GET Variable an das file übergeben.

Je nach Auswahl wird entschieden welcher Dateibaum benutzt wird.

Daher muss ich die gewählte $var in das include übernehmen.

z.B.:
PHP:
$var = 'links' // wurde vorher durch eine Auswahl per $_GET übergeben
include ('index.php?area='.$var.'');
soll bewirken das der link index.php?area=links included wird.
Aber das funktioniert leider nicht.
 
Es wird doch in jedem Fall die index.php inkludiert. In dieser prüfst du ja dann mittels IF oder SWITCH oder wie auch immer, wie es weiter gehen soll. Ob die Variable jetzt per GET übergeben wird oder nicht spielt doch gar keine Rolle…

PHP:
$area = 'links';

include('index.php');

/** index.php **/
switch($area)
{
    case 'links':
        echo 'inkludiere weitere Dateien';
        break;
    default:
        echo 'Whops…';
        break;
}
 
Hi,

z.B.:
PHP:
$var = 'links' // wurde vorher durch eine Auswahl per $_GET übergeben
include ('index.php?area='.$var.'');
soll bewirken das der link index.php?area=links included wird.
Aber das funktioniert leider nicht.

wie auch. Du versuchst, eine lokale Datei zu inkludieren. Ich behaupte mal, eine Datei namens "index.php?area=links" existiert nicht.
Auch wenn sich mir der Sinn hinter einem solchen Aufbau genauso wenig erschließt, wie mAu, Du findest alle Antworten in der Dokumentation von [phpf]include[/phpf]

LG
 
$_GET, $_POST und aehnliche Arrays sind, genauso wie im aufrufenden Script deklarierte Variablen, auch im includeten Script verfuegbar. Entsprechend entfaellt meiner Meinung nach die Notwendigkeit eine solche Information ueber include() mitzugeben.

Uebrigens, dieser String:
Code:
'index.php?area='.$var.''
braucht nicht mittels .'' abgeschlossen werden und kann somit schlichtweg so aussehen:
Code:
'index.php?area='.$var
 
Danke, jetzt hats gefunkt :)
Es funktioniert ohne IF oder SWITCH indem ich die variablen vorher definiert hab.
Die ganze Zeit mit Tomaten auf den Augen probiert...

Egal, danke euch :)
 
Zurück