在 PHP 中獲取當前指令碼檔名

Shraddha Paghdar 2021年11月29日
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