JamesM Postado Outubro 12, 2010 Denunciar Share Postado Outubro 12, 2010 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;1gostaria de capturar os 7 ultimos registros (ultimo elemento de cada linha)..e armazenar em 7 variaveis..alguém teria uma dica? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Outubro 12, 2010 Denunciar Share Postado Outubro 12, 2010 Salve,Segue um exemplo simples, mas você pode fazer também usando a função "file" do php.file.log03/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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Outubro 12, 2010 Denunciar Share Postado Outubro 12, 2010 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JamesM Postado Outubro 13, 2010 Autor Denunciar Share Postado Outubro 13, 2010 (editado) 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 Outubro 13, 2010 por JamesM Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JamesM Postado Outubro 20, 2010 Autor Denunciar Share Postado Outubro 20, 2010 que estranho este código não pega o ultimo elemento da listaalguém sabe como resolver?????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Stoma Postado Outubro 20, 2010 Denunciar Share Postado Outubro 20, 2010 Tente trocar o for para <=:for($i=$inicio; $i <= $total; $i++) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JamesM Postado Outubro 20, 2010 Autor Denunciar Share Postado Outubro 20, 2010 só acrescntar o igual?não deu certo.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JamesM Postado Outubro 20, 2010 Autor Denunciar Share Postado Outubro 20, 2010 gurizada agora me expliquem porque se eu colocar $quantidade = 6;ele mostra o ultimo elemento.. será que ele começa a contar apartir do 0??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
JamesM
Boa Noite..
Digamos que tenho um registro de logs..
como este:
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
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.