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

Partir sempre da pasta raiz em PHP


SCIENTIST

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0
Como faço para fazer includes, requires e quaisquer outras referências sempre partindo da RAIZ ? Já me falaram para usar o '/' logo direto que parte da raiz, mais não funcionou. Devo habilitar algo no php.ini para funcionar ?

$_SERVER['DOCUMENT_ROOT'];

retorna a raiz do servidor.

Link para o comentário
Compartilhar em outros sites

  • 0

O problema de usar $_SERVER['DOCUMENT_ROOT'] é que quando eu preciso passar algum link que contenha-o via método GET ele tira os espaços e coloca o % no lugar, o que invalida o meu link,

Ex:

Em vez de passar C:\Users\Public\Pictures\Sample Pictures

ele passa: C:\Users\Public\Pictures\Sample%Pictures

Editado por SCIENTIST
Link para o comentário
Compartilhar em outros sites

  • 0
O problema de usar $_SERVER['DOCUMENT_ROOT'] é que quando eu preciso passar algum link que contenha-o via método GET ele tira os espaços e coloca o % no lugar, o que invalida o meu link,

Ex:

Em vez de passar C:\Users\Public\Pictures\Sample Pictures

ele passa: C:\Users\Public\Pictures\Sample%Pictures

Quando tu for pegar via $_GET, qualquer caractere que foi 'encodado' para ser passado via URL será 'decodado' pelo GET. Ou seja...

Se tu passar

C:\Users\Public\Pictures\Sample Pictures
O GET vai encodar
C:\Users\Public\Pictures\Sample%Pictures
Será passado pela URL, e na página-destino, o GET vai pegá-lo e decodificá-lo, ficando exatamente como fora passado:
C:\Users\Public\Pictures\Sample Pictures

Há funções específicas para codificação e decodificação de URLs, chamam-se urlencode e urldecode. Caso o GET não esteja funcionando corretamente com as URLs, use essas funções antes do envio e depois do recebimento da URL.

Link para o comentário
Compartilhar em outros sites

  • 0

Isso é estranho porque não aconteçe só com o GET amigo, por exemplo o método unlink eu uso assim:

unlink($_SERVER['DOCUMENT_ROOT']."/Ache Roupas/admin/foto/produto/" . $cod_produto . "_2.jpg");

Só que infelizmente não funciona, pois debugei e percebi que o $_SERVER ta com o '%'

Editado por SCIENTIST
Link para o comentário
Compartilhar em outros sites

  • 0
Isso é estranho porque não aconteçe só com o GET amigo, por exemplo o método unlink eu uso assim:

unlink($_SERVER['DOCUMENT_ROOT']."/Ache Roupas/admin/foto/produto/" . $cod_produto . "_2.jpg");

Só que infelizmente não funciona, pois debugei e percebi que o $_SERVER ta com o '%'

Então, isto deve ser configurável no php.ini eu creio.

Aqui, se eu der, por exemplo, um

echo $_SERVER[DOCUMENT_ROOT'];
Ele exibe corretamente:
C:/xampp/htdocs
Já que ele está retornando a raiz codificada, tenta usar o urldecode:
unlink(urldecode($_SERVER['DOCUMENT_ROOT'])."/Ache Roupas/admin/foto/produto/" . $cod_produto . "_2.jpg");

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,4k
    • Posts
      652,2k
×
×
  • Criar Novo...