[英]Store last folder name in path to a variable in PHP
我有一個php腳本調用“ functions.php”,它本身和放置在其他文件夾中的其他腳本都執行。 因此,我在嘗試包含數據庫文件的代碼中遇到了問題。 起初,我想到了一個快速的懶惰工作。 我要腳本兩次詢問相同的文件,如下所示:
include('../database_file.php');
include('../../database_file.php');
但是,這不是一個好的解決方案。 每次都會發出警告,因為它無法加載其中一個文件。 因此,我決定制作一個Switch語句,以讀取functions.php文件是被自身調用還是從其他位置調用,然后從正確的路徑包含文件。 (如果有更好的解決方法,請告訴。)
我使用以下代碼讀取當前路徑,因此我可以創建一個IF語句來確定應從何處加載數據庫文件。
realpath(dirname(__FILE__));
這將返回類似於以下的路徑:
/ var / www / website / public
如何僅將最后一個文件夾存儲在變量的路徑中/刪除最后一個/之前的所有內容?
使用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.