Ir para conteúdo
Fórum Script Brasil
  • 0

Criando Endereco Com /..


felipesioux

Pergunta

Estou com uma questao dificil de resolver. já tentei de tudo, e ainda não consegui.

O que eu quero é criar o endereco completo de uma pagina que esta numa pasta abaixo da pasta atual..

Por exemplo, se eu estou na pagina http://localhost/admin/index.php

e eu quiser gerar uma string para a pagina:

http://localhost/voltar.php

Eu já tentei de tudo, mas nada funcionou.. A questao é que eu não posso ter esses enderecos `hard coded`.. nem mesmo a pasta admin.. preciso de algo generico..

Se eu digitar uma tag

<a href=`../voltar.php`>

o navegador mostra na barra de status o caminho exato que eu quero. Mas eu preciso de pegar uma STRING com esse caminho, certinho, sem mostrar os ..

Tentei já com a funcao realpath(), mas ela parece que volta o caminho do arquivo no meu pc mesmo, e não no servidor.. Tipo, só consegui fazer ela voltar D:\voltar.php, considerando que D: é o root nesse servidor..

alguém ai tem alguma ideia? já tentei com __FILE__, $_SERVER[`PHP_SELF`] e mais um monte de variaveis na array $_SERVER, e não consegui de jeito nenhum resolver..

sad.gif

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Maluco Beleza, eu quero pegar o caminho completo de uma pagina, mas não da pagina atual, e sim uma pagina que esta em uma pasta abaixo da que eu estou..

só que eu não quero o caminho baseado no endereco real do HD, e sim o caminho da pagina no server..

tipo, o que eu preciso é alguma funcao que converta a string

http://localhost/admin/../voltar.php
para
http://localhost/voltar.php

Nerdao, acho que isso não serve, porque eu não estou tentando incluir a pagina na pagina atual, só quero pegar uma string com o caminho para ela, sem ter que abri-la..

Link para o comentário
Compartilhar em outros sites

  • 0

Acabei de criar este script... deve funcionar rolleyes.gif

Qualquer coisa, posta aí!

Um abraço!

<?php

$caminho = "http://www.uol.com.br/esportes/futebol/libertadores/../../basquete.php";

while (preg_match("/\/[A-Za-z0-9_-]+\/\.\.\//", $caminho)) {

    $caminho = preg_replace("/\/[A-Za-z0-9_-]+\/\.\./", "", $caminho);

}

echo $caminho;

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Hehe, vlw cara.. Fiquei impressionado em o php não ter uma função dessas já pronta.. hehe, tava preocupado em ter que deixar os caminhos hard-coded..

Vlw pela função, não manjo nada de Regex.. ainda não testei ela, vou testar hj a tarde em casa, e depois posto os resultados.

wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

beleza, cara! Acredito ela que vai resolver seu problema smile.gif

Bem que o PHP podia ter uma função dessas pronta, mesmo...

Se você quiser aprender um pouco sobre ERs, entre em contato comigo. Aí eu passo um tutorial muito bom que encontrei.

***** EDITANDO ******

Olha só, eu montei o código em formato de função... e já dei uma incrementada, tb (agora ele dá um erro dizendo que a URL "http://www.uol.com.br/esportes/../../", por exemplo, é inválida)

Falou! Um abraço!

function arruma_url($string) {

    while (preg_match("/\/[A-Za-z0-9_-]+\/\.\./", $string)) {

        $string = preg_replace("/\/[A-Za-z0-9_-]+\/\.\./", "", $string);

        if (preg_match("/[A-Za-z0-9_-]\.[A-Za-z0-9_-]+\/\.\./", $string)) {

            $string = "URL inv&aacute;lida!";

        }

    }

    return $string;

}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...