PHP从根目录中获取权限(_O)


PHP rquire_once from root

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";

reuireinclude(及其_once变体)根据文件的绝对路径在文件系统上定位文件,返回到一组可配置的包含路径(用于将共享库放置在标准位置)。

当你不知道文件在文件系统上的确切位置时,有两种主要的方法可以可靠地引用文件(例如,因为你要将软件安装到不同服务器上的不同位置):

  • 相对于"文档根",即在web服务器中配置为URL"/"位置的路径。该目录可用作超全局变量$_SERVER['DOCUMENT_ROOT'];例如require $_SERVER['DOCUMENT_ROOT'] . '/getPublisher.php';
  • 相对于当前文件,这是您编写PHP代码的文件(无论该文件是如何访问的)。该目录可用作魔术常数__DIR__;例如require __DIR__ . '/../getPublisher.php';

注意,在第二个例子中,我必须使用..从当前目录"向上爬",意思是"父目录";你可以用这个爬到你喜欢的任何高度:'/../../../../'