Obtendo o nome do arquivo em PHP

Como posso obter o nome de um arquivo no PHP? O que eu quero fazer é ter uma function ter uma seqüência de um nome de arquivo e depois fazer algumas coisas se estiver realmente na página.

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

Existem duas variables ​​que lhe darão nomes de arquivos.

Por exemplo: você chama o /test/test1.php como url e test1.php inclui test2.php.

__FILE__ lhe dará o arquivo atual do código de execução, neste caso ele retornará “test2.php”

$_SERVER['PHP_SELF'] lhe dará o URL completo da chamada original, neste caso “/test/test1.php”

Observe que você pode usar a function basename () para obter apenas o nome do arquivo de um caminho.

Se eu entender corretamente você quer __FILE__ .

Ref: http://php.net/manual/en/language.constants.predefined.php

Eu acho que você quer usar:

 _SERVER["PHP_SELF"] 

por exemplo:

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

Vai

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

Trabalha na linha de comando também.

Obrigado pelas suas respostas. Foi o que acabou fazendo o trabalho para mim.

 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" '; } } 

Eu encontrei ____FILE____ não funcionou para mim porque eu escrevi esta function em um arquivo incluído.

A ponta basename foi útil.

Obrigado por toda a ajuda!