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

时间:2013-05-20 06:28:22

标签: php include

我有一个php脚本调用“functions.php”,它由自身和放在其他文件夹中的其他脚本执行。因此,我在尝试包含数据库文件的代码中遇到问题。起初我想出了一个快速懒惰的工作。我想脚本问两次这样的文件:

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

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

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

realpath(dirname(__FILE__));

返回类似于此的路径:

的/ var / WWW /网站/公共

如何只存储变量路径中的最后一个文件夹/删除最后一个/?

之前的所有内容

1 个答案:

答案 0 :(得分:1)

使用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