En cualquier archivo PHP o script está disponible la constante __FILE__. Esta es una de las constantes predefinidas de PHP y su valor es igual a la ruta absoluta del archivo dónde se utiliza, incluyendo el nombre y extensión del archivo.

Por tanto, utilizando __FILE__ podemos conocer el archivo PHP actualmente en ejecución. Por ejemplo, imagina que tienes un script PHP localizado en /home/usuario/public_html/application/unscript.php (ruta absoluta en el servidor). Podrías acceder a esta ruta utilizando __FILE__ del siguiente modo:

<?php
// Imprime /home/usuario/public_html/application/unscript.php
echo __FILE__;

Si en lugar de la ruta completa solo quieres el nombre del archivo podrías utilizar basename():

echo basename( __FILE__ );

Es importante tener claro que __FILE__ contiene la ruta del archivo en el que se utiliza la constante, lo que implica que puede ser diferente al script originalmente llamado.

Por ejemplo, imagina que tenemos un script PHP llamado script1, y en este script se incluye otro archivo PHP de nombre script2 donde utilizamos __FILE__. Si ejecutamos el script1 obtendremos la ruta absoluta hacia el script2, pues en este archivo donde hemos accedido al valor de __FILE__.

Supongamos que la ruta hacia el script1 es /home/usuario/public_html/application/script1.php y que tiene este contenido:

<?php
include( 'includes/script2.php' );

Y la ruta del script2 es /home/usuario/public_html/application/includes/script2.php con este contenido:

<?php
// Imprime /home/usuario/public_html/application/includes/script2.php
echo __FILE__;

Si ejecutamos el script1, se imprimirá la ruta hacia el script2, pues, como decíamos, es en script2.php donde se accede a __FILE__ y no en script1.php.

Esto se aplica a cualquier método de inclusión de scripts tales como include, require o su versiones include_once y require_once. Aunque en principio pueda parecer incoherente, si lo piensas no lo es: __FILE__ imprime la ruta del archivo que ese momento se está ejecutando, y eso es exactamente lo que obtenemos.

Si lo que necesitas es saber si un script ha sido incluido por otro, la función get_included_files() puede serte de ayuda. Esta función te devuelve un array con el script originalmente llamado y todos los demás archivos que hayan sido incluidos mediante include, require, include_once o require_once.

Si solo necesitas el script originalmente ejecutado, puedes utilizar $_SERVER['SCRIPT_FILENAME'].