【问题标题】:PHP functions and File PathsPHP 函数和文件路径
【发布时间】:2012-11-08 19:31:36
【问题描述】:

我的网站包含多个按目录组织的文件。更具体地说,这是我的结构:

  • index.php
  • pages/account/viewaccount.php
  • pages/account/createaccount.php
  • pages/account/editaccount.php
  • pages/aboutus/aboutus.php
  • src/php/functions.php

如果您无法理解或需要更多信息,请添加评论

在我的functions.php 中,我创建了一个链接来引用我的索引文件。由于我的所有主要 .php 文件都调用了此函数,因此索引文件的路径因调用该函数的页面而异。

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

因此我的问题是:

如何设置通用路径,该路径独立于我调用函数的文件,它始终会正确链接到我的索引文件。

一旦快速解决方法是将我所有的主要 php 文件作为同级文件放入我的索引中,但我想保持所有文件井井有条

【问题讨论】:

    标签: php html path


    【解决方案1】:

    大部分php框架的工作方式类似如下,zend框架是这样工作的:

    声明一个常量 APPLICATION_PATH,然后使所有路径都与此相关。

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

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

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

    * 使用这种方法,您可以毫无问题地包含来自任何脚本的文件。因为所有路径都将与您的 APPLICATION_PATH 相关。

    【讨论】:

    • @user1724140 在您包含在应用程序入口点中的引导文件中定义它,或者只是在入口点的第一行代码中。然后这个常量将在你的所有代码中可用。
    【解决方案2】:

    类似这样的:

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

    【讨论】:

    • @user1724140 在文件的顶部。所以在这种情况下,如果你想将你的函数文件添加到createaccount.php 你把上面的例子放在createaccount.php
    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2020-04-25
    • 2017-07-23
    相关资源
    最近更新 更多