提取 php 应用程序的主目录名称

Extract main directory name of php application

I would like to get only the application name of my project, For example my application name(Directory Name) is : MERP The path of the application is: C:/xampp/htdocs/MERP So I need to get only the name MERP.

There is another way storing application name inside a config file using define syntax and include in all the files, but my scenario is stuck with this step only.

您好,您可以使用它来获取 MERP 词典名称,只需下面的 php 代码

basename(__DIR__);

如果你想获取和输出你可以在代码前使用echo

如果您在 parent 中有多个词典,请使用此代码:

<?php


$rootAfter = $_SERVER['REQUEST_URI'];
$dir_array = parse_url($rootAfter);
preg_match('@/(?<path>[^/]+)@', $dir_array['path'], $x);
$folderName = $x['path'];
echo $folderName;


?>

详情请见php.net

对于文档根目录下的 Php 个文件:

你可以试试:

strtok(str_replace(realpath($_SERVER['DOCUMENT_ROOT']), '', __FILE__), DIRECTORY_SEPARATOR);

然而,这仍然很脆弱。我会反对它,更喜欢带有常量声明的 setup/bootstrap 文件,以及常见功能的可能位置。

Php 允许在脚本之前应用公共文件,请参阅 auto_prepend_file 指令。如果您想超越几个常量并保存单个文件中的 require 行,这可能很有用。

如果您只需要少数常量,请考虑环境变量。

对于这种工作,我通常使用 getcvd() ,例如,apache vhost 指向 public/index,它将 return full/path/to/merp/public 。 从这个值开始,您可以使用 dirname

如果您不使用“public”目录,getcvd 就足够了。