簡體   English   中英

PHP 包含根目錄中的所有文件(如 CMS)

[英]PHP to include all files from root directory (like a CMS)

我需要在其中為我的頁面創建帶有自己的 index.php 文件的子文件夾。 When I include the header and footer files in the root directory, however, the site breaks because the header file is looking for all the CSS and JavaScript files in the current directory.

我怎樣才能解決這個問題?

您可以在包含中使用相對路徑,並將..到 go 上一個目錄。

include('../functions.php');

這將包括父文件夾中的 functions.php。 如果它是 2 個文件夾深,它將是../../functions.php

這是在其他文件夾中包含內容的最常見方式,實際上提供了相對但直接的路徑。 使用解析器 include_path 可以工作,但不是可移植的。

只是快速比較兩種方法的執行計划:

使用include('../functions.php');

  • 檢查父文件夾,打開functions.php

    使用 include_path,假設列表中只有 3 個路徑,並且include('functions.php');

  • 檢查當前文件夾,文件不存在
  • 檢查 include_path 中的第一個路徑,文件不存在
  • 檢查 include_path 中的第二個路徑,文件不存在
  • 檢查include_path中的第三個路徑,打開functions.php

    然后你必須希望有人沒有把functions.php放在其他包含的路徑之一中......

  • 對於服務器端,將根添加到您的include_path設置(或者,如果您不打算從其他任何地方包含,請將include_path替換為根),您將能夠從任何地方引用其中的文件.

    在客戶端,您將使用<base>標記告訴瀏覽器 URL 從何處開始(即:相對 URL 最終指向的位置)。 只有在鏈接 CSS 和 JS 而不是包含它們時,您才真正需要這個,但這是更常見的情況。 (您通常會包括 PHP,並鏈接 CSS/JS。)

    暫無
    暫無

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

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