nakid.mkt 0 Denunciar post Postado Janeiro 21, 2010 Oi pessoal, tudo bem? tenho arquivos texto para importação de anúncios nos sites aqui da empresa; Vou dar um exemplo simples que como funciona: arquivo.csv "nome","senha","cidade","estado","titulo do anuncio" "marcos","abc1","bauru",SP","Vendo meu carro" "Renata","ab99","sao paulo","SP","Salao de beleza Tal" e por aí vai... preciso tirar as aspas apenas do cabeçalho. Se eu pudesse ler o arquivo todo, jogar numa string, manipular a string e gravar novamente não teria problema algum. Aliás quase tudo que eu encontri na net é assim. Mas esses arquivos .csv possuem muito mais colunas e muitas vezes chega a conter 20 milhoes de linhas. Então fica inviável. gostaria de saber se tem uma forma de eu fazer isso sem tirar o ponteiro das primeiras linhas do arquivo. O máximo que eu consegui foi: $filename = "meu_arquivo.csv" $handle = fopen($filename, "r+"); $sample_header = fgets($handle); rewind($handle); $sample_header = str_replace("\"", "", $sample_header); $return = fputs($handle, $sample_header); fclose($handle); Mas isso gera algo como: nome,senha,cidade,estado,titulo do anuncio tado","titulo do anuncio" anuncios... isso acontece porque o cabecalho com aspas é maior justamente por causa do número de aspas. Assim éle não é totalmente sobrescrito. Não existem comandos para escrever linha em arquivo texto sem sobrescrever? Ou apagar uma linha toda? Céus, porque isso não existe ou é tão difícil de achar. Alguma luz? E mesmo que eu tenha que correr o arquivo todo, qual a forma mais viável? Não se esqueçam que tem que funcionar para um número astronômico de linhas, arquivo texto gigantesco. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Janeiro 22, 2010 O João Batista postou uma classe para manipular arquivos CSV. http://forum.imasters.com.br/index.php?/topic/379451-csviterator/ Dá uma olhada, mas acho que vai te resolver. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites