2011-08-30 50 views
1

我在从不同地方调用的各种不同文件中有一些东西。我一直在尝试使用$ ROOT变量,但是因为我要从几个不同的文件(index.php,view.php,admin/index.php等)开始,并且没有bootstrap(或者其他任何文件所谓的),我不能总是得到从东西阿贾克斯等称为$ ROOT ..php include_paths in htaccess

如果我设置通过htaccess的include_path中有点像:

php_value include_path ".;C:\wamp\www\project\"

我认为不包括子目录,我还必须为我的文件所在的每个其他目录添加一行,即使它们位于C:\wamp\www\project\componentsC:\wamp\www\project\model

我要添加新的行或逗号吗?我找不到任何使用htaccess设置包含多条路径的包含路径的示例...

或者是有一种方法可以获得与我的$ ROOT变量相关的所有内容,并使用绝对路径,并以某种方式让每个文件,即使他们在不同的地方,引用特定的变量? (无需对应用程序中的所有文件进行批量更改?)这样做的好处是只需在服务器更改/部署中更改文件,但我不知道如何开始解决它!

谢谢:)

+0

您可以在脚本中动态地更改包含路径,该脚本允许您使用$ ROOT var。但是,然后你遇到了鸡蛋问题 - 如果$ ROOT已经在一个不在你的包含路径中的文件中,那么你不能在没有绝对路径的情况下包含它。 –

+0

是的..鸡和鸡蛋的潜力是我想要解决的问题。这让我的大脑难过。我想如果我包含路径的配置,每个页面顶部的require_once config.php路径,然后使用我的$ root var其他地方我应该被覆盖? – Damon

回答

1

我认为不包含子目录,

你为什么不试试呢? (它不包括子迪尔斯)

我不能在网上找到使用htaccess的设置包括多个路径

路径的任何例子吗?你已经提供了一个:

php_value include_path中 “; C:\ WAMP \ WWW \项目\”

的路径是 ''和 'C:\ WAMP \ WWW \项目\'

(BTW其更好的做法是使用 '/' 作为目录分隔符 - 它避免了混淆UNIX风格转义)

+0

啊谢谢。什么是'。'参考? – Damon

+0

p.s.文件没有被包括在内,但我不确定它是否是subdir的东西,或者只是我的htaccess文件根本不工作..我想这是后者 – Damon

+0

@Damon:'。'是当前目录 – symcbean

0

在Windows环境中,你会使用分号分隔包含路径,如下所示:

php_value include_path ".;C:\wamp\www\project\;C:\wamp\www\project\components;C:\wamp\www\project\models" 

但我不确定为什么要这样做。添加子目录会导致文件命名冲突的可能性。如果你有,C:\ wamp \ www \ project \ components \ example.php和C:\ wamp \ www \ project \ models \ example.php,包括你的包含路径中的子目录在尝试时都会产生歧义包括任一文件。如果您的包含路径中已经有项目目录,则可以使用相对路径调用其中的任何内容。例如:

<?php include 'components/example.php'; ?> 

这将包括C:\ WAMP \ WWW \项目\分量\使用example.php和消除任何文件命名冲突的机会。