PHP Dateiname von der Datei, die gerade im Browser angezeigt wird, auslesen?

raven16

Lieutenant
Registriert
Nov. 2008
Beiträge
580
Hallo,

ich möchte mein Hauptmenü, je nachdem welche Datei gerade durch dieses geöffnet wurde, dynamisch anpassen. Dazu brauche ich den Namen der Datei, um diese abzufragen.

Problem ist, dass ich nicht weiß wie ich sonst beim Aufruf der index.php den Link "Start" im Hauptmenü markieren soll.
Sonst hatte ich immer einfach in der index.php eine Weiterleitung zur home.php eingrichtet mit argument im Link, dass der das Hauptmenü markiert, wenn man auf der Startseite ist.

Da ich aber in diesem Fall Wordpress benutze, wollte ich die index.php nicht als Weiterleitung nutzen.

Ich hoffe ihr habt schöne Ideen für mich :)
 
Snooty schrieb:
Benutzt du sonst GET-Parameter um andere Inhalte zu laden (index.php?seite=abc)? Dann prüfe bei der "blanken" index.php ob kein Parameter dranhängt.

Das ist ne gute Idee, aber da ich teilweise auch andere Seiten wie impressum.php ohne Parameter aufrufen möchte, ist dies nicht so ideal für mich und könnte Fehler verursachen...

__FILE__ ist hingegen genau das Richtige, was ich suche :)
Da bekomme ich den z.B. in diesem Fall den Pfad /users/raven16/www/wp-content/themes/MyTheme/index.php
Jetzt suche ich gerade nach einer Möglichkeit, das index.php vom Pfad zu extrahieren, damit ich dieses abfragen kann.
Falls jemand das weiß, wäre eine Antwort sehr nett :)
Ich suche gerade aber auch noch nebenbei, vielleicht finde ich es auch selbst :D
 
Drexel schrieb:
http://lmgtfy.com/?q=php+extract+file+from+path

Erster oder zweiter Link. Wahlweise auch den string anhand der "/" splitten und das letzte Teilchen nehmen....

thx habs auch selbst gefunden:
PHP:
$path = pathinfo(__FILE__);
$file = $path['filename'];

Mit $path['basename'] könnte man sich noch die Endung mitgeben lassen
Ergänzung ()

Ich habe da noch ein letztes Problem mit der if-Abfrage und finde meinen Fehler nicht:
PHP:
$path = pathinfo(__FILE__);
$file = $path['basename'];
if($file == 'index.php')
	echo '<a class="mainmenu" href="index.php" style="width:100px;background:#000;">START</a>';
else echo '<a class="mainmenu" href="index.php" style="width:100px;">START</a>';

Wenn die If-Abfrage zutrifft, dann soll der das Hauptmenü schwarz färben und ansonsten so belassen wie es ist.
 
1. Benutze keine Inline Styles.
2. PSR2 beachten: if () { ... } else { ... }
3. Debugging

Wenn du gerade nicht debuggen kannst, dann einfach mitten drin anhalten und Testausgaben generieren.
In deinem Fall einfach gucken was im $file steht.
 
Zurück
Oben