2008-11-17 2 views
2

Как я могу получить имя файла на PHP? Я хочу сделать, чтобы функция взяла строку имени файла, а затем сделайте некоторые вещи, если это действительно на странице.Получение имени файла в PHP

function onThisPageFunction(fileNameFromFunction) 
{ 
    if(onThisPage == fileNameFromFunction) 
    { 
    do stuff 
    } 
} 

ответ

7

Есть две переменные, которые будут давать вам имена файлов.

например: вы вызываете /test/test1.php, так как url ​​и test1.php включают test2.php.

__FILE__ даст вам текущий файл исполняемого кода, в этом случае он будет возвращать «test2.php»

$_SERVER['PHP_SELF'] даст вам полный URL исходного вызова, в данном случае «/ тест/test1.php "

Обратите внимание, что вы можете использовать функцию basename(), чтобы получить только имя файла с пути.

0

Я думаю, что вы хотите использовать:

_SERVER["PHP_SELF"] 

например:

if (isset($_SERVER["PHP_SELF"]) AND ($_SERVER["PHP_SELF"] == 'foo')){ 
echo 'do stuff'; 
} 

Будет

0
if (realpath($_SERVER['SCRIPT_NAME']) === __FILE__) { 
    echo "Called directly"; 
} 

работы в командной строке тоже.

0

Спасибо за ваши ответы. Это то, что закончилось тем, что я сделал работу для меня.

function menuStrikethrough($pageName) 
    { 
     // get the name of the page we're on 
     $fileName = basename($_SERVER['PHP_SELF']); 

     // if fileName equals pageName then output css to show a strikethrough 
     if($fileName == $pageName) 
     { 
      echo ' style="text-decoration:line-through" '; 
     } 
    } 

Я нашел ____FILE____ не работает для меня, потому что я написал эту функцию в включаемого файла.

Базовое название подсказки пригодилось.

Спасибо за помощь!

Смежные вопросы