PHP绝对路径在需求中

PHP绝对路径在需求中,php,absolute,require-once,Php,Absolute,Require Once,我正在使用一个简单的预先制作的授权工具来保护我的网站。该工具要求将这行代码应用于每个.php页面的顶部。php存在于根级别 <?php ${(require_once('Auth.php'))}->protectme(); ?> 我需要能够将这行代码添加到每个文件,包括子文件夹中的文件。但我不确定如何应用中所示的方法,以确保它始终与protectme()绝对链接;功能 任何启示都是值得赞赏的 干杯。您可以使用相对路径到达它 向上一级:。/Auth.php 向上两级:。/.

我正在使用一个简单的预先制作的授权工具来保护我的网站。该工具要求将这行代码应用于每个.php页面的顶部。php存在于根级别

<?php ${(require_once('Auth.php'))}->protectme(); ?>

我需要能够将这行代码添加到每个文件,包括子文件夹中的文件。但我不确定如何应用中所示的方法,以确保它始终与protectme()绝对链接;功能

任何启示都是值得赞赏的


干杯。

您可以使用相对路径到达它

向上一级:
。/Auth.php

向上两级:
。/../Auth.php


等等。

将根目录添加到您的
include\u路径中
-PHP将为您完成其余工作。没有复杂的变量、常量或任何东西。

您应该更改php.ini,将包含路径更改为包含文件的路径(所有其他文件)。然后,您可以在每个页面上不带路径地包含它们,而不考虑它们自己的位置


如果您没有访问php.ini的权限,我以前使用过类似的方法

include $_SERVER['DOCUMENT_ROOT']."/"."include_me.php";

由于这是一个站点范围的更改,最简单的方法是首先在
php.ini
中的include路径中添加其目录


如果您无法更改php.ini,则存在以下问题

将变量设置为绝对路径$_SERVER['DOCUMENT_ROOT']是存储服务器根路径的PHP全局变量。您只需要将其余的路径信息插入脚本。例如,如果您的网站位于/var/www/上,而您的脚本位于/var/www/scripts,那么您将执行以下操作

$path = $_SERVER['DOCUMENT_ROOT'] . '/scripts/Auth.php';
require_once($path);

除了已经说过的所有内容之外,我建议集中所有通用功能。创建一个文件,如common.php,包含应用程序所需的所有内容,然后从所有脚本中包含这些内容

另外,执行相对include的一个好方法是将
dirname()
函数与
\uuuu FILE\uuuu
魔常数结合使用。例如:

require_once dirname(__FILE__) . '/../lib/common.php';

此功能的目的是什么?提示很好,但并不总是有效。它与。嗨。谢谢,但是单独排序太费时了。@fitzilla,在这种情况下,您应该遵循hakre或DampeS8N的解决方案。它们是你问题的好答案。请记住,您正在进行INI更改,这需要在部署代码的任何其他地方进行更改。