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

Ultimos Registros


JamesM

Pergunta

Boa Noite..

Digamos que tenho um registro de logs..

como este:

03/09/2010;19:32:01;302;1 
04/09/2010;19:32:01;302;1 
05/09/2010;19:32:01;302;1 
06/09/2010;19:34:01;302;1 
07/09/2010;19:36:01;302;1 
08/09/2010;19:38:01;302;1 
09/09/2010;19:40:02;302;1 
10/09/2010;19:42:02;0;0 
11/09/2010;19:44:01;302;1 
12/09/2010;19:46:02;302;1 
13/09/2010;19:48:01;302;1 
14/09/2010;19:50:01;0;0 
15/09/2010;19:52:01;302;1 
16/09/2010;19:54:01;0;0 
17/09/2010;19:56:01;302;1

gostaria de capturar os 7 ultimos registros (ultimo elemento de cada linha)..

e armazenar em 7 variaveis..

alguém teria uma dica?

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Salve,

Segue um exemplo simples, mas você pode fazer também usando a função "file" do php.

file.log

03/09/2010;19:32:01;302;1 
04/09/2010;19:32:01;302;1 
05/09/2010;19:32:01;302;1 
06/09/2010;19:34:01;302;1 
07/09/2010;19:36:01;302;1 
08/09/2010;19:38:01;302;1 
09/09/2010;19:40:02;302;1 
10/09/2010;19:42:02;0;0 
11/09/2010;19:44:01;302;1 
12/09/2010;19:46:02;302;1 
13/09/2010;19:48:01;302;1 
14/09/2010;19:50:01;0;0 
15/09/2010;19:52:01;302;1 
16/09/2010;19:54:01;0;0 
17/09/2010;19:56:01;302;1
teste.php
<?php
$arquivo    = 'file.log';
$mode       = 'rb';
$fp         = fopen($arquivo, $mode);
$contador   = 1;
$pilha      = array();
while($linha= fgets($fp))
{
    if($contador <= 7)
    {
        array_push($pilha, $linha);
    }
    $contador+=1;
}
fclose($fp);
unset($fp);
list($log1, $log2, $log3, $log4, $log5, $log6, $log7) = $pilha;
$lista = sprintf('
                    <ul>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                    </ul>                    
                 ',$log1, $log2, $log3, $log4, $log5, $log6, $log7);
                 
echo $lista;

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Salve,

Simplificando.... o código acima só pega o topo

<?php
$quantidade = 7;
$conteudo   = array();
$conteudo   = file('file.log');
$total      = count($conteudo);
$inicio     = ($total - $quantidade)-1;
$pilha      = array();
for($i=$inicio; $i < $total; $i++)
    array_push($pilha, $conteudo[$i]);    
list($log1, $log2, $log3, $log4, $log5, $log6, $log7) = $pilha;
$lista = sprintf('
                    <ul>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                        <li>%s</li>
                    </ul>                    
                 ',$log1, $log2, $log3, $log4, $log5, $log6, $log7);
echo $lista;

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

bah vaaaleu funfou

é muito complicado em vez de listar toda a linha, listar apenas um valor da linha que ta separada pelo ; ???

em vez de:

*  12/10/2010;00:22:02;302;1
    * 13/10/2010;15:04:04;302;1
    * 13/10/2010;15:06:01;302;1
    * 13/10/2010;15:08:01;302;1
    * 13/10/2010;15:10:02;302;1
    * 13/10/2010;15:12:01;302;1
    * 13/10/2010;15:14:02;302;1
assim
*  302
    * 302
    * 302
    * 302
    * 302
    * 302
    * 302

Editado por JamesM
Link para o comentário
Compartilhar em outros sites

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
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...