PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Name der "eigenen" PHP-Datei auslesen


Marl
06.02.2010, 15:26:29
Hallo,
ich habe eine hoffentlich nicht zu ungewöhnliche Frage bzw. folgende Situation:
Es wird eine PHP-Datei aufgerufen (nennen wir sie mal ABC.PHP). Bei Abarbeitung des PHP-Codes in dieser Datei soll nun eine Variable mit dem Namen dieser Datei (in diesem Fall ABC.PHP) gefüllt werden. Ist sowas irgendwie möglich?
Ich weiß, das klingt sehr ungewöhnlich, ist in meinem Fall anscheinend aber die einzige Möglichkeit, daß ich weiterkomme...

THX, Marl

vt1816
06.02.2010, 16:05:23
Dein Handbuch heute außer Haus?

echo __FILE__;

Marl
06.02.2010, 16:13:37
Dank dir und Sorry, aber ich habe das Handbuch durchsucht, aber ich wußte nicht so recht, nach welchen Kriterien ich suchen sollte...

THX, Marl

cortex
06.02.2010, 19:34:18
Ich weiß, das klingt sehr ungewöhnlich

nein, tut's nicht... ergänzend zu den anderen vorschlägen:

$_SERVER[ 'SCRIPT_NAME' ]

oder

$_SERVER[ 'SCRIPT_FILENAME' ]

quelle: $_SERVER (http://www.php.net/manual/de/reserved.variables.server.php)

cx

Marl
07.02.2010, 08:40:09
Ich danke euch sehr. Ich trau mich fast garnicht zu fragen, aber seit gestern experimentiere ich nun damit rum, nur den Dateinamen rauszubekommen - also ohne vorherige Pfadangaben. Es sollte nur der Dateiname rauskommen, unabhängig davon, wieviele Unterverzeichnisse vorhanden sind.
substr() ist ungeeignet, weil man immer nur eine ganz bestimmte Anzahl an Zeichen entfernen kann. explode() mit "/" als Separator geht auch nicht so ganz, weil so die Anzahl der Unterverzeichnisse bekannt sein muß.

Big THX, Marl

Oskar
07.02.2010, 08:48:33
$script=$_SERVER['SCRIPT_NAME'];

Marl
07.02.2010, 09:05:17
@Oskar
Schon versucht - auch $_SERVER['SCRIPT_NAME']; gibt den Namen der Datei nur mit vorangestelltem Ordnernamen aus, wenn die Datei in einem Unterverzeichnis des Servers ausgeführt wird.
Es ist praktisch nicht bekannt, wieviele Verzeichnisebenen es "darüber" gibt und dadurch auch nicht, wieviele Zeichen es sind, die entfernt werden müssen. Es ist nicht einmal bekannt, aus wievielen Zeichen der Dateiname der PHP-Datei selber besteht.

Gibt es eventuell einen Befehl, der alles vom Anfang des Ausgabestrings entfernt bis zum letzten "/" (danach käme ja der gesuchte Dateiname)?

THX, Marl

DokuLeseHemmung
07.02.2010, 10:12:03
basename()

Marl
07.02.2010, 10:40:14
basename()
Jaaaa - das isses - danke sehr :-)
Ich hatte zwar inzwischen auch ne Lösung mittels strrchr() und ltrim() gefunden, die so aussah
ltrim(strrchr ($_SERVER['SCRIPT_NAME'], "/"), "/");
aber basename() ist die absolute Erfüllung - nochmals danke...

Gruß, Marl