Seja para inserir em botões do twitter, facebook, etc.
As globais do PHP só informam após o domínio do site (www.qualquercoisa.com), o que muitas vezes não serve de nada para um botão do twitter por exemplo.
Pesquisei na net pra ver se já tinha algo pronto pra eu usar e nada. Só tinha gente gambiarrando com o SCRIPT_NAME , REQUEST_URI ou PHP_SELF que não valem de nada quando você precisa do endereço COMPLETO incluindo o 'http://' (protocolo) e o 'www.qualquercoisa.com' (domínio).
Eu precisava era de algo parecido com o this.location comum no javascript.
Daí resolvi fazer o que sei: gambiarrar também.
Saiu o código abaixo:
$proto = strtolower(preg_replace('/[^a-zA-Z]/','',$_SERVER['SERVER_PROTOCOL'])); //pegando só o que for letra
$location = $proto.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo $location;
Prontinho, espero ter ajudado. Comenta ae.Gostou da dica acima? Então clica nos botões de compartilhamento abaixo e me ajude a dica a subir no Google.

Não sei se entendi bem qual endereço você quer obter, mas usando SCRIPT_NAME você não estará vendo o endereço que foi usado para acessar o site, o que eu entendi ser seu objetivo.
ResponderExcluirEm vez de SCRIPT_NAME, pode-se usar REQUEST_URI para obter o endereço usado para acessar a página atual.
Com SCRIPT_NAME, quem usa rewrite receberá sempre a mesma URL (que será o script que recebe a requisição).
Serve não cara.
ResponderExcluirSCRIPT_NAME, REQUEST_URI ou PHP_SELF não pegam o protocolo nem o domínio.
Só pegam o que vem DEPOIS do domínio.
Não estou dizendo para usar apenas REQUEST_URI. Digo para usar REQUEST_URI no lugar de SCRIPT_NAME, caso contrário quem usa Wordpress, por exemplo, vai obter sempre http://dominio.tld/index.php que é para onde o rewrite encaminha as requisições.
ResponderExcluirops. É mesmo. Falha nossa. Valeus.
ResponderExcluir