2013-04-22 64 views
0

我有一個php腳本,它在Wordpress的範圍之外執行,但是我需要使用一個在wp-config.php中定義的Wordpress常量。我想讓劇本平臺變得堅強。迭代迴文件夾找到wp-config.php

我的腳本是在子文件夾(一個主題),我試圖迭代找到wp-config。我的主題文件應該可以放在不同的文件夾(子文件夾)中!

雖然我無法在while循環中獲得聲明來運行一個單圈,但我不明白爲什麼!我想設定的條件,這樣它會在系統根目錄停止像(C :)

function getWPConfig() { 
    $dir = dirname(__FILE__); 
    $dir = addslashes($dir);  
    while ($pos = strpos($dir, "\\") !== false) { //&& strpos($dir, (string)DIRECTORY_SEPARATOR) > 1 
     $wpConfig = $dir . DIRECTORY_SEPARATOR .'wp-config.php'; 
     if (file_exists($wpConfig)) { 
      echo 'Found wp-config: '. $wpConfig; 
      return $wpConfig; 
     } else { 
      'Could not find: '. $dir . DIRECTORY_SEPARATOR .'wp-config.php'; 
     } 
     $tempDir = explode(DIRECTORY_SEPARATOR, $dir); 
     $end = end($tempDir); 
     $dir = str_replace($end, '', $tempDir); 
    } 
    return; 
} 
+1

你可以使用'目錄名()'向上遍歷目錄樹。比切割你的方式更容易。 – 2013-04-22 08:09:12

回答

1

後@佩卡的建議,而不是我寫了這個功能! :-)

function getWPConfig() { 
    $dir = dirname(__FILE__); 
    $lastDir = __FILE__; 
    while (strlen($dir) < strlen($lastDir)) { 
     $wpConfig = $dir . DIRECTORY_SEPARATOR .'wp-config.php'; 
     if (file_exists($wpConfig)) { 
      return $wpConfig; 
     } 
     $lastDir = $dir; 
     $dir = dirname($dir); 
    } 
    return; 
}