【问题标题】:require_once in phpphp中的require_once
【发布时间】:2011-02-08 19:04:07
【问题描述】:

我有一个 php 文件,它有一个 require_once 语句(?),然后这个文件包含在其他 2 个 php 文件中,一个 php 文件在一个子目录中,所以布局是这样的(“file1”和“file2”包含文件“included”,其中 require_onces “required”)#

 L--subfolder1
 | L--file1
 L--subfolder2
 | L--required
 L--file2
 L--included

如何从“包含”文件中引用“必需”文件,以便它可以在 file1 和 file2 中使用?

【问题讨论】:

    标签: php path relative-path require-once


    【解决方案1】:

    始终使用绝对路径

    $_SERVER['DOCUMENT_ROOT']."/included";
    

    $_SERVER['DOCUMENT_ROOT']."/subfolder2/required";
    

    可以在任何地方工作

    【讨论】:

    • 感谢您快速而正确的回答,我认为这将是一个服务器变量,但即使在查看 php 文档后也不确定是哪个变量。
    • 注意:$_SERVER['DOCUMENT_ROOT'] 仅在 Web 浏览器中不能在 CRON 中工作
    【解决方案2】:

    您必须使用绝对路径才能从任何地方请求具有相同代码的文件。

    require_once($_SERVER['DOCUMENT_ROOT'] . '/subfolder2/required');
    

    【讨论】:

      【解决方案3】:

      您可以将 dirname() 与 __FILE__ 常量结合使用。 (如果我理解正确,您将包含两个脚本中的“包含”文件,而“包含”则包含一些文件?)
      包含(.php):

      require_once( dirname(__FILE__)."/subfolder2/required" );
      

      【讨论】:

      • 快速提醒,dirname() 返回不带斜杠的目录,因此您需要使用 require_once( dirname(__FILE__)."/subfolder2/required" ); - 注意额外的斜杠。
      猜你喜欢
      • 2013-03-27
      • 1970-01-01
      • 2023-03-14
      • 2012-02-25
      • 2016-08-31
      • 2013-12-03
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多