PHP中的Firs是非常新的
我想在另一个类似这样的php文件中包含一个来自root的php文件。
require_once "/getPublisher.php?id=' . $xy;
我键入此代码的文件位于"/page/page.php".中
--------------- ROOT -----------------
-page
-> page.php----------------
- trying to require_once '/getPublisher.php'
- into '/page/page.php'
-getPublisher.php-------------
我正在取回这些错误代码。
警告:require_one(/users/uplade/www/getPublisher.php?id=123)[function.requestonce]:无法打开流:没有这样的文件或第83行/users/uplade/www/page/page.php中的目录
和
致命错误:require_once()[function.request]:打开失败必需'/users/uplade/www/getPublisher.php?id=123'(include_path='.')在/users/uplade/www/page/page.php上第83行
那么如何在非根文件中包含根文件呢?
编辑:
警告:require_one(/getPublisher.php)[function.request-onex]:无法打开流:第84行/users/uplade/www/page/page.php中没有这样的文件或目录
我做错了什么。
解决方案:我删除了斜杠require_one'getPublisher.php';对我来说就是这样!
不能在require()上使用参数。尝试删除它:
require_once "/getPublisher.php";
使用require_once "/getPublisher.php";
,您试图包含来自文件系统根目录的文件,而不是来自文档根目录。
如果这些文件在同一个目录中,您会将其包括在内,如下所示:require_once "getPublisher.php";
但在你的情况下,它是一个级别,所以只需像这样包括它:require_once "../getPublisher.php";
reuire
和include
(及其_once
变体)根据文件的绝对路径在文件系统上定位文件,返回到一组可配置的包含路径(用于将共享库放置在标准位置)。
当你不知道文件在文件系统上的确切位置时,有两种主要的方法可以可靠地引用文件(例如,因为你要将软件安装到不同服务器上的不同位置):
- 相对于"文档根",即在web服务器中配置为URL"/"位置的路径。该目录可用作超全局变量
$_SERVER['DOCUMENT_ROOT']
;例如require $_SERVER['DOCUMENT_ROOT'] . '/getPublisher.php';
- 相对于当前文件,这是您编写PHP代码的文件(无论该文件是如何访问的)。该目录可用作魔术常数
__DIR__
;例如require __DIR__ . '/../getPublisher.php';
注意,在第二个例子中,我必须使用..
从当前目录"向上爬",意思是"父目录";你可以用这个爬到你喜欢的任何高度:'/../../../../'
等