Ir para conteúdo

POWERED BY:

Arquivado

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

Mário Miranda

[Resolvido] Erro ao incluir script

Recommended Posts

Boa tarde pessoal.

Sei que parece uma pergunta meio tosca, mas eu não estou entendendo o que está acontecendo.

 

Minha estrututa de diretorio está assim:

/libermac/includes
Dentro de includes eu tenho um script chamado lib.php que contem minha classe de conexão e execução de operações.

Ainda dentro de includes eu tenho uma pasta chamada relatorio, então fica assim:

/libermac/includes/relatorio
Dentro da pasta relatorio eu tenho um arquivo chamado report.class.php

Esse arquivo contem minha classe de relatorio.

Eu estou tentando executar um include dentro dessa classe só que o PHP está retornando:

Warning: include(../includes/lib.php) [function.include]: failed to open stream: No such file or directory in /var/emporium/moderator/html/libermac/includes/relatorio/newReport.class.php on line 2
Mas notem que a maneira que eu disponho o caminho no include teria que chamar o arquivo lib.php pois eu voltei um diretorio (../includes).

Está certo não está?

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites
include '../lib.php';
ne?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei que fosse isso também Willian, mas não é...

 

Warning: include(../lib.php) [function.include]: failed to open stream: No such file or directory in /var/emporium/moderator/html/libermac/includes/relatorio/newReport.class.php on line 2

Agora se eu colocar o caminho todo /var/emporium/moderator/html/libermac/includes/lib.php, vai que nem quiabo.

Mas é estranho não funcionar.

Eu sei que eu poderia deixar assim, só que o sistema depois que ficar pronto não vai ficar dentro dessa estrutura toda , entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

De que diretorio você está tentando incluir o script? (libermac? includes?)

 

Isso mesmo.

Repetindo a estrutura está assim:

/libermac/includes
Aqui dentro eu tenho um script chamado lib.php

Dentro de includes eu tenho um diretorio chamado relatorio

/libermac/includes/relatorio
Dentro deste eu tenho um scritp chamado relatorio.class.php e nesse script eu quero chamar a lib.php que está solta dentro do include.

Tentei usar assim:

include '../lib.php';
//tentei assim também
include '../includes/lib.php';
Não dá certo.

Detalhe:

O relatorio.class.php eu estou chamando na seguinte estrutura:

/libermac/modulos/cad/paramentros/relatorio
Nessa estrutura eu tenho um script chamado teste.php.

Nele eu executo o include para chamar o relatorio.class.php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora fiquei confuso.

Você está chamando o lib.php de:

/libermac/modulos/cad/paramentros/relatorio/relatiorio.class.php
,

/libermac/modulos/cad/paramentros/relatorio/teste.php
ou

/libermac/includes/relatorio/relatorio.class.php
?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi mau Lucas.

Vou tentar explicar melhor.

Vou partir de onde eu estou realizando as operações.

/libermac/modulos/cad/parametros/relatorio/teste.php
O teste.php é o script que mostra o relatório.

Nele eu executo o include para o relatorio.class.php

 

teste.php

<?php
include( '../../../../includes/relatorio/relatorio.class.php');
....
?>
O script relatorio.class.php eu tento chamar a lib que está fora do diretorio onde está o relatorio.class.php.

Então, se o relatorio.class.php está em includes/relatorio/relatorio.class.php e a lib.php está dentro de includes/, bastaria, dentro do relatorio.class.php eu executar

include '../lib.php';
Estou certo?

Não entendo pq está dando problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum.. vamos tentar resolver isso de uma forma mais elegante..

você tem:

/var/emporium/moderator/html/libermac/includes/lib.php

/libermac/modulos/cad/parametros/relatorio/teste.php

/libermac/includes/relatorio/relatorio.class.php

/var/emporium/moderator/html/libermac/includes/relatorio/newReport.class.php

Então, até: /libermac os caminhos são todos comuns..

<?php
define('BASE_PATH', realpath(dirname(__FILE__)).'/');
set_include_path(implode(PATH_SEPARATOR, array(
        BASE_PATH.'libermac',
        get_include_path()
)));
e então, você fará o teu include:

include '../includes/lib.php';

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.