私のプロジェクトでは、PHPのファイルが認証をチェックします。異なるパスの深さからのリダイレクト
$ PROJECT_ROOT/libに/のfunctions.php:ユーザーが認証されており、そうでない場合、それは$ PROJECT_ROOT/login.phpページにリダイレクトするかどうかを
<?php
check_authentication();
function check_authentication(){
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
if(defined('authorized') && authorized){
if(!(isset($_SESSION['admin'] && $_SESSION['admin']))){
header('Location: login.php');
exit(0);
}
}
}
check_authentication機能をチェックします。ファイル$ PROJECT_ROOT/reader.phpで
:
<?php
define('authorized',TRUE);
require_once('lib/functions.php');
これはOKの作品!
ただし、ファイル$ PROJECT_ROOT /モジュール/ text.php中:それは$のPROJECT_ROOTディレクトリ内に位置していないあるので、これは正しくリダイレクトされていません
<?php
define('authorized',TRUE);
require_once('../lib/functions.php');
。
this question「functions.php」のURIフォルダを取得できないと私は理解します。
この問題を解決するにはどうすればよいですか?
明らかに私は絶対パスでリダイレクトしようとすることができますが、これは私のプロジェクトの移植性を損なうでしょう。