Я получил следующий фрагмент кода:
function RemoveSubdir(){
// Get the requested path (including all slashes) and Convert to lowercase
$Request_Path = strtolower($_SERVER['REQUEST_URI']);
// Create an array, exploding at the forward slash
$Request_Path = explode('/',$Request_Path);
// return the last element being the file name requested
$Arr_Elements = end($Request_Path);
if (empty($Arr_Elements)){
return prev($Request_Path);
}
return $Arr_Elements;
}
$Directory_Manipulation = RemoveSubdir();
echo $Directory_Manipulation;
var_dump(strpos('global.inc.php',$Directory_Manipulation));
я в настоящее время указывает мой браузер на правильный путь к файлу (будучи 127.0.0.1/PayC/Global.inc.php) и возвращается из RemoveSubdir()
возвращает правильное значение global.inc.php, который, как ожидается, .. Все работает нормально в данный момент время, теперь некорректная/неожиданная валидация происходит из куска кода:
strpos('global.inc.php',$Directory_Manipulation);
сейчас, я e xpecting это вернуть ничего, кроме false
, что хорошо, когда URI является:
127.0.0.1/PayC/Global.inc.php
, как показано ниже: int(0)
Но URI от
127.0.0.1/PayC/Global.inc.php?
я получаю возвращение: bool(false)
Я знаю, что я мог бы удалить параметры хвостовых после расширения .php, но я хочу оставить их нетронутыми .. Я пытался отладки и дальше, но было обратился к var_dumping
и опубликовал мои результаты здесь
Ah , Мы идем. Даже посмотрев документацию .. Я получал параметры не так. Спасибо –