PHP 在路径中包含一个变量
Posted
技术标签:
【中文标题】PHP 在路径中包含一个变量【英文标题】:PHP include with a variable in the path 【发布时间】:2012-10-16 03:09:35 【问题描述】:因此,我们构建的网站必须从本地开发服务器移植到测试服务器,然后再移植到实时服务器。为此,我们创建了一个变量:
<?php $path = '/_Folder_/_SubFolder_'; ?>
当我们将网站从服务器移动到下一个时,想法是简单地更改 $path 定义以改造新的开发服务器。目前,当我们调用包含时,我们会在每个页面上写:
<?php include('../_includes/_css.php'); ?>
但我想做的是:
<?php include($path.'/_includes/_css.php'); ?>
我希望的结果是:
<?php include('/_Folder_/_SubFolder_/_includes/_css.php'); ?>
我一直在惨败,结果是:
警告:包含(/文件夹/_SubFolder_/_includes/_css.php)[function.include]:无法打开流:C:\Program Files\Apache Software 中没有这样的文件或目录Foundation\Apache2.2\htdocs\FREEDOM2012_FREEDOM2012_DEFAULT_\accommodations\guest-rooms.php 第 15 行
其他问题我仍然需要通过调用“../”来包含变量源
<?php include('../_includes/_var.php'); ?>
如果有人对我如何更有效地做到这一点有任何见解,我将不胜感激。非常感谢您在回复中付出的时间、耐心和努力。
【问题讨论】:
您是否尝试过echo
ing 将您提供给 include()
的字符串?
当您在 Windows 服务器上时,您需要使用反斜杠而不是斜杠。
【参考方案1】:
你为什么不永远动态地初始化你的 $path 变量并且与环境无关?
喜欢:
$path = dirname(__FILE__);
从 PHP 5.3 开始,您还可以使用与上述相同的 __DIR__
快捷方式。
@见:http://www.php.net/manual/en/language.constants.predefined.php
【讨论】:
与set_include_path
php.net/manual/en/function.set-include-path.php 一起使用,您可以很好地引导它。并在您的包含中有不错的相对路径。【参考方案2】:
您需要显示上一个目录:
<?php include('../_includes/_css.php'); ?>
因为你有../
,如果你的完整路径是css.php = /_Folder_/_SubFolder_/_includes/_css.php
,那么你需要使用这个:
<?php $path = './_Folder_/_SubFolder_';
include($path.'/_includes/_css.php'); ?>
否则,首先显示文件_css.php
的完整路径。
【讨论】:
以上是关于PHP 在路径中包含一个变量的主要内容,如果未能解决你的问题,请参考以下文章