PHP包含来自另一个文件夹

时间:2014-09-17 07:01:09

标签: php include

目前我有这个文件夹结构

-Member

-Templates

and other folders

当我在Member / index.php中使用时,页面上没有显示任何内容。

include("templates/header.php"); ?>

当我尝试其他缩写时,如

<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/templates/header.php";include_once($path);?>

include 'templates/header.php';

也没有任何事情发生。

在这种情况下你如何使用php include?

2 个答案:

答案 0 :(得分:0)

如果您的文件夹名称是大写的,请尝试:

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

您也可以在没有/的情况下尝试:

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

如果您的文件夹没有大写字母,请将其保留为:templates 当然,您可以将$_SERVER['DOCUMENT_ROOT']变为变量,这样您就不必一直重新声明它

注意: 这就是@Mahan所说的

答案 1 :(得分:0)

与您的代码一样,您指的是一个不存在的文件。

-Member

-Templates

and other folders

在Member / index.php中,当你包含这样的文件时;

include("templates/header.php");

您实际上是指Member文件夹中的文件。相反,您应该使用$ _SERVER变量,或者您应该参考include("/Templates/header.php");

但最佳做法是使用$ _SERVER变量;


您在include语句中以简单的方式给出了目录名称。另外,请注意,不要将目录路径直接附加到$path = $_SERVER['DOCUMENT_ROOT'];变量。而是在include语句中键入路径。

喜欢:

$root = $_SERVER['DOCUMENT_ROOT'];
include $root.'/Templates/header.php';

这样您就不需要在任何地方重新声明$ _SERVER全球。

另外,练习一些调试!如果你真的想学习,就不要为了所有事情而努力。找出为什么&#34;什么都没有加载&#34;。

打印$ path并查看路径是否有效。并检查错误日志他们说什么。如果你这样做了,你肯定会自己解决这个问题!

希望这是有道理的: - )