Recuperar o URL completo no PHP

Recuperar o URL completo no PHP
Dois tipos de variáveis ​​globais podem ser usados ​​no PHP: a variável superglobal e a variável definida pelo usuário. $ _Server é uma variável de matriz superglobal que é usada para recuperar o caminho completo da página atual. O protocolo (http ou https) do URL também é necessário para obter o URL completo da página. Se $ _Server ['https'] retorna 'sobre', Em seguida, HTTPS será usado com o endereço URL, caso contrário, Http será usado. Como o endereço URL completo da página atual pode ser recuperado usando o $ _Server a matriz foi explicada neste tutorial.

Variáveis ​​necessárias

As seguintes variáveis ​​superglobais são necessárias para descobrir o endereço URL da página atual.

Variáveis ​​superglobais Propósitos
$ _Server ['https'] Ele retorna sobre Se o protocolo HTTPS for usado no URL da página atual.
$ _Server ['http_host'] Ele retorna o nome do servidor da página atual.
$ _Server ['request_uri'] Retorna o nome de recurso solicitado.
$ _Server ['server_port'] Ele retorna o número da porta do servidor.
$ _Server ['query_string'] Ele retorna o valor da sequência de consulta se existir no endereço URL da página atual.

Exemplo 1: Exiba o URL da página atual usando uma instrução condicional

O exemplo a seguir mostra como a declaração condicional pode ser usada para obter o protocolo usado no URL da página atual. Crie um arquivo php com o seguinte script.

O valor de $ _server ['http_host'] é usado para obter o nome de domínio do URL atual. O valor de $ _server ['request_uri'] é usado para obter o nome do recurso solicitado. isset () A função é usada para verificar se o $ _server ['https'] é um conjunto ou não, e se definido, verifique o valor de $ _server ['https'] sobre ou não. Em seguida, os valores dessas três variáveis ​​são combinados com '//:' para recuperar o URL completo da página atual.

// Leia o nome de domínio da página atual
$ domain = $ _server ['http_host'];
// Leia o recurso solicitado
$ resource = $ _server ['request_uri'];
// Descubra o protocolo do URL atual
if (isset ($ _ server ['https']) && $ _server ['https'] === 'on')
$ protocol = "https";
outro
$ protocol = "http";
// Combine todas as peças para obter o endereço de URL completo
$ url = $ protocolo.": //".$ domain.$ recurso;
// Imprima o endereço URL da página atual
eco "

O endereço URL da corrente
A página é:

". $ url;?>

Saída:

A saída a seguir aparecerá após a execução do script do servidor. O valor de $ _server ['https'] não é sobre para o servidor local. Então a saída mostra o http Protocolo para o URL atual.

Exemplo 2: Exiba o URL da página atual usando operador ternário

O exemplo a seguir mostra a maneira de obter o URL completo da página atual usando o operador ternário. Crie um arquivo php com o seguinte script.

Se A condição é usada no exemplo anterior para descobrir qual protocolo é usado no URL da página atual. A mesma tarefa é realizada usando o operador ternário neste script. isset () A função é usada para verificar se o $ _server ['https'] é um conjunto ou não, e se o valor de $ _server ['https'] é sobre, Em seguida, o operador ternário retornará HTTPS, caso contrário, retornará HTTP. As outras partes do URL são recuperadas e impressas como o exemplo anterior.

// Descubra o protocolo do URL atual
$ protocol = (isset ($ _ server ['https']) && $ _server ['https']
== 'on' ? "https": "http");
// Leia o nome de domínio da página atual
$ domain = $ _server ['http_host'];
// Leia o recurso solicitado
$ resource = $ _server ['request_uri'];
// Combine todas as peças para obter o endereço de URL completo
$ url = $ protocolo.": //".$ domain.$ recurso;
// Imprima o endereço URL da página atual
eco "

O endereço URL da página atual é:

". $ url;
?>

Saída:

A saída a seguir aparecerá após a execução do script do servidor. O valor de $ _server ['https'] não é sobre para o servidor local. Portanto, a saída mostra o protocolo HTTP para o URL atual.

Exemplo 3: Exiba o URL da página atual com base no número da porta

Nos dois exemplos anteriores, o valor de $ _server ['https'] é usado para descobrir o protocolo do URL atual da página, e nenhuma sequência de consulta é usada com o URL. O exemplo a seguir mostra como a variável $ _server ['server_port'] pode ser usada para descobrir o protocolo e recuperar o endereço completo da URL com a sequência de consulta. Crie um arquivo php com o seguinte script.

Aqui, várias condições lógicas e operador ternário é usado para descobrir o protocolo. Se o valor de $ _server ['https'] estiver vazio ou definido como desligado, Em seguida, ele verificará o valor de $ _Server ['Server_port'] para descobrir o protocolo do URL atual. $ _Server ['query_string'] A variável é usada para recuperar o valor da sequência de consulta do URL.

// Descubra o protocolo do URL atual
$ protocolo = ((!vazio ($ _ server ['https']) && $ _server ['https']
!= 'Off') || $ _Server ['server_port'] == 443) ? "https: //": "http: //";
// Leia o nome de domínio da página atual
$ domain = $ _server ['http_host'];
// Leia o recurso solicitado
$ resource = $ _server ['request_uri'];
// Leia o valor da string de consulta
$ query = $ _server ['Query_string'];
// Combine todas as peças para obter o endereço de URL completo
$ url = $ protocolo.$ domain.$ recurso;
// Imprima o endereço URL da página atual
eco "

O endereço completo da URL da página atual é:

". $ url;
// Imprima a parte da string de consulta
eco "

A sequência de consulta é:

". $ query;
?>

Saída:

A saída a seguir aparecerá após a execução do script acima do servidor sem qualquer string de consulta. Nenhuma sequência de consulta é fornecida no URL. Então a saída mostra a sequência de consulta vazia.

A saída a seguir aparecerá após a execução do script acima do servidor com a sequência de consulta. A saída a seguir mostra o endereço da URL com a sequência de consulta e a sequência de consulta separadamente.

Conclusão

Diferentes maneiras de recuperar o URL completo da página atual são mostradas neste tutorial usando vários exemplos. A maneira de separar o URL e a sequência de consulta também é mostrada neste tutorial. Felizmente, este tutorial ajudará os leitores a conhecer a maneira de ler o URL completo da página atual usando o script PHP.