Ir para conteúdo
Fórum Script Brasil

caparicio

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre caparicio

caparicio's Achievements

0

Reputação

  1. Caro Beraldo, Muito obrigado por analisar e sugerir a correcção ao código que apresentei. Funcionou na perfeição. Também actualizei as funções mysql_ para mysqli_ com sucesso graças às suas explicações nos links facultados. Deixo aqui o código já corrigido para, caso de alguém precise, poder usar e adaptar às suas necessidades. Sendo que o ficheiro (neste caso não é .txt mas sim .log) que tenho como base da importação está com linhas separadas por quebra de linha e o texto separado por barra invertida (ex.: C:\pasta1\pasta2\pasta3\...). Obrigado e cumprimentos CAparicio <?php //Conexão MySql $host = "localhost"; $user = "root"; $password = ""; $db = "radiotagide"; $tabela = "logemissao1"; $conexao = mysqli_connect($host,$user,$password,$db); if (!$conexao) die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysqli_error()); $dia = date('d')-1; $mes = date('m'); $ano = date('Y'); $data =("$ano-$mes-$dia").'.log'; $arquivo = file ('Z:/logzara/log/'.$data); function ret_acent($arquivo){ $ant=$arquivo; $arquivo = str_replace("~1","",$arquivo); $arquivo = str_replace("'","´",$arquivo); $arquivo = str_replace("Jingles_NoAr","",$arquivo); $arquivo = str_replace("Jingles_entre_musicas","",$arquivo); $arquivo = str_replace("Sinal_Horario_NoAr","",$arquivo); $arquivo = str_replace("Pasta_IPs","",$arquivo); $arquivo = str_replace("IPs","",$arquivo); $arquivo = str_replace("Publicidade_NoAr","",$arquivo); $arquivo = str_replace("Sinais_Horarios","",$arquivo); $arquivo = str_replace(")","",$arquivo); return $arquivo; } $linhas = count($arquivo); for ($i = 7; $i < ($linhas); $i++) { $arquivo0 = ($arquivo[$i]); $linhas1 = ret_acent(preg_split("'\\\\'",$arquivo0)); $linhas2 = preg_split("'-'",$linhas1[4]); //Ecrã echo ("$ano-$mes-$dia<br>"); echo substr("$linhas1[0]<br>",0,-14); echo ("<br>$linhas1[1]<br>"); echo ("$linhas1[2]<br>"); echo ("$linhas1[3]<br>"); echo ("$linhas1[4]<br>"); echo ("$linhas2[0]<br>"); echo ("$linhas2[1]<br>"); //Mysql $data =("$ano-$mes-$dia"); $hora =substr("$linhas1[0]",0,-10); $classe =("$linhas1[1]"); $idioma1 =("$linhas1[2]"); $idioma2 =("$linhas1[3]"); $ficheiro =("$linhas1[4]"); $artista =("$linhas2[0]"); $musica =substr ("$linhas2[1]",0,-6); $query = "INSERT INTO $tabela ( `data` , `hora` , `classe`, `idioma1`, `idioma2` , `ficheiro`, `artista` , `musica`) VALUES ('$data', '$hora', '$classe', '$idioma1', '$idioma2', '$ficheiro', '$artista', '$musica')"; mysqli_query($conexao, $query); } ?>
  2. Olá mestres, Tenho um software de automação de rádio que gera diáriamente um ficheiro de log. Com a ajuda do fórum consegui montar um script php para ler o ficheiro e separar o conteúdo exactamente como pretendia. Até aqui tudo bem, a informação na tela aparece exactamente como pretendo e a inserção na DB MySql também fica precisamente como e onde devia ficar, no entanto apenas importa uma linha do ficheiro, neste caso, a última. Mas no ecrã aparece toda a informação que preciso. Só na importação é que escreve uma só linha. Alguém me consegue ajudar a perceber o que me falta no código para que importe todas as linhas e não apenas uma? Obrigado desde já. <?php $dia = date('d')-1; $mes = date('m'); $ano = date('Y'); $data =("$ano-$mes-$dia").'.log'; $arquivo = file ('Z:/logzara/log/'.$data); function ret_acent($arquivo){ $ant=$arquivo; $arquivo = str_replace("~1","",$arquivo); $arquivo = str_replace("'","´",$arquivo); return $arquivo; } $linhas = count($arquivo); for ($i = 7; $i < ($linhas); $i++) { $arquivo0 = ($arquivo[$i]); $linhas1 = ret_acent(preg_split("'\\\\'",$arquivo0)); $linhas2 = preg_split("'-'",$linhas1[4]); //Ecrã echo ("$ano-$mes-$dia<br>"); echo substr("$linhas1[0]<br>",0,-14); echo ("<br>$linhas1[1]<br>"); if (empty($linhas1[4])){ echo ("$linhas1[3]<br>"); }else{ echo ("$linhas1[2]<br>"); echo ("$linhas1[3]<br>"); } echo ("$linhas1[4]<br>"); echo ("$linhas2[0]<br>"); echo ("$linhas2[1]<br>"); } //Mysql $data =("$ano-$mes-$dia"); $hora =substr("$linhas1[0]",0,-10); $classe =("$linhas1[1]"); if (empty($linhas1[4])){ $ficheiro =substr("$linhas1[3]",0,-6); }else{ $idioma1 =("$linhas1[2]"); $idioma2 =("$linhas1[3]"); $ficheiro =("$linhas1[4]"); $artista =("$linhas2[0]"); $musica =substr ("$linhas2[1]",0,-6); } //Conexão e Inserção de dados Mysql $host = "localhost"; $user = "root"; $password = ""; $db = "radio"; $tabela = "logemissao1"; $conexao = mysql_connect("localhost","root"); if (!$conexao) die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); $banco = mysql_select_db("radio",$conexao); $query = "INSERT INTO $tabela ( `data` , `hora` , `classe`, `idioma1`, `idioma2` , `ficheiro`, `artista` , `musica`) VALUES ('$data', '$hora', '$classe', '$idioma1', '$idioma2', '$ficheiro', '$artista', '$musica')"; mysql_query($query,$conexao); ?>
×
×
  • Criar Novo...