標籤

二元樹 (1) 字串常數池 (1) 投資 (3) 每月損益 (37) 例外處理 (1) 泛型 (2) 股票 (15) 指標 (5) 英文 (8) 基本資料型別 (1) 期貨 (1) 程式交易 (10) 量化投資 (5) 亂亂寫 (3) 概念 (3) 資料結構 (3) 演算法 (3) 數學 (3) 轉型 (1) AMA (1) ArrayList (1) assert (1) BeautifulSoup (1) C/C++ (8) casting (1) ClassCastException (1) classpath (1) Collection (4) Comparable (1) comparTo() (1) constructor (1) database (3) Debian (1) Dropbox (2) EA (2) enum (1) equals() (2) exception (3) extends (1) ffmpeg (1) final (1) Git (1) HashMap (1) HashSet (1) hasNext() (1) HTS (3) instanceof (1) IS-A (1) Iterator (1) JAVA (43) length (1) Linux (31) List (1) Mac (6) Map (1) ML (2) MT4 (6) MySQL (2) next() (1) NullPointerException (1) Number (1) Numpy (2) OpenCart (1) OpenCV (3) OSX (1) overloading (1) overriding (3) pandas (2) PHP (8) PriorityQueue (1) Python (11) Queue (1) random() (1) reverse() (1) Samba (1) SCJP (21) sqrt() (1) synchronized (1) talib (1) ufw (1) uTorrent (1) var-args (2) VHF (1) vim (2) Yhoo知識+ (4)

2011年10月17日 星期一

111011_PHP_取得目前所在目錄之名稱

取得所在目錄之絕對路徑:
<?php
  echo dirname(__FILE__);
?>

output:
/test/member/superppp


取得所在目錄的再上一層:

<?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__); 
                      
    //取出目前所在目錄的上一層的完整路徑的字串,並用strlen計算字串長度
    $b = strlen(dirname(dirname(__FILE__)));  
  
    //substr(a字串,b整數),把a字串前面b個字元全部拿掉,然後回傳剩下的字串
    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;  
?>

沒有留言:

張貼留言