PHP_SELF не приравнивается

Я пытаюсь кодировать боковую панель для моего сайта. Для этого я храню пары значений, соответствующие ссылкам в файле, скажем names.txt:

Home-index.php
Coding-coding.php

и мой php-файл примет эти значения и превратит их в ссылки на стороне, т.е.

<a href = "index.php">Home</a>
<a href = "coding.php">Coding</a>

И так далее. Теперь я хочу сделать так, чтобы для отображаемой страницы вместо отображения гиперссылки она отображала жирный текст.
т.е. если я был на index.php, он выводит

<strong>Home</strong>
<a href = "coding.php">Coding</a>

Для этого я использую explode разделить мои строки из файла, а затем PHP_SELF определить, является ли это одна и та же страница.

Кроме того, поскольку скрипт будет находиться на разных страницах, я поместил его в файл (side.php) и затем использовал include('side.php'), Внутри side.php есть функция боковой панели, которая берет каталог страницы (через PHP_SELF) в качестве аргумента. Все остальное работает отлично, кроме жирного текста. Помогите?

Постскриптум Когда я сказал PHP_SELF Я имею в виду $_SERVER['PHP_SELF'],

Спасибо!

(Мой код или его часть …)

В side.php:

<?php
function sidebar($input){
# echo ($input);
$sitenav = fopen("file","r");
$amts=0;
do{
$sidebarvals[$amts]=fgets($sitenav);
$amts=$amts+1;
}while ($sidebarvals[$amts-1]!="EOF");
$amts--;
for ($i=0;$i<$amts;$i++){
$parts = explode("-",$sidebarvals[$i]);
if ("/" . $parts[1]!=$input){
echo "<a href=" . $parts[1] .">" . $parts[0] . "</a>";
}else{
echo "<strong>" . $parts[0] . "</strong>";
}
echo "<br>";
}
fclose($sitenav);
}
?>

и на каждой странице:

include ('side.php'); sidebar($_SERVER['PHP_SELF']);

-1

Решение

Как я знаю, PHP_SELF возвращает имя файла с полным путем к файлу, так как index.php вернет /index.php. Но похоже, что вы пытаетесь сопоставить index.php с возвращенным значением /index.php.
Итак, для исправления вы должны получить имя файла из PHP_SELF, и это может быть достигнуто таким образом.

$url_array = explode('/',$_SERVER['PHP_SELF']);
$last = count($url_array) - 1;
$file = url_array[$last];
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]