MTavares Postado Novembro 19, 2015 Denunciar Share Postado Novembro 19, 2015 Colegas.Tenho um arquivo csv do qual através de um upload gravo em um arquivo txt seu conteúdo. O arquivo cvs compõe dos campos:Nome | Idade | Cidade | Estado Quando gravo para o arquivo txt, ele só pega a primeira linha. Veja o código abaixo:$abrirArquivo = fopen($arquivo, "r"); // abrindo o arquivo cvs $conteudo = fread($abrirArquivo,filesize($arquivo)); $dividir = explode(";",$conteudo); $leituraFinal = ""; // while(!feof($abrirArquivo)) { for ($i = 0; $i < count($dividir); $i++) { // foreach($dividir as $ver){ echo $dividir[0] . " " . $dividir[1] . "<br>"; $leituraFinal .= $dividir[0] . " " . $dividir[1] . ""; // Gravo no arquivo txt $abreArquivo = fopen($diretorio . "JAN_2012.txt", "w"); $lerArquivo = fread($abreArquivo, filesize($abreArquivo)); fwrite($abreArquivo, $leituraFinal); // } }Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Novembro 20, 2015 Denunciar Share Postado Novembro 20, 2015 Se é um CSV (comma-separated) porque estás a usar como separador o ponto-e-vírgula? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Oblongs Postado Novembro 20, 2015 Denunciar Share Postado Novembro 20, 2015 (editado) De uma olhadinha neste código que criei para a empresa que trabalho.Ele funciona perfeitamente<?php if(isset($_GET['mac'])){ if($_GET['mac'] != ''){ $mac = $_GET['mac']; date_default_timezone_set('AMERICA/SAO_PAULO'); $lote = date("dmy"); $mac2 = (substr($mac,-12,6).dechex(hexdec(substr($mac,6)) + 1)); $mac3 = wordwrap($mac2,2,":",true); $fp = fopen('fibra.csv','a'); $fw = fwrite($fp,strtoupper($mac3).";"."FIBRA;".$lote.";".strtoupper($mac3)."\r\n"); header('location: sxt.php'); } } $ler = fopen("fibra.csv","r"); $num = count($dados); echo "<table border='1'>"; while($dados = fgetcsv($ler,1000,";")){ echo "<tr>"; echo "<td>".$dados[0]."</td>"; echo "<td>".$dados[1]."</td>"; echo "<td>".$dados[2]."</td>"; echo "<td>".$dados[3]."</td>"; echo "</tr>"; } echo "</table>"; ?> Editado Novembro 20, 2015 por Oblongs Errei ao enviar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lowys Postado Novembro 20, 2015 Denunciar Share Postado Novembro 20, 2015 É só trocar o 'w' por 'a', no fopen Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
MTavares
Colegas.
Tenho um arquivo csv do qual através de um upload gravo em um arquivo txt seu conteúdo. O arquivo cvs compõe dos campos:
Nome | Idade | Cidade | Estado
Quando gravo para o arquivo txt, ele só pega a primeira linha. Veja o código abaixo:
Obrigado!
Link para o comentário
Compartilhar em outros sites
3 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.