簡體   English   中英

獲取父目錄的相對路徑

[英]Get relative path to a parent directory

我有一種情況,我想獲取返回到特定父目錄的路徑。 這是文件夾結構示例( [something]是文件夾)

index.php
[components]
    header.php
    footer.php
[pages]
    somePage.php
    [somePageSubPages]
        someSubPage.php

所以我的內容頁面看起來像這樣:

<?php
    include('components/header.php');
?>

<!-- CONTENT STUFF -->

<?php
    include('components/footer.php');
?>

這適用於index.php但不適用於somePage.phpsomeSubPage.php 我想做的是創建一個函數,該函數將路徑返回到主目錄,這樣我就可以將其添加到include和其他內容中:

$relPath = getPathToRoot($rootDirName);
include($relPath . 'components/header.php');

並且該函數只會返回一個空字符串或../../

我考慮過使用__FILE__ ,然后只計算給定的$ rootDirName和字符串結尾之間的/字符。 但是,我想問一下這是否是一種可靠的方法以及在PHP中的外觀。 (我真的不太喜歡使用PHP ...)

您可以使用..進入父目錄:

<?php
    // somePage.php
    include('../components/header.php');
?>

我會確保您始終知道站點的根目錄,以便可以從那里獲取它。

為此,您可以至少采用兩種方法:

  • 包括一個配置文件,該文件定義您的站點根目錄,並將該根目錄附加到每個include前綴(如為常量):
    include MY_SITE_ROOT . '/path/to/file.php';
  • 使用服務器變量來實現以下目的:
    include $_SERVER['DOCUMENT_ROOT'] . '/path/to/file.php';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM