Obtenha o URL completo atual em PHP

Krissnaawat Kaewsanmuang 16 fevereiro 2024
PHP
  1. Use http_build_url() para obter o URL atual em PHP
  2. Use $_SERVER[] para obter o URL atual em PHP
  3. Use $_SERVER['HTTPS'] para obter o URL atual em PHP
  4. Obtenha o URL atual, incluindo parâmetros em PHP
  5. Conclusão
Obtenha o URL completo atual em PHP

O tutorial apresenta como obter o URL completo atual na linguagem de programação PHP. Pode haver muitos casos de uso para obter a URL completa do PHP. Temos que renderizar o conteúdo da página da Web com base em parâmetros de consulta. Podemos precisar redirecionar ou atualizar a página como um todo. Portanto, um URL completo pode ser de valor essencial quando se trata de programação web.

Aqui, vamos discutir diferentes maneiras de obter a URL completa na programação PHP.

Geralmente, existem algumas etapas que devemos saber para obter o URL completo da página atualmente em execução, que são fornecidas abaixo:

  • Precisamos criar uma variável PHP que armazenará a URL em formato de string.
  • Precisamos verificar se os servidores têm HTTPS habilitado. Em caso afirmativo, precisamos acrescentar HTTPS à string do URL. Se HTTPS não estiver habilitado, precisamos acrescentar HTTP à string do URL.
  • Também precisamos anexar o símbolo :// ao URL.
  • Precisamos acrescentar o nome HTTP_HOST do servidor. O nome HTTP_HOST é o host que solicitamos, por exemplo www.google.com, www.exampledomain.com, etc.
  • Precisamos anexar REQUEST_URI à string do URL. REQUEST_URI é o recurso que solicitamos, por exemplo /index.php, etc.

Agora, discutiremos alguns dos métodos mais eficientes para obter o URL completo atual no ecossistema de programação PHP:

Use http_build_url() para obter o URL atual em PHP

Esta solução é bastante simples. Podemos usar a função embutida do PHP chamada http_build_url(). Este método funciona para HTTP e HTTPs.

$link =  http_build_url();

Esta função é usada para construir um URL. Ele aceita quatro parâmetros juntos:

  • url: este parâmetro representa o URL na forma de uma string ou array associativo. É um valor de retorno semelhante a parse_url().
  • partes: este parâmetro é igual ao primeiro argumento.
  • flags: É uma máscara de bits de constantes HTTP_URL binárias.
  • new_url: Se este parâmetro for definido, ele será preenchido com as partes do URL composto como parse_url() retorna.

No geral, este método retorna o novo URL como uma string em caso de sucesso, ou False em caso de falha.

Use $_SERVER[] para obter o URL atual em PHP

Outra maneira é usar a variável global chamada $_SERVER[]. O $_SERVER[] é uma variável embutida do PHP que é usada para obter o URL da página atual. É também uma variável superglobal. Portanto, está sempre disponível em todos os âmbitos.

Simplesmente passamos o parâmetro REQUEST_URI para a variável conforme mostrado no exemplo abaixo:

Exemplo:

$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  • $_SERVER[HTTP_HOST] representa o nome do host ou nome de domínio como https://www.delftstack.com/
  • $_SERVER[REQUEST_URI] represent URI like /dashboard/phpinfo.php

Use $_SERVER['HTTPS'] para obter o URL atual em PHP

Aqui está outro formato de código rígido explícito para obter a URL atual em PHP.

A variável global $_SERVER['HTTPS'] representa o status do HTTPS. Portanto, podemos usá-lo dentro da função isset() para verificar se HTTPS existe ou não. Isso nos ajudará a saber se HTTPS está habilitado em uma URL ou não. Enquanto isso, verificando o valor de $_SERVER['HTTPS'], podemos decidir se devemos ou não acrescentar “https” ao URL.

Ambos os exemplos mostram a detecção de HTTPS. O exemplo abaixo é o formato longo:

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

Ou você pode usar o formato curto, conforme mostrado no exemplo abaixo:

$link = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']

Obtenha o URL atual, incluindo parâmetros em PHP

Para obter o URL geral, incluindo o caminho, parâmetros e strings de consulta, podemos usar http_build_url() conforme mostrado no exemplo abaixo:

$all_in_address_bar = http_build_url();

Conclusão

Este tutorial demonstrou algumas das maneiras mais eficientes de obter a URL atual na programação PHP. Os exemplos certamente ajudarão você a entender o formato, o mecanismo e as sintaxes usadas. A técnica mais usada para obter o URL atual é usando a variável super global $_SERVER. Usando isso, você tem controle total sobre o formato da sintaxe. No entanto, a técnica é um pouco complexa em comparação com as outras. Agora, depende de você decidir qual método de obter a URL atual é mais adequado com base em seu cenário de programação PHP. Pode haver diferentes casos de uso e eficiência no uso de um determinado. A melhor opção pode ser experimentar cada um deles e escolher o mais flexível e eficiente para o seu cenário de programação.