Require_once 功能工作

Posted

技术标签:

【中文标题】Require_once 功能工作【英文标题】:Require_once functionality Working 【发布时间】:2017-11-13 19:25:12 【问题描述】:

所以,我有一个这样的目录结构:

include/
scripts/
contact.css
contactform.php
ReadMe.txt
show-captcha.php
thank-you.php

show_captcha.php 文件中添加以下内容以包含来自/include 子目录的 PHP 文件。

require_once("./include/fgcontactform.php");

这段代码完美运行。

我的问题是不应该是这样的:

require_once("include/fgcontactform.php");

没有./ 前缀?这个路径是什么意思?

【问题讨论】:

【参考方案1】:

两者

require_once("./include/fgcontactform.php");

require_once("include/fgcontactform.php"); 

大部分都做同样的事情。

'.'表示当前工作目录。

【讨论】:

这两个语句不一定“做同样的事情”。在另一个系统上,这些语句可能包含不同的文件。在第二个示例中,使用 相对 文件路径,PHP 将首先搜索 include_path。而第一个示例(带有 ./ 前缀)始终与 当前工作目录 (CWD) 相关,甚至可以在脚本执行期间更改。【参考方案2】:

./include/fgcontactform.php 表示您正在包括当前工作目录。

当您的要求是从其他目录中包含时,您可以执行以下操作 -

../PATH_TO_DIRECTORY/include/fgcontactform.php

【讨论】:

以上是关于Require_once 功能工作的主要内容,如果未能解决你的问题,请参考以下文章

无法让本地主机上的 ajax 调用 require_once 工作

有没有办法将 require_once() 的范围显式设置为全局?

require_once 问题

Require_once 似乎不会影响所有功能?

包括、include_once、require 还是 require_once?

为啥函数require_once会阻止我的代码工作[关闭]