我正在使用一个简单的预制授权工具来保护我的网站。该工具要求将这行代码应用到每个 .php 页面的顶部。Auth.php 位于根级别。
<?php ${(require_once('Auth.php'))}->protectme(); ?>
我需要能够将这行代码添加到每个文件中,包括子文件夹中的文件。但我不确定如何应用php 中 require_once 中所示的方法,以确保它始终与protectme()一起绝对链接;功能。
任何启蒙都会受到赞赏。
干杯。
我正在使用一个简单的预制授权工具来保护我的网站。该工具要求将这行代码应用到每个 .php 页面的顶部。Auth.php 位于根级别。
<?php ${(require_once('Auth.php'))}->protectme(); ?>
我需要能够将这行代码添加到每个文件中,包括子文件夹中的文件。但我不确定如何应用php 中 require_once 中所示的方法,以确保它始终与protectme()一起绝对链接;功能。
任何启蒙都会受到赞赏。
干杯。
将变量设置为绝对路径。$_SERVER['DOCUMENT_ROOT'] 是一个 PHP 全局变量,用于存储服务器、根路径。您只需将其余的路径信息插入到脚本中。例如,如果您的网站存在于 /var/www/ 并且您的脚本存在于 /var/www/scripts 您将执行以下操作。
$path = $_SERVER['DOCUMENT_ROOT'] . '/scripts/Auth.php';
require_once($path);
您可以使用相对路径来访问它。
上一级:../Auth.php
上两层:../../Auth.php
等等
您应该更改 php.ini 以将包含路径更改为该(所有其他)包含文件的路径。然后,您可以在每个页面上都包含它们而无需路径,而不管它们自己的位置如何。
除了已经说过的所有内容之外,我建议集中所有常见功能。创建一个文件,如 common.php ,其中包含您应用程序所需的所有包含,然后从您的所有脚本中包含该文件。
此外,进行相对包含的一个好方法是将dirname()
函数与__FILE__
魔术常数结合使用。例如:
require_once dirname(__FILE__) . '/../lib/common.php';
将根目录添加到您的include_path
- PHP 将为您完成剩下的工作。没有复杂的变量、常量或其他任何东西。
如果您无权访问 php.ini,我之前使用过类似的东西
include $_SERVER['DOCUMENT_ROOT']."/"."include_me.php";
由于它是站点范围的更改,因此最简单的方法是首先将其目录添加到php.ini
.
如果您无法更改php.ini
,还有一些其他选项可将其添加到包含路径。