我正在尝试使用php包含我的网站的菜单导航,但有些页面现在位于文件夹中 - 当页面从各种文件夹中导航时,我遇到了典型的错误链接问题。
我以为我需要为我的php包含创建“路径”,所以我研究并从“如何文章”中找到这些好/简单的代码片段,它只是没有给我足够的信息来形象它如何使用它。
(我已经使用php包含所有位于同一根级别的页面,这是我丢失的文件夹中的页面。)
请 - 如果有人可以启发我......以下两个选项都没有响应,如下所示 - 我是否应该插入'localhost'这个词来代替'DOCUMENT_ROOT'?还是'index.php'?或者我错过了什么?我已经在需要include的页面上的body标签之间尝试了它们。 (我的navigation.php在我的包含文件夹中。)
option1:
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/includes/navigation.php";
include_once($path);
?>
-- OR-- option2:
<?php include($_SERVER['DOCUMENT_ROOT'] . '/includes/navigation.php'; ?>
答案 0 :(得分:0)
PHP选择包括从提供的路径或包含路径中指定的目录中的文件。阅读the manual for more info
如果包含目录是包含您网站的目录的子文件夹,则您对$ _SERVER ['DOCUMENT_ROOT']的使用将起作用。但是我要补充一点,将PHP include目录放入DOCUMENT_ROOT目录并不是一个好习惯,或者至少我不建议这样做,除非你考虑过安全问题,因为它可能会无意中暴露出数据库密码等等。 / p>
问题的快速解决方案是将包含目录的路径放在$ include_path变量中并使用
e.g。
// don't forget trailing directory separator :-)
$include_path = '/Put/the/full/path/here/';
include( $include_path . 'navigation.php' ); // also works for include_once, require etc
答案 1 :(得分:-1)
试试这个
<?php include($_SERVER['HTTP_HOST'] . '/includes/navigation.php'; ?>
答案 2 :(得分:-1)
问题是你传递的是url而不是文件路径。
您需要传递文件路径,如C:\ www \ something \ filename