2012-11-08 25 views
0

我的网站包含以目录形式组织的多个文件。更具体地讲,这是我的结构:PHP函数和文件路径

  • 的index.php
  • 页/帐号/ viewaccount.php
  • 页/帐号/ createaccount.php
  • 页/帐号/ editaccount.php
  • 页/公司简介/ aboutus.php
  • 的src/PHP/functions.php中

如果您在理解这些内容或需要更多信息时遇到困难,请添加注释

在my functions.php中,我创建了一个指向我的索引文件的链接。由于这个函数被我所有主要的.php文件调用,索引文件的路径依赖于调用该函数的页面而变化。

例如,如果函数被我的索引文件调用,路径显然是“index.php”。但是,如果该函数是从我viewaccount.php文件调用所需的路径将是“../../index.php”

所以我的问题是:

如何设置的一般路径,它独立于我称之为函数的文件,它将始终正确链接到我的索引文件。

一旦快速的解决办法是把所有我的主要PHP文件作为兄弟到我的索引,但我想保持我的所有文件组织

回答

2

的方式大多数PHP框架的工作是类似于以下,Zend公司框架如下所示:

声明一个常量APPLICATION_PATH,然后使所有路径相对于这个路径。

define("APPLICATION_PATH", "/var/www/mysite"); 

然后您的所有要求将与您的APPLICATION_PATH有关。

require_once APPLICATION_PATH ."/system/helpers/{$helper}.php"; 

*通过这种方法,您可以包含任何脚本文件没有问题。因为所有路径都将与您的APPLICATION_PATH相关。

+0

我在哪里定义呢? – Goaler444

+0

@ user1724140在包含在应用程序入口点的引导程序文件中,或者仅在入口点的第一行代码中对此进行定义。那么这个常量将可用于你的所有代码。 – slash28cu

2

事情是这样的:

require_once($_SERVER['DOCUMENT_ROOT'] . '/src/php/functions.php'); 
+0

@oezi - 谢谢! –

+0

我在哪里可以做到这一点? – Goaler444

+0

@ user1724140位于文件的顶部。所以在这种情况下,如果你想把你的函数文件添加到'createaccount.php'中,你可以将上面的例子放在'createaccount.php'中 –