Ir para conteúdo

Arquivado

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

marcelobbt

Como incluir classes de diretório diferentes?

Recommended Posts

Estava tentando chamar a classe combate que está dentro da pasta classes, mas a minha página está na pasta aventura. Então quando coloco include, ou include_once, ele não consegue encontrar a página neste outro diretório.

 

include ('./classes/combate.classs.php');

Mensagem de erro:

 

Warning: include(./classes/combate.class.php):failed to open stream: No such file or directory in ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é o problema de utilizar caminho relativo. Você deveria usar a constante __DIR__ ou nesse caso usar autoloading, de preferência seguindo a PSR-0.

Como faço isso?

 

A estrutura é assim:

 

Diretório: aventura

Arquivo: onde está o include

 

Diretório: classes

Arquivo: combate.class.php

 

Obs: Tentei com 1 e com 2 pontos e sem pontos e nada resolveu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa minha ignorância, mas tem como por um exemplo de como eu usaria esse __DIR__ ?

Não consegui compreender pelo link que me passou, onde coloco ele? Como ficaria?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como colocaria esta constante nesse caso abaixo?

 

A estrutura é assim:

 

Diretório: aventura

Arquivo: onde está o include

 

Diretório: classes

Arquivo: combate.class.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei fazer mas ele fica procurando um diretório dentro do outro assim:

 

".../aventura/../classes/combate.class.php"

 

Ele não volta para o diretório raiz para depois entrar no diretório classes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A constante __DIR__, retorna o path completo do diretório corrente.

 

Se retornou esse path relativo do post #13, provavelmente fez algo errado.

 

Apenas para ter certeza, faça testes...

 

exemplo:

echo __DIR__; exit;

 

teste e veja o que retorna..

Compartilhar este post


Link para o post
Compartilhar em outros sites

O __DIR__ está pegando o diretório antigo.

 

c:/.../aventura

 

Não estou acertando o modo de mudar o diretorio do __DIR__



Realmente é algo inexplicável. Aqui quando hospedei funcionou perfeitamente. Foi algum bug aqui no meu PC. vai entender.

 

Por isso nada funcionava.

 

Desculpe galera pelo tempo desperdiçado de vocês.

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.