Publicidade

wwwendel

Erro: Quando chamo um arquivo um dá erro, quando chamo o outro o outro dá erro

Patrocínio:

Postado (editado)

Saudações! Estou tendo problemas para chamar arquivos, quando carrego a página ele diz que diretório não foi encontrado, então corrijo o erro apontado, corrigido então, o outro arquivo dá o mesmo erro, corrigido então, o erro passa para o outro arquivo e assim segue nesse ciclo. Já tentei usar require_once, require, include, include_once, __autoload, spl_autoload_register, massssssss, nada funcionou! Give a light ! Oooh Big Oracle!

 

Fatal error: Class 'DB' not found in C:\xampp\htdocs\RegistroPonto\controller\Controller.php on line 9

 

//essa é a classe Controller.php que fica na pasta controller

<?php
function loaderClass($bancFile){
    if(file_exists("model/" . $bancFile . ".php")){
        require_once ("model/" . $bancFile . ".php");
    }
}
spl_autoload_register("loaderClass");
class Controller extends DB {
//....e continua
//========================================================
<?php
function __autoload($file){
    if(file_exists('controller/' . $file . '.php')){
        require_once ('controller/' . $file . '.php');
    }
 else {
        exit('O aquivo' . $file . 'não foi encotrado!');
    }
}
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
//........ e continua
//=========================================================

Desde já agradeço qualquer manifestação ! 

Editado por Gabriel Heming
adicionar marcação de código
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

@wwwendel A julgar pelo seu código, você não deve estar trabalhando com namespace, certo?

Se for isso, dei uma arrumada, para você poder utilizar apenas essa função, com qualquer pasta:

Arquivo carregaClasses.php

function carregaClasses($diretorio)
{
    spl_autoload_register(function($file) use ($diretorio)
    {

        $classe = __DIR__ . DIRECTORY_SEPARATOR . $diretorio . DIRECTORY_SEPARATOR . $file . '.php';	
        $classe = str_replace('\\', '/', $classe); 

        if(!file_exists($classe)){
            throw new Exception("O arquivo $file não foi encontrado");
        }

        require_once $classe;
    });

}

E para usar:

$dir = str_replace('\\', '/', __DIR__);
require_once $dir . '/local_onde_esta_o_arquivo_carregaClasses/' . 'carregaClasses.php';
carregaClasses('controller');

E para o model basta fazer o mesmo, apenas trocando carregaClasses('controller'); para carregaClasses('model');
Assim você não precisa ficar recriando as funções

Dica que sempre dou: De uma olhada na PSR-4!

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro persistiu:

 

Warning: require_once(C:\xampp\htdocs\PhpFolhaDePonto/carregaClasses/carregaClasses.php): failed to open stream: No such file or directory in C:\xampp\htdocs\PhpFolhaDePonto\index.php on line 2

Fatal error: require_once(): Failed opening required 'C:\xampp\htdocs\PhpFolhaDePonto/carregaClasses/carregaClasses.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\PhpFolhaDePonto\index.php on line 2

 

Já tentei de todas as formas, mas sempre quando eu chamo a classe Controller.php que fica na pasta controller da isso, parece que só aceita chamar a classe Controller.php apenas uma vez.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz um atualização no código, adicionando $classe = str_replace('\\', '/', $classe);  

E você tem que pelo menos chamar o carragaClasses.php da forma correta, como esta a sua estrutura de pastas, e como você esta fazendo?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

EdCesar! Obrigado consegui usando realpath respondito no tópico 

 pelo ~TiuTalk~ , mas vou tentar o seu . Muito obrigado!

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por leopb17
      Olá,
      Venho com um projeto há um tempo, e não encontro uma maneira prática de realizar a seguinte situação:
       Um usuário, já cadastrado, ao acessar uma página específica, é sorteado (aleatóriamente) para um grupo, que será ocupado por outras 10 pessoas da mesma forma (nessa espécie de sorteio) Inicialmente, pensei em estabelecer os grupos em uma espécie de tabela, com um id específico (1,2,3..) e 10 espaços disponíveis para serem preenchidos. Essa tabela, teria uma quantidade inicial de grupos (por exemplo 20) e quanto um grupo fosse preenchido com 10 pessoas, outro novo seria criado, de forma a manter uma quantidade constante de grupos para o sorteio

      Será que alguém poderia me ajudar com alguma base ou ideia?
       
    • Por leopb17
      Olá,
      Venho com um projeto há um tempo, e não encontro uma maneira prática de realizar a seguinte situação:
       Um usuário, já cadastrado, ao acessar uma página específica, é sorteado (aleatóriamente) para um grupo, que será ocupado por outras 10 pessoas da mesma forma (nessa espécie de sorteio) Inicialmente, pensei em estabelecer os grupos em uma espécie de tabela, com um id específico (1,2,3..) e 10 espaços disponíveis para serem preenchidos. Essa tabela, teria uma quantidade inicial de grupos (por exemplo 20) e quanto um grupo fosse preenchido com 10 pessoas, outro novo seria criado, de forma a manter uma quantidade constante de grupos para o sorteio

      Será que alguém poderia me ajudar com alguma base ou ideia?
       
    • Por Luiz Gustavo Costa Ceolin
      Boa tarde!!  Hoje estou utilizando para fazer a exportação de meus dados PHPExcel, porém ele não vem me deixando muito satisfeito. Os usuários de minha aplicação podem tanto exportar 10 dados até mais de 100 mil dados e podem também escolher as colunas que querem exportar, indo de 1 a 40 colunas...
      Alguém sabe alguma Library que possa atender minhas necessidades?
    • Por Gabrielvt14
      Olá pessoal,
       
      Estou querendo salvar no banco de dados um link (https://site.com.br) e quero utilizar PDO para isso.
      Mas pensei na hipótese do prepare barrar alguns caracteres, como, "/" (barra), ":" (dois pontos), etc...
       
      Alguém saberia me responder se o prepare barraria esses caracteres de links? Pois sei que ele faz uma filtragem na query para evitar ataques, mas não sei exatamente quais caracteres ele filtra.
       
      Desde já, grato!
    • Por WEBCHARLES
      Tenho o seguinte codigo no meu controller:
      $numQuest = $this->session->userdata('numQuest'); $qtdQuest = $this->taa->listarQuestQtd($this->matricula, $this->perletivo, 0); $qtdResp = $this->taa->listarQuestQtd($this->matricula, $this->perletivo, 1); $questNresp = $this->taa->listarQuestPorTipo($this->matricula, $this->perletivo,2); $qs = 1;$questNrespQtd = count($questNresp); $qnr = ""; foreach ($questNresp as $questn){ if($qs < $questNrespQtd) $qnr .= '<a href='.$questn->Ordem.'>'.$questn->Ordem.'</a>'.', '; else $qnr .= $questn->Ordem; $qs++; } $dados['qnr'] = $qnr; preciso que que toda vez que clicar no $qnr que são as questões que faltam responder a minha pagina atualize para a sessão com a numeração clicada exemplo.
      Digadmos que meu $qnr esteja mostrando 1,2,3,4,5,6 e quando eu clicar em 4 ele carregue e me traga a questão 4 . Lembrando que consegui fazer isso se:
       
      $this->session->set_userdata('numQuest', $questn->Ordem);
       
      $questn->Ordem = ordem das questões que faltam
       
      preciso fazer com que a pagiana atualize cada vez que escolher uma questão  $this->session->set_userdata('numQuest', $questn->Ordem); onde $questn->Ordem é o numero da pagina que cliquei.