PHP包含路径中的变量

时间:2012-10-25 20:46:28

标签: php variables path include

因此,我们构建的网站必须从本地开发服务器移植到测试服务器,然后移植到实时服务器。出于这个原因,我们创建了一个变量:

<?php $path = '/_Folder_/_SubFolder_'; ?>

当我们将网站从服务器移动到下一个网站时,我们的想法是简单地将$ path定义更改为改进到新的开发服务器。目前,在我们调用包含的每个页面上,我们写道:

<?php include('../_includes/_css.php'); ?>

但我要做的是:

<?php include($path.'/_includes/_css.php'); ?>

我希望的结果是:

<?php include('/_Folder_/_SubFolder_/_includes/_css.php'); ?>

我一直在悲惨地失败导致:

  

警告:include(/ 文件夹 / _ SubFolder _ / _ includes / _css.php)[function.include]:无法打开流:C:\ Program Files \ Apache Software中没有这样的文件或目录第15行的基础\ Apache2.2 \ htdocs \ FREEDOM2012_FREEDOM2012_DEFAULT_ \ rooms \ guest-rooms.php

其他问题我仍然需要通过调用“../"

来包含变量来源
<?php include('../_includes/_var.php'); ?>

如果有人对如何更有效地做到这一点有任何了解,我将非常感激。非常感谢您的回复时间,耐心和努力。

2 个答案:

答案 0 :(得分:2)

为什么不永远动态地启动你的$ path变量,并且环境独立?

喜欢:

$path = dirname(__FILE__);

从PHP 5.3开始,您还拥有与上面相同的__DIR__快捷方式。

@see:http://www.php.net/manual/en/language.constants.predefined.php

答案 1 :(得分:2)

您需要显示

中的上一个目录
<?php include('../_includes/_css.php'); ?>

因为你有“ ../ ”。 如果您的完整路径来自“ css.php ”= / _ * 文件夹 * _ / SubFolder / _包含/ _css.php,然后你需要使用下一个代码:

<?php $path = './_Folder_/_SubFolder_';
include($path.'/_includes/_css.php'); ?>

否则首先显示文件 _css.php

的完整路径