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的主要内容,如果未能解决你的问题,请参考以下文章

PHP中的魔术方法

php中的$_REQUEST()函数怎么用

php中的$_REQUEST()函数怎么用

php中的魔术常量

PHP 中的 __FILE__ 和__DIR__常量

unset($_COOKIE['name']) 与 PHP$_ 中的 setcookie