在 PHP 中获取当前脚本文件名

Shraddha Paghdar 2024年2月15日
PHP
在 PHP 中获取当前脚本文件名

你的脚本可能需要当前文件名及其当前正在执行的目录名。在本教程文章中,我们将讨论如何获取项目中当前脚本的文件名。

PHP 提供了多种方式来查找当前文件名。首先,我们将简要了解所有参数和方法,然后将它们组合起来得到结果。

  • __FILE__

    PHP 提供了 9 个神奇的常量,根据它们的用途来使用。这些常量是由各种扩展创建的。所有这些常量都在编译时解析。__FILE__ 是这样一个神奇的常量之一,它为你提供当前 .php 文件的文件系统路径。

  • $_SERVER

    $_SERVER 是一个包含有关标题、路径和脚本位置信息的数组。网络服务器创建所有这些信息。

  • PHP_SELF

    PHP_SELF 是一个变量,用于获取当前正在执行的脚本的文件名。它是相对于文档根的。当用户在命令行中运行此命令时,它会打印有关脚本名称的信息。

  • SCRIPT_FILENAME

    这是一个变量,用于获取当前正在执行的脚本的文件名,唯一的区别是它的路径是绝对的。

  • SCRIPT_NAME

    它包含当前脚本的路径。这对于需要指向自身的页面很有用。

  • REQUEST_URI

    URI 用于访问页面的位置,例如,/index.html

现在让我们一起使用上述所有命令来获取文件名。

  1. $_SERVER['SCRIPT_NAME']

    带有文件扩展名的父文件名

  2. $_SERVER['PHP_SELF']

    带有文件扩展名的父文件相对 URL。例如,http://example.com/parentFolder/child.php 将是 /parentFolder/child.php

  3. $_SERVER['SCRIPT_FILENAME']

    带有文件扩展名的父文件完整 URL

  4. $_SERVER['REQUEST_URI']

    父文件父文件夹名称与

如果文件的路径作为参数提供给 basename() 函数,则内置的 PHP 函数 basename() 将返回文件的基本名称。

  1. basename(__FILE__):

    带有 PHP 文件扩展名的当前文件名。

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

    没有 PHP 文件扩展名的当前文件名。

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

    没有 PHP 文件扩展名的当前文件名。

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

    带有 PHP 文件扩展名的当前文件名。

  5. pathinfo(__FILE__, PATHINFO_FILENAME):

    没有 PHP 文件扩展名的当前文件名。

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";
?>

输出:

在 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