如何用相对路径包含文件?

时间:2012-11-14 00:55:22

标签: php

有一个文件目录:magento\app\design\frontend\default\template\catalog\product\view.phtml

另一个文件目录:magento\blog\wp-blog-header.php

现在,如果我想在view.phtml中包含wp-blog-header.php.how我该怎么办?谢谢。

include('../../../../../../../wordpress/wp-blog-header.php'); 

3 个答案:

答案 0 :(得分:2)

您可以使用文档根目录(“$_SERVER["DOCUMENT_ROOT"]”)。但这仅适用于您的应用程序作为Web服务器上基本目录中的唯一应用程序安装的情况。如果您在子目录中运行应用程序,则需要对其进行调整。但是,这将使应用程序不那么便携,因为您无法在不修改代码的情况下轻松更改目录。

根据您的示例,您似乎正在运行Magento,使用Magento,您可以使用“Mage::getBaseDir”方法获取Magento的基本目录以及相关的包含文件。

答案 1 :(得分:1)

就我个人而言,我会从根本上开始,而不是所有这些../../ jazz:

include($_SERVER['DOCUMENT_ROOT'] . "/path-to-include-file");

你确定wordpress标题与magento兼容吗?可能会遇到一些可怕的异常现象。

答案 2 :(得分:1)

这样可行,你只需要计算斜线以确保它与以前一样。但是,您也可以在magento\app\design\frontend\default\template\catalog\product\目录中创建指向magento\blog\wp-blog-header.php的符号链接。

ln -s magento\blog\wp-blog-header.php wp-blog-header.php可以做到这一点,你可以:include ("wp-blog-header.php");

您还可以在包含中引用$_SERVER["DOCUMENT_ROOT"]