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 | Objetivos |
---|---|
$ _SERVER [‘HTTPS’] | 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’] | Ele retorna o nome do recurso solicitado. |
$ _SERVER [‘SERVER_PORT’] | Ele retorna o número da porta do servidor. |
$ _SERVER [‘QUERY_STRING’] | Ele retorna o valor da string de consulta, se existir no endereço URL da página atual. |
Exemplo 1: exibir o URL da página atual usando uma declaração condicional
O exemplo a seguir mostra como a instrução condicional pode ser usada para obter o protocolo usado na 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. perdido) função é usada para verificar se $ _SERVER [‘HTTPS’] é um conjunto ou não e, se definido, verifique se 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
$ domínio = $ _SERVER['HTTP_HOST'];
// Leia o recurso solicitado
$ resource = $ _SERVER['REQUEST_URI'];
// Descubra o protocolo do url atual
E se( perdido ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'sobre')
$ protocolo = 'https';
outro
$ protocolo = 'http';
// Combine todas as partes para obter o endereço URL completo
$ url = $ protocolo.': //'.$ domínio.$ resource;
// Imprime o endereço URL da página atual
jogou fora '
O endereço URL do atual
a página é:
'. $ url;?> Saída:
A seguinte saída aparecerá após a execução do script no servidor. O valor de $ _SERVER [‘HTTPS’] não é sobre para o servidor local. Portanto, a saída mostra o http protocolo para o URL atual.
Exemplo 2: exibir o URL da página atual usando o operador ternário
O exemplo a seguir mostra como 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. perdido) função é usada para verificar se $ _SERVER [‘HTTPS’] é um conjunto ou não, e se o valor de $ _SERVER [‘HTTPS’] é sobre, então, o operador ternário retornará HTTPS, caso contrário, retornará HTTP. As outras partes do URL são recuperadas e impressas como no exemplo anterior.
// Descubra o protocolo do url atual
$ protocolo = ( perdido ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'sobre'?'https' : 'http');
// Leia o nome de domínio da página atual
$ domínio = $ _SERVER['HTTP_HOST'];
// Leia o recurso solicitado
$ resource = $ _SERVER['REQUEST_URI'];
// Combine todas as partes para obter o endereço URL completo
$ url = $ protocolo.': //'.$ domínio.$ resource;
// Imprime o endereço URL da página atual
jogou fora '
O endereço URL da página atual é:
'. $ url;?>
Saída:
A seguinte saída aparecerá após a execução do script no 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: exibir 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 string 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 URL completo com a string de consulta. Crie um arquivo PHP com o seguinte script.
Aqui, várias condições lógicas e operador ternário são usados 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. A variável $ _SERVER [‘QUERY_STRING’] é usada para recuperar o valor da string de consulta do URL.
// Descubra o protocolo do url atual
$ protocolo = ((! vazio ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
! = 'desligado') || $ _SERVER['PORTA DO SERVIDOR'] == 443)?'https: //' : 'http: //';
// Leia o nome de domínio da página atual
$ domínio = $ _SERVER['HTTP_HOST'];
// Leia o recurso solicitado
$ resource = $ _SERVER['REQUEST_URI'];
// Leia o valor da string de consulta
$ consulta = $ _SERVER['QUERY_STRING'];
// Combine todas as partes para obter o endereço URL completo
$ url = $ protocolo.$ domínio.$ resource;
// Imprime o endereço URL da página atual
jogou fora '
O endereço URL completo da página atual é:
'. $ url;// Imprime a parte da string de consulta
jogou fora '
A string de consulta é:
'. $ consulta;?>
Saída:
A seguinte saída aparecerá após a execução do script acima do servidor sem qualquer string de consulta. Nenhuma string de consulta é fornecida no URL. Portanto, a saída mostra a string de consulta vazia.
A seguinte saída aparecerá após a execução do script acima no servidor com a string de consulta. A saída a seguir mostra o endereço URL com a string de consulta e a string 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 string de consulta também é mostrada neste tutorial. Esperançosamente, este tutorial ajudará os leitores a saber como ler o URL completo da página atual usando o script PHP.