<?php
echo dirname(__FILE__);
?>
output:
/test/member/superppp
取得所在目錄的再上一層:
<?php
echo dirname(dirname(__FILE__)); //再用dirname包一次原來的dirname就對了
?>
取得所在目錄的再上一層:
<?php
echo dirname(dirname(__FILE__)); //再用dirname包一次原來的dirname就對了
?>
output:
/test/member
取得自己的檔名:
<?php
echo basename(__FILE__);
?>
output:
dirname.php
找了半天都找不到取得目前所在目錄之名稱的函式,只好很笨的自己寫了一個;想法就是先把目前目錄完整路徑取出來,然後再把目前目錄的上一層的完整路徑也取出,再計算後者的字元數,接著利用substr,將完整目錄路徑減去上一層目錄路徑,剩下的就是目前目錄的名稱了;需注意減下來的目錄名稱為"/名稱",有包含斜線"/",若只要名稱的話,字元數要再加1才行。(幹這段有人看懂才怪,我明天來看一定也看不懂)
<?php
function upDirName(){ //目前所在目錄名稱
//取出目前所在目錄的完整路徑的字串
$a = dirname(__FILE__);
$a = dirname(__FILE__);
//取出目前所在目錄的上一層的完整路徑的字串,並用strlen計算字串長度
$b = strlen(dirname(dirname(__FILE__)));
$b = strlen(dirname(dirname(__FILE__)));
//substr(a字串,b整數),把a字串前面b個字元全部拿掉,然後回傳剩下的字串
return substr($a, $b+1);
return substr($a, $b+1);
}
echo upDirName();
?>
"/test/member/superppp" 減去 "/test/member" 的意思啦,就會剩下 "/superppp" 了
20111018更新:
幹我是白吃!原來這樣就好了:
<?php
$BASE_PATH = dirname(__FILE__);
$site_dir = basename($BASE_PATH);
echo $site_dir;
?>
"/test/member/superppp" 減去 "/test/member" 的意思啦,就會剩下 "/superppp" 了
20111018更新:
幹我是白吃!原來這樣就好了:
<?php
$BASE_PATH = dirname(__FILE__);
$site_dir = basename($BASE_PATH);
echo $site_dir;
?>
沒有留言:
張貼留言