Ir para conteúdo
Fórum Script Brasil
  • 0

leitura de arquivos


Diego.G.A

Pergunta

Ai o meu script não ta lendo o arquivo já tentei ler ele de todos os jeitos que eu sabia mas nada.

<?php

// Classe responsavel por fazer o registro dos logos de cada player
// e conta quantas vezes o player foi executado
class Logs {

    // declara as variaveis do sistema
    private $arquivo;        // variavel que aloca o nome do arquivo
    private $fp;            // variavel que aloca a abertura do arquivo temporariamente
    private $nomePlayer;    // variavel que guarda o nome do player
    private $loopsPlayer;    // variavel que guarda quantas vezes o player foi executado
    private $linhas;        // variavel que guarda as linhas lidas do arquivo
    private $arquivoAtual;    // variavel que guarda o nome do arquivo atual
    private $dados;            // variavel que guarda os dados para serem gravados
    
    
    // método construct da classe
    public function __construct($arquivoAtual) {
        $this->arquivo = "logs.log";            // define o arquivo a ser aberto
        $this->arquivoAtual = $arquivoAtual;    // passa para a variavel o nome do arquivo atual
        
        $this->openArquivo();
        $this->teste();
        //$this->leituraDeLinhas();
        $this->gravaDados();
    }
    
    // método que abre o arquivo para escrita
    private function openArquivo() {
        $this->fp = fopen($this->arquivo, "w");    // abre o arquivo e guarda dentro da variavel
    }
    
    // método que fecha o ponteiro aberto para o arquivo
    private function closeArquivo() {
        fclose($this->fp);
    }

    function teste() {
        while(!feof($this->fp)) {
            $line = fgets($this->fp, 2);
            echo $line."<br>";
        }
    }

    // método que le as linhas do arquivo e quarda em uma variavel do tipo array
    private function leituraDeLinhas() {
        if(!file($this->arquivo)) {
            echo error_reporting(E_ALL)."<hr>";
        }
        $file = file($this->arquivo);
        $numLinhas = count($file);
        echo print_r($file);
        //exit($file);
        if($numLinhas > 0) {
            $arqs = explode("|",$file[0]);
            $str = "";
            if($this->verificaCadastrado($arqs)) {
                foreach($arqs as $arq) {
                    $str .= $this->verificaArquivoAtual($arq);
                }
            } else {
                $str .= $file[0].$this->arquivoAtual.",1|";
            }
            $this->dados = $str;
        } else {
            $this->adicionaElemento();
        }
    }
    
    // método pra verificar se já esta cadastrado o arquivo
    private function verificaCadastrado($valor) {
        $ok = false;
        $arr = explode(",",$valor);
        foreach($valor as $val) {
            if($val == $this->arquivoAtual) {
                $ok = true;
            }
        }
        return $ok;
    }
    
    // método que verifica qual é o arquivo que esta sendo executado
    private function verificaArquivoAtual($valor) {
        $arr = explode(",",$valor);
        if($arr[0] == $this->arquivoAtual) {
            $loop = $arr[1];
            $loop++;
            $nome = $arr[0];
        } else {
            $loop = $arr[1];
        }
        return $arr[0].",".$loop.";";
    }
    
    // método responsavel por gravar as informações no arquivo
    private function gravaDados() {
        fwrite($this->fp,$this->dados);
        $this->closeArquivo();
    }
    
    // método que adiciona um elemento
    private function adicionaElemento() {
        $this->dados = $this->arquivoAtual.",1|\n";
    }
    
    // método que le e explode para um array o arquivo logs.log
    private function leArquivoLogs() {
        $linhas = fgets($this->fp, 4096);
    }
    

}
?>

Editado por Diego.G.A
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...