2017-10-17 59 views
0

我有Wordpress安裝在http://example.com和許多其他WordPress目錄安裝(http://example.com/my_dir_X)。 我如何知道PHP在哪個目錄中?如何確定我網站的真實網址?

+1

'http://example.com/my_dir_X '不是一個目錄。這是一個主機名。你需要知道主機或文件所在的實際磁盤目錄嗎? – apokryfos

+3

看看['$ _SERVER ['PATH_INFO']'](http://php.net/manual/en/reserved.variables.server.php) – aynber

+0

'$ _SERVER ['DOCUMENT_ROOT']'也應該這樣做 –

回答

1

只需使用此代碼,它會響應它的前端

<?php echo site_url(); ?> 

或呼應出在儀表板管理欄,你可以嘗試這樣的事情在functions.php的

// add links/menus to the admin bar 
function mytheme_admin_bar_render() { 
global $wp_admin_bar; 
$wp_admin_bar->add_menu(array(
    'parent' => 'new-content', // use 'false' for a root menu, or pass the ID of the parent menu 
    'id' => 'new_media', // link ID, defaults to a sanitized title value 
    'title' => site_url(), // link title 
    'href' => echo site_url(), // name of file 
    'meta' => false // array of any of the following options: array('html' 
=> '', 'class' => '', 'onclick' => '', target => '', title => ''); 
    )); 
} 
add_action('wp_before_admin_bar_render', 'mytheme_admin_bar_render'); 
+0

這隻會在Wordpress中無法使用.. – designtocode

+0

您將無法在您的php代碼中看到它,因爲該數據只會存儲在您的sql文件中。也許你可以在wordpress儀表板中迴應它,但除此之外,它只是檢查你的文件結構的情況。 –

+0

@ColinGell謝謝,site_url()並不完美,但它實際上在做我的案例。如果我沒有好轉,我會接受這個答案。 (在Wordpress之外工作) – wp42

0

根據你給別人的答案,這是我提出的解決方案。

<?php 
// Just to show you how it works, I'm overwriting the $_SERVER values, in your case you can directly use the values from $_SERVER 
$_SERVER['SERVER_NAME'] = 'example.com'; 
$_SERVER['DOCUMENT_ROOT'] = '/home/ab454567/public_html/example.com/my_dir_X/abc'; 

$domain = $_SERVER['SERVER_NAME']; 
$fullPath = $_SERVER['DOCUMENT_ROOT']; 

preg_match('#^(.*)(/' . $domain . ')(?P<myDir>.*)#i', $fullPath, $matches); 

if(isset($matches['myDir']) && !empty($matches['myDir'])) { 
    echo "Found the root directory: " . $matches['myDir'] . PHP_EOL; 
} 
else { 
    echo "No root dir found, probably I'm in the public_html root directory of the domain." . PHP_EOL; 
} 

// Output is: 
// Found the root directory: /my_dir_X/abc 

這是你的場景,對嗎?

  • 域名www.example.com/my_dir_X
  • 你想知道該網站是在目錄,所以在這種情況下/ my_dir_X
相關問題