PHP根文件夹目录 - include_once和echo

时间:2013-06-12 16:00:50

标签: php include root base-url

我正在努力弄清楚如何通过使用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') ^^当然这里有例子

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

我已经阅读了一些有关此问题的教学论坛,但遗憾的是,我无法通过有限的PHP体验找到答案。我想将php根文件放在config.php中并尽可能限制直接访问?

另外,我目前正在Mac上使用MAMP。我听说localhost可能无法使用某些解决方案,所以任何建议都会很棒!

4 个答案:

答案 0 :(得分:1)

尝试使用$ _SERVER超全局

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

realpath和dirname命令也可能有用。

答案 1 :(得分:0)

首先,您需要声明您的根变量:

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

然后你就可以在include中使用变量:

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

只要确保将路径放在include_once中,就可以使用DOUBLE引号而不是单引号,否则就无法合并上面的变量。

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

答案 2 :(得分:0)

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

示例:

Echo("http://".$_SERVER['SERVER_NAME']."/asset/header.php")

答案 3 :(得分:0)

你可以试试这个:

require_once '../header.php';