Rolf B: php, "was ist mein Name"

Beitrag lesen

Hallo mathefritz,

mein Name ist - ja - wer bin ich denn?

foo.php:

<?php
include 'bar.php'
echo '<br>';
echo 'foo: Ich bin ' . __FILE__ . '<br>';
echo 'foo: Mein Script heißt - teilweise  : ' . $_SERVER['SCRIPT_NAME'] . '<br>';
echo 'foo: Mein Script heißt - vollständig: ' . $_SERVER['SCRIPT_FILENAME'] . '<br>';

bar.php:

<?php
echo 'bar: Ich bin ' . __FILE__ . '<br>';
echo 'bar: Mein Script heißt - teilweise  : ' . $_SERVER['SCRIPT_NAME'] . '<br>';
echo 'bar: Mein Script heißt - vollständig: ' . $_SERVER['SCRIPT_FILENAME'] . '<br>';

Wenn der Ordner, in dem diese beiden PHPs stecken, /home/web/mathe/fritz heißt, und die URL mathe.example.com auf /home/web/mathe zeigt, dann würde die Ausgabe von http://mathe.example.com/fritz/foo.php so aussehen:

bar: Ich bin /home/web/mathe/fritz/bar.php
bar: Mein Script heißt - teilweise  : /fritz/foo.php
bar: Mein Script heißt - vollständig: /home/web/mathe/fritz/foo.php

foo: Ich bin /home/web/mathe/fritz/foo.php
foo: Mein Script heißt - teilweise  : /fritz/foo.php
foo: Mein Script heißt - vollständig: /home/web/mathe/fritz/foo.php

TL;DR: Willst Du den Pfad der AKTUELLEN Datei, nimm FILE. Willst Du den Namen des Scripts, das der User aufgerufen hat, relativ zum Web-Root, nimm $_SERVER['SCRIPT_NAME']. Willst Du den absoluten Pfad auf dem Server, nimm $_SERVER['SCRIPT_FILENAME'].

Wenn Dich der übrige Inhalt der diversen Superglobals wie $_SERVER interessiert, schreib Dir eine Mini-PHP Datei, die nur die Funktion phpinfo() aufruft. ECHO brauchst Du nicht, das macht die selbst. Dann wirst Du zugeschmissen.

Rolf

--
Dosen sind silbern