将最后一个文件夹名称存储到PHP中的一个变量中


Store last folder name in path to a variable in PHP

我有一个php脚本调用"functions.php",它由自己和其他脚本放在其他文件夹中执行。因此,我在试图包含数据库文件的代码中遇到了一个问题。一开始,我想出了一个快速的方法。我为同一个文件设置了两次脚本请求,如下所示:

include('../database_file.php');
include('../../database_file.php'); 

然而,这不是一个好的解决方案。它每次都会发出警告,因为它无法加载其中一个文件。因此,我决定制作一个Switch语句,读取函数。php文件是由自己还是从其他地方调用的,然后从正确的路径包含该文件。(如果有更好的解决方法,请告诉我。)

我使用下面的代码来读取当前路径,因此我可以使用IF语句来决定从哪里加载我的数据库文件。

realpath(dirname(__FILE__));

返回如下路径:

/var/www/网站/公共

我怎么能只存储最后一个文件夹的路径到一个变量/删除最后一个/之前的一切?

使用absolute path怎么样?通过这种方式,您将不关心实际的文件夹是什么,文件无论如何都会被加载。例如

include('/var/www/website/public/path_to_file.php');

编辑

既然你说你不能使用absolute path那么你可以在路径变量上使用explode函数所以它变成了一个数组,现在很容易得到数组的最后一个条目也就是你的最后一个文件夹,并将其存储在变量

$path = realpath(dirname(__FILE__));
$folder_array = explode('/', $path);
$i = count($folder_array) - 1;
$folder = $folder_array[$i];
echo 'Folder is: ' . $folder;

这将输出

Folder is: public