包含链接


PHP Include links

你好,我有我的第一个认真去用PHP为我自己创建一个示例脚本。它有一个基本的结构,在我的根文件夹中我有:

  • index . php
  • 核心文件夹(保存我的大部分php函数文件)
  • 包含(包含我的header.php和footer.php)
  • sites - (sites有3个文件夹site A, B, C)
  • CSS
  • js

所有页面都是由include文件夹中的header.php和footer.php组成的,然后每个页面中间都有自己的内容。header.php包含(以及基本的html和链接到javascript样式表等)包括从核心文件夹如下:

  • include_once/核心/connect.php,

现在这些都工作得很好,使用index.php提供链接到网站的3个不同部分,sitea, siteb和sitec。

但是当你从文档根目录导航到/sites/sitea/index.php时,所有这些链接现在都断开了

在header。php部分中建立链接的最佳方法是什么?这样无论你在哪个文件夹中,它们都是相对于整个网站的?

这背后的想法是,每个进程只有一个文件。

通过index.php

处理所有页面例如,

index.php将包含

require('header.php');
include('content.php');
require('footer.php');

这样,即使你的内容不显示,也不会破坏网站。

你的索引总是从相同的路径加载,所以头/脚不会改变。只是内容。

当你包含你想要使用一个真正的路径,而不是一个相对路径…

require_once ($_SERVER['DOCUMENT_ROOT'].'/includes/header.php');
/* something happens here */
require_once ($_SERVER['DOCUMENT_ROOT'].'/includes/footer.php');

最好的方法是始终使用物理路径,无论您在哪里-这样每个包含其他包含页面的页面都不会中断:

require(dirname(__FILE__) . '/core/connect.php');

PHP 5.3及以上

require(__DIR__ . '/core/connect.php');