Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Diego.G.A

leitura de arquivos

Question

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);
    }
    

}
?>

Edited by Diego.G.A

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148602
    • Total Posts
      644294
×
×
  • Create New...