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]";

15 Comments

  1. Avatar of Carlos Lorenzon Carlos Lorenzon 7 de setembro de 2010 at 14:04

    e pq não fazer apenas isso:

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

    Reply
    1. Avatar of Angélica Cost Angélica Cost - Site Author 7 de setembro de 2010 at 11:07

      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.

      Reply
  2. Avatar of Marco Marco 7 de dezembro de 2012 at 11:57

    Valeu, ajudou bastante! 😉

    Reply
  3. Avatar of fye flourigh fye flourigh 24 de julho de 2014 at 14:23

    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?

    Reply
  4. Avatar of Markus Luan Markus Luan 27 de abril de 2016 at 16:24

    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.

    Reply
  5. Avatar of Valmir Valmir 11 de setembro de 2016 at 16:33

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

    Reply
  6. Avatar of Valmir Valmir 12 de setembro de 2016 at 07:14

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

    Reply
  7. Avatar of Jeff Jeff 19 de janeiro de 2017 at 21:57

    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 !

    Reply
  8. Avatar of Elísio Sekualáli da Conceição Décimo Elísio Sekualáli da Conceição Décimo 7 de janeiro de 2018 at 08:18

    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…

    Reply
  9. Avatar of Raul Antunes Raul Antunes 26 de novembro de 2018 at 03:19

    Muito obrigado, o codigo funcionou do jeito que eu queria.

    Reply
  10. Avatar of Lúcio Lúcio 27 de junho de 2019 at 17:04

    Obrigado pela ajuda,
    O post e os comentários resolveram meu caso.

    Reply

Leave A Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *