Jump to content
Fórum Script Brasil
  • 0

Partir sempre da pasta raiz em PHP


SCIENTIST

Question

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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

Edited by SCIENTIST
Link to comment
Share on other 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 to comment
Share on other 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 '%'

Edited by SCIENTIST
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...