0

例如,我正在努力弄清楚如何通过使用 include_once ('asset/header.php') 函数包含 php/html 模板文件来使我的生活更轻松。我也想将它用于每个网页上的 css 和 js 链接。一个例子是:

<link href="css/font-awesome.min.css" rel="stylesheet">

我想通过这些实现,例如在链接之前添加“ROOT”或 $baseURL 的能力,所以:

<link href="<?php $baseURL ?>/css/font-awesome.min.css" rel="stylesheet">

include_once ('$baseURL/asset/header.php')

我知道以上内容远非正确,我在 php 编程方面没有经验,我只知道在文档路径方面它可以让我的生活变得更轻松。我要解决的问题很简单:我不想<img src="../../../../img/IMAGE.jpg>和 include_once ('../../../assets/header.php') ^^ 当然这里的例子

我只想在将包含或导入的图像、css、html 等文档路径之前放置一个通用的 php 代码来打印根 url。

我已经阅读了一些关于此的教学论坛,但不幸的是,我有限的 php 经验无法弄清楚。我想将 php 根文件放在 config.php 中并尽可能限制直接访问?

另外,我目前在 mac 上使用 MAMP。我听说 localhost 可能不适用于某些解决方案,所以那里的任何建议也会很棒!

4

4 回答 4

1

尝试使用 $_SERVER 超全局

include_once $_SERVER['DOCUMENT_ROOT'].'/website/asset/header.php';

realpath 和 dirname 命令也可能有用。

于 2013-06-12T16:13:12.587 回答
0

首先你需要像这样声明你的根变量:

$baseURL = "../.."; // or whatever it is

然后您可以像这样使用包含中的变量:

include_once("{$baseURL}/asset/header.php"); // means include_once("../../asset/header.php");

只需确保将路径放在 include_once 中时,使用双引号而不是单引号,否则无法合并上述变量。

编辑:要记住的一件事,$baseURL 必须在您的包含范围内。如,如果它是全局的并且您在函数内部使用它,请确保将其声明为全局。有关范围的更多信息:http: //php.net/manual/en/language.variables.scope.php

于 2013-06-12T16:06:10.060 回答
0

为什么不试试 $_SERVER['SERVER_NAME'] 函数?

例子:

Echo("http://".$_SERVER['SERVER_NAME']."/asset/header.php")
于 2013-06-12T16:16:44.133 回答
0

你可以试试这个:

require_once '../header.php';
于 2018-05-05T18:28:20.690 回答