Как я могу получить имя файла в PHP? Я хочу сделать, чтобы функция взяла строку имени файла, а затем сделайте некоторые вещи, если это действительно на странице.
function onThisPageFunction(fileNameFromFunction) { if(onThisPage == fileNameFromFunction) { do stuff } }
Существуют две переменные, которые дадут вам имена файлов.
например: вы вызываете /test/test1.php, поскольку url и test1.php включают test2.php.
__FILE__
предоставит вам текущий файл исполняемого кода, в этом случае он вернет «test2.php»,
$_SERVER['PHP_SELF']
предоставит вам полный URL-адрес исходного вызова, в данном случае «/test/test1.php»
Обратите внимание, что вы можете использовать функцию basename (), чтобы получить только имя файла из пути.
Если я правильно понял, вы хотите __FILE__
.
Ссылка: http://php.net/manual/en/language.constants.predefined.php
Я думаю, вы хотите использовать:
_SERVER["PHP_SELF"]
например:
if (isset($_SERVER["PHP_SELF"]) AND ($_SERVER["PHP_SELF"] == 'foo')){ echo 'do stuff'; }
Будет
if (realpath($_SERVER['SCRIPT_NAME']) === __FILE__) { echo "Called directly"; }
Работает и в командной строке.
Спасибо за ваши ответы. Это то, что закончилось тем, что я сделал работу для меня.
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____
не работает для меня, потому что я написал эту функцию во включенном файле.
Наконечник базового имени пригодился.
Спасибо за помощь!