Obtener el nombre del archivo actual del script en PHP

Shraddha Paghdar 29 noviembre 2021
PHP
Obtener el nombre del archivo actual del script en PHP

Su script puede necesitar el nombre de archivo actual con el nombre del directorio en el que se está ejecutando actualmente. En este artículo del tutorial, discutiremos cómo obtener el nombre de archivo del script actual dentro del proyecto.

PHP proporciona varias formas de averiguar el nombre del archivo actual. Primero, entenderemos brevemente todos los parámetros y métodos y luego los combinaremos para obtener el resultado.

  • __FILE__:

    PHP proporciona 9 constantes mágicas que se utilizan en función de su uso. Estas constantes son creadas por varias extensiones. Todas estas constantes se resuelven durante el tiempo de compilación. __FILE__ es una de esas constantes mágicas que le da la ruta del sistema de archivos al archivo .php actual.

  • $_SERVER:

    $_SERVER es un array que contiene información sobre encabezados, rutas y ubicaciones de scripts. El servidor web crea toda esta información.

  • PHP_SELF:

    PHP_SELF es una variable que se utiliza para obtener el nombre de archivo del script que se está ejecutando actualmente. Es relativo a la raíz del documento. Cuando el usuario ejecuta este comando en la línea de comandos, imprimirá la información sobre el nombre del script.

  • SCRIPT_FILENAME:

    Esta es una variable que se usa para obtener el nombre de archivo del script que se está ejecutando actualmente, y la única diferencia es que su ruta es absoluta.

  • SCRIPT_NAME:

    Contiene la ruta del script actual. Esto es útil para las páginas que necesitan apuntar a sí mismas.

  • REQUEST_URI:

    El URI se proporcionó para acceder a la ubicación de la página, por ejemplo, /index.html.

Ahora usemos todos los comandos anteriores juntos para obtener el nombre del archivo.

  1. $_SERVER['SCRIPT_NAME']:

    Un nombre de archivo principal con una extensión de archivo

  2. $_SERVER['PHP_SELF']:

    URL relativa al archivo principal con la extensión del archivo. Por ejemplo, http://example.com/parentFolder/child.php sería /parentFolder/child.php.

  3. $_SERVER['SCRIPT_FILENAME']:

    URL completa del archivo principal con una extensión de archivo

  4. $_SERVER['REQUEST_URI']:

    nombre de la carpeta principal del archivo principal con

La función PHP incorporada basename() devuelve el nombre base de un archivo si la ruta del archivo se proporciona como parámetro para la función basename().

  1. basename(__FILE__):

    Nombre de archivo actual con extensión de archivo PHP.

  2. basename(__FILE__, '.php'):

    Nombre de archivo actual sin extensión de archivo PHP.

  3. basename($_SERVER['PHP_SELF'], ".php"):

    Nombre de archivo actual sin extensión de archivo PHP.

  4. basename($_SERVER['PHP_SELF']):

    Nombre de archivo actual con extensión de archivo PHP.

  5. pathinfo(__FILE__, PATHINFO_FILENAME):

    Nombre de archivo actual sin extensión de archivo PHP.

Código de muestra para obtener el nombre del archivo de secuencia de comandos actual en PHP

<?php
echo "\$_SERVER['SCRIPT_NAME']: ";
echo $_SERVER['SCRIPT_NAME'];
echo "\n";

echo "\$_SERVER['PHP_SELF']: ";
echo $_SERVER['PHP_SELF'];
echo "\n";

echo "\$_SERVER['SCRIPT_FILENAME']: ";
echo $_SERVER['SCRIPT_FILENAME'];
echo "\n";

echo "basename(__FILE__): ";
echo basename(__FILE__);
echo "\n";

echo "basename(__FILE__, '.php'): ";
echo basename(__FILE__, '.php');
echo "\n";

echo "basename(\$_SERVER['PHP_SELF'], '.php'): ";
echo basename($_SERVER['PHP_SELF'], '.php');
echo "\n";

echo "basename(\$_SERVER['PHP_SELF']): ";
echo basename($_SERVER['PHP_SELF']);
echo "\n";

echo "pathinfo(__FILE__, PATHINFO_FILENAME): ";
echo pathinfo(__FILE__, PATHINFO_FILENAME);
echo "\n";
?>

Producción:

obtener el nombre del archivo de script actual en PHP

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn