À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]";
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.
Valeu, ajudou bastante! 😉
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?
Como essa confusão é apenas do lado do cliente, tem que chamar javascript para resolver isso: http://stackoverflow.com/questions/17242687/getting-url-parameter-in-php-after-from-address-bar-url
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.
Markus, já tentou assim:
session_start();
if ( !isset( $_SESSION[“origURL”] ) )
$_SESSION[“origURL”] = $_SERVER[“HTTP_REFERER”];
Fonte: http://stackoverflow.com/questions/1864583/get-original-url-referer-with-php
Teria como pegar só parte?
Queria pegar só o nome da pagina que tá na Url. Tipo: “exemplo.php”.
Dá uma olhada em: http://php.net/manual/pt_BR/function.basename.php
Ótimo! E tem como pegar só o que tá depois do .php? Tipo: ?sensor=5
Tenta: $_SERVER[‘QUERY_STRING’]
http://se2.php.net/reserved.variables.server.php
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 !
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…
Muito obrigado, o codigo funcionou do jeito que eu queria.
Obrigado pela ajuda,
O post e os comentários resolveram meu caso.