php中的require_once
Posted
技术标签:
【中文标题】php中的require_once【英文标题】:require_once in php 【发布时间】: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 中使用?
【问题讨论】:
【参考方案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" );
- 注意额外的斜杠。以上是关于php中的require_once的主要内容,如果未能解决你的问题,请参考以下文章