Pegando a url atual com PHP

Às vezes, é preciso pegar a url atual para usar em alguma variável ou condicional. Veja como é simples, basta usarmos uma função para puxar esta informação.

function UrlAtual(){
 $dominio= $_SERVER['HTTP_HOST'];
 $url = "http://" . $dominio. $_SERVER['REQUEST_URI'];
 return $url;
 }

Depois, basta usar como preferir, por exemplo, se quiser apenas imprimir o resultado na tela:

echo "A URL atual é: ". UrlAtual();

Simples. 🙂

Atualização (20/09/2017) via Stack Exchange

$url ="http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Para suportar https:

$url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Anteriores

Efetue login em vários sites de uma vez só

Próximo

Tenha seu próprio encurtador de URL

  1. e pq não fazer apenas isso:

    $url = “http://” . $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’];
    echo “A URL atual é: ” . $url;

    • Para o caso que precisei, eu tinha que armazenar a url atual e compará-la com outras. Como precisava usar em outras partes do meu código, criei uma função.

      Mas para um uso único, o código que você fez é excelente.

  2. Marco

    Valeu, ajudou bastante! 😉

  3. poderia me ajudar em uma coisa? tenho a seguinte URL http://localhost/home#6 quando passo para uma variável, ele simplesmente anula tudo que estiver depois do # e eu quero muito pegar justamente o que esta após este e este junto, ou seja

    url = http://localhost/home#6

    variavel = #6

    mas não vai, tentei um monte de coisas, vocês sabem alguma forma?

  4. Markus Luan

    Amigo, queria saber se tendo duas paginas, index.php com um form e recebe.php que recebe esse form, eu teria como pegar a url da index.php através da recebe.php? Pois preciso fazer a verificação de quem está direcionando para a minha página.

  5. Valmir

    Teria como pegar só parte?
    Queria pegar só o nome da pagina que tá na Url. Tipo: “exemplo.php”.

  6. Valmir

    Ótimo! E tem como pegar só o que tá depois do .php? Tipo: ?sensor=5

  7. Jeff

    Por favor pode falar sobre a insegurança de usar o
    $_SERVER[‘HTTP_HOST’];
    Já li um texto mas era em inglês e não me lembro onde foi

    Grato !

  8. Elísio Sekualáli da Conceição Décimo

    Bom dia pessoal
    Penso que poderia ser assim_

    $documentophp = str_replace( $_SERVER[‘REQUEST_URI’], ” , $_SERVER[‘PHP_SELF’] );
    echo $documentophp;

    Se der certo no seu teste dê um retorno…

Deixe uma resposta

Desenvolvido em WordPress & Tema por Anders Norén