我目前正在同时学习HTML,JS和PHP(为什么不学习?)
在PHP中实现header.html并不是那么有趣。
只需添加:
即可在主页面或“index.php”上运行<?php include("header.html");?>ex.php
然后添加其他页面:
<?php include("../header.html");?>ex.php
但是过了一会儿你忘记了需要放入多少“../../../”才能到达服务器文件夹的根目录。有没有办法轻松到达网络服务器的根目录?简单地说“/header.html”没有用完。
任何想法?
解决方案:
我目前的解决方案很简单,将标题路径设置为
/home/yuannan/Web/header.html
或者您的文件来自服务器的ROOT而不是Web服务器
答案 0 :(得分:0)
我通常做的是:
创建一个帮助文件&#34; setpath.php&#34;这将设置正确的PHP路径。在这个文件中,我使用了与webroot无关的相关路径:
function setPath() {
// get the path to the root folder of the
// project using our current known location
$bn = dirname(dirname(dirname(__FILE__)));
// Get absolute path
$bn=realpath($bn)."/";
// Extend with all needed paths (few examples)
$new_paths = $bn.PATH_SEPARATOR."$bn/db".PATH_SEPARATOR."$bn/templates";
// Set the environment
set_include_path(get_include_path() . PATH_SEPARATOR . $new_paths);
}
现在每个文件都需要知道如何包含它并调用setPath()
,所以从你的索引这是include("lib/php/setpath.php")
,从你的lib / php / db这将是{{1} }。
此外,我发现使用Autoloading可以省去你手动计算依赖关系的大量工作......
最后,在某些情况下,需要知道服务器webroot。在这些情况下,我使用类似下面的内容(也在我的lib / php /文件夹中),它提供文件系统路径和项目的webroot作为GLOBAL变量(......有些人可能会说不好的做法...)
include("../setpath.php")
我使用上述工具以及一些Autoloader作为我项目的基础。希望能帮助您或激励某人提供更好的解决方案。
安德烈亚斯
答案 1 :(得分:0)
我为我的网站所做的只是设置一般文件路径,然后在<body>
标记下方的整个网站中使用它。非常简单明了。只需确保您的$Filepath
指向存储头文件的任何位置,它将减轻必须为每个文件层使用反引号的问题。像这样:
<?php
{
$Filepath= "c:/wamp/www/";
include ("{$Filepath}header.php");
}
?>