首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使关键字工作

无法使关键字工作
EN

Stack Overflow用户
提问于 2013-06-13 13:42:38
回答 3查看 296关注 0票数 0

我正在学习PHP,并且刚刚发现include关键字有多方便,并且已经开始在我为我工作的公司构建的一个站点上使用它。

现在,我正在应用这个站点来使用Perch作为网站的部分内容,以及Perch博客扩展。

我已经让inlclude处理根目录中的所有文件,但是其中一个文件是Perch博客模板,它位于两个子目录中,PHP包含在这个文件中不能工作。

我试图包含的文件的目录是./inc/

Perch博客模板中包含不起作用的目录是../perch/templates/blog/.

编辑对不起--我也忘了提到一些可能很重要的东西,我使用的这个包含在其中的文件被Perch用作如何显示博客文章的模板,它是一个普通的.html文件(尽管我的.htaccess文件中有一行允许在.html文件中执行.html)。

我使用wamp,在我的www目录中,我有多个文件夹,每个文件夹充当不同项目的根目录,这是使用作为地址来设置和工作的。例如,其中一个名为f3racing.localhost f3racing,地址为f3racing,文件夹结构为wamp/www/f3racing/.

在所有其他文件(位于根目录中)中,这是可行的:

代码语言:javascript
复制
<?php include("inc/header.php"); ?>

我试过这样的方法:

代码语言:javascript
复制
<?php include("../../../inc/header.php"); ?>

<?php include($_SERVER["DOCUMENT_ROOT"] . "/inc/header.php"); ?>

<?php include($_SERVER['DOCUMENT_ROOT'] . "/inc/header.php"); ?>

<?php include($_SERVER["DOCUMENT_ROOT"] . "/f3racing/inc/header.php"); ?>

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

我完全搞不懂该怎么做才能让它发挥作用,其中一个应该在正常情况下工作吗?我的意思是,如果我没有使用Perch,这些会起作用吗?

EN

回答 3

Stack Overflow用户

发布于 2013-06-13 13:49:18

你用错了../

../的意思是“上一个目录”。

如果您的文件位于/usr/var/www/path/中,那么在该文件中执行include('../anotherfile.php')将查找/usr/var/www/anotherfile.php文件(请注意,我们已经进入了一个目录)。

您的文件位于/usr/var/www/perch/templates/blog/中,您希望在/usr/var/www/inc/中引用一个文件。因此,您需要“返回”3个文件夹(因此您在www文件夹中),然后引用inc目录,然后引用文件。

您的内容应该如下所示:

代码语言:javascript
复制
include('../../../inc/header.php');

试试看,那应该管用。

编辑:我不太了解wamp,但我想您可以将上面示例中的/usr/var/www位交换为类似于c:/Program Files/WAMP/www或目录路径的东西。这都是相同的理论。

票数 1
EN

Stack Overflow用户

发布于 2013-06-13 14:27:50

我看不出是怎么回事

代码语言:javascript
复制
<?php include("../../../inc/header.php"); ?>

根据你的描述,你有一个文件:

root/inc/header.php

另一份档案:

root/perch/templates/blog/some_file.php

其中包含上面的include

我对此进行了测试,让header.php包含echo "header.php";,然后加载some_file.php

票数 0
EN

Stack Overflow用户

发布于 2013-06-13 15:29:22

结果是Perch处理模板文件的方式导致了这个问题。谢谢你的建议,答案和建议--你们不可能知道这是问题所在。

编辑

我会详细说明,以防其他人将来也会遇到同样的问题:

我试图将php添加到perch模板文件中,该文件位于perch / template /blog/ post.html中,在标准安装中,该文件将不会在其中运行任何PHP,代码需要进入perch文件blog/post.php,并相应地编辑post.html文件。

/EDIT

再次,非常感谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17088637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档