Ir para o conteúdo
pedrotuga

preciso de uma função que devolva o url base

Mensagens Recomendadas

pedrotuga    31
pedrotuga

A dúvida é a to título.

Preciso de um função que devolva o url com path para o script que está a ser executado.

Per exemplo:

funcao(http://exemplo.com/path/to/script.php'>http://exemplo.com/path/to/script.php);

deve devolver:

http://exemplo.com/path/to/

Mas atenção que isto

http://exemplo.com/path/to/index.php/extra/path

deve devolver o mesmo.

Já ando praqui às voltas e não encontro nenhuma forma simples elegante de fazer isto. Há por aí desenas de funções, cada uma com as suas limitações.

O que usariam neste caso?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
Tiago Salgado

Em PHP não te posso ajudar pq não conheço as funções que deveria usar...mas eu faria algo do tipo

str = "http://exemplo.com/path/to/index'>http://exemplo.com/path/to/index.php/extra/path"'>http://exemplo.com/path/to/index'>http://exemplo.com/path/to/index.php/extra/path"

str = cortar_ate(ultima_posicao("."))

str = cortar_ate(ultima_posicao("/"))

Ou seja, cortava o url até ao ultimo ponto (http://exemplo.com/path/to/index'>http://exemplo.com/path/to/index) e depois até à ultima slash (http://exemplo.com/path/to/).

Em vb.net seria algo deste tipo... em PHP não sei se tens estas funções tb disponiveis :)

Dim str As String = "http://www.exemplo.com/path/to/index.php/extra/path"
        str.Substring(0, str.Substring(0, str.LastIndexOf(".")).LastIndexOf("/")+1)

Não se era este tipo de ajuda que pretendias ... mas fica a dica

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Epá, de forma limpa limpa, não estou a ver...

function ois($link){
$a = explode('.', str_ireplace("http://", '', $link), 2);
$a = explode('/', $a[0]);
unlink($a[count($a)-1]);
return "http://".implode("/", $a);
}

Should do the trick. :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Não se era este tipo de ajuda que pretendias ... mas fica a dica

Good point. Sim, temos a substr() e a strpos() (esta é que é um bocado manhosa...) que replicam essas. :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

essa solução infelizmente tem falhas.

Se se configurar o apache para adicionar o .php caso encontre o ficheiro, isso deixa de funcionar :)

há alguma função que devolva a path a partir da raíz do site?

Assim podia sacar o host do request e path dessa funcção.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade