Ir para o conteúdo

* * * * * 1 votos

Registrar Log Em Html, Txt, Doc, Etc...


Criado por Tayron Miranda, Nov 23 2011 09:17

Não há respostas para este tópico
  • Por favor, faça o login para responder

#1 Tayron Miranda

Tayron Miranda
  • Tayron Miranda
  • Colaborador
  • 11 Revisões
  • LocalizaçãoBelo Horizonte - MG

Revisou 23 novembro 2011 - 09:17


<?php 

/**

 * DESCRICAO: Metodo que cria log em arquivo fisicos no servidor

 * @author Tayron Miranda <falecom@tayronmiranda.com.br>

 * @author Italo Carlos <italoti@prevtruck.org.br>

 * @param  object $objeto     String, array ou objeto

 * @param  string $diretorio  Diretorio fisico onde ficara o arquivo

 * @param  string $arquivo    Nome do arquivo sem extensao

 * @param  string $tipo       Extensao do arquivo sem ponto

 * @since  1.7 - 25 de novembro de 2011

 */

function registrarLog($objeto = NULL, $diretorio = '../log/' , $arquivo = 'log_registro', $tipo = 'html'){

 

   // Se o diretorio nao existir, criar

   if( file_exists( $diretorio ) == FALSE ){

     mkdir( $diretorio );

     chmod( $diretorio, 755 );

   }



   // Se ja existir o arquivo, copio seu conteudo e excluo o arquivo prar recrialo mais tarde

   if( file_exists( $diretorio.$arquivo . '.' . $tipo ) ){

      $conteudo  = file_get_contents( $diretorio.$arquivo . '.' . $tipo );

      unlink( $diretorio.$arquivo . '.' . $tipo );

   }

   

    // Criando e abrindo o arquivo pra edicao

   $log       = fopen( $diretorio.$arquivo . '.' . $tipo , 'a+' );   

   $resultado = NULL;

   

   // Se for um array, trato os dados como tal

   if( is_array( $objeto ) == TRUE ){

     $cont = 0;

     foreach( $objeto as $chave => $msg ){

       $cont++;

       $resultado .= ( $cont == 1 ) ? 'ARRAY =>':'' . ' ['.$chave.'] => ' . $msg;

     }

     

   // Se for um objeto, trato os dados como tal  

   }else if( is_object( $objeto ) == TRUE ){

     $cont = 0;

     foreach ($objeto as $chave => $valor){

       $cont++;

       $resultado .= ( $cont == 1 )?'OBJETO =>':'' . ' ['.$chave.'] => ' . $valor;

     }

     

   // Se for uma string  

   }else{

      $resultado = 'STRING => ' . $objeto;

   }  

   

	$a = array( 'À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ÿ','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?','?' );

	$b = array( 'A','A','A','A','A','A','AE','C','E','E','E','E','I','I','I','I','D','N','O','O','O','O','O','O','U','U','U','U','Y','s','a','a','a','a','a','a','ae','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','o','u','u','u','u','y','y','A','a','A','a','A','a','C','c','C','c','C','c','C','c','D','d','D','d','E','e','E','e','E','e','E','e','E','e','G','g','G','g','G','g','G','g','H','h','H','h','I','i','I','i','I','i','I','i','I','i','IJ','ij','J','j','K','k','L','l','L','l','L','l','L','l','l','l','N','n','N','n','N','n','n','O','o','O','o','O','o','OE','oe','R','r','R','r','R','r','S','s','S','s','S','s','S','s','T','t','T','t','T','t','U','u','U','u','U','u','U','u','U','u','U','u','W','w','Y','y','Y','Z','z','Z','z','Z','z','s','f','O','o','U','u','A','a','I','i','O','o','U','u','U','u','U','u','U','u','U','u','A','a','AE','ae','O','o' );

   

   // Formatando o tipo de documento

   $mensagem = ( $tipo == 'html' ) ? '<p>' . date('d/m/Y H:i:s | ') . '<span style="color: #999; font-weigth: bold" >' .htmlentities( str_replace( $a, $b, $resultado ) ) . '</span></p>' : date('d/m/Y H:i:s | ') . htmlentities( str_replace( $a, $b, $resultado ) );

   

   // Inserindo os dados no documento   

   fwrite( $log, $mensagem . chr(13).chr(10) );

      

   ( isset( $conteudo ) ) ? fwrite( $log, $conteudo ) : '';

   

   // Fechando e salvando documento

   fclose( $log );



}



// Testando a criacao de log com default html

registrarLog( date( 'H:i:s' ) );


Analista e Desenvolvedor Web
www.tayron.com.br | www.vagacolaborativa.com.br





1 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)