Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Maykel-ctba

Detectar o caminho relativo para a raiz do diretório

Recommended Posts

Fala povo,

 

Tenho a seguinte questão. Estou tentando automatizar ao máximo um CMS que estou criando em uma nova versão e surgiu a seguinte necessidade.

 

Tenho diversos includes espalhados pelo template. Porém, de acordo com a mudança de diretório da página, nestes includes preciso incluir "../" no caminho.

 

Basicamente, hoje eu detecto qual diretório ele está, e determina um número de ../ para voltar ao raiz e fazer includes corretos. Porém, gostaria de automatizar esse processo, sem ter que setar manualmente para cada diretório criado, o que me gasta muito tempo hoje e me pouparia diversos problemas futuros.

 

Código atual

	$url = strip_tags($_SERVER['REQUEST_URI']);
	$url_array = explode("/", $url);
	
	array_shift($url_array);
	
	if(in_array("modulo", $url_array))
	{
		$dirRaiz = "../../";
	}
	else
	{
		$dirRaiz = "../";	
	}

 

Claro que, encurtei para deixar apenas de exemplo caso ele esteja no diretório "modulo", mas existem varios diretórios que precisaria fazer isso.

 

Resumindo:

Existe um jeito de deixar o $dirRaiz detectar automaticamente quantos "../" ele tem que dar para voltar ao diretório raiz do server?

 

Tentei usando algumas variáveis $_SERVER, mas sempre pega o caminho todo (como estou localhost, pega até as pastas /Applications/xampp/htdocs, coisas que são desnecessárias.



Ops, parece que com isso, deu certo:

 

$dirRaiz = $_SERVER['DOCUMENT_ROOT']."/";

 

Vou testar mais um pouco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu uso da seguinte forma:

 

include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'file.php';

 

Dessa forma você consegue pegar qual o diretorio do arquivo e atraves dele você efetua os includes necessários.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.