Diogo Rebello Postado Março 28, 2011 Denunciar Share Postado Março 28, 2011 (editado) Boa Noite pessoal,estou com um problemão eu possuo um arquivo txt sem caracteres para delimitar de campos exemplo abaixo:diogo---------diogo@riosites.net---------rio de janeiro---------brasiljoana c-------joana@hotmail.com-------curitiba----------------brasilarthur--------arthur.2@gmail.com-------são paulo-------------brasilAo invés de "-" são espaços em branco e eles ficam todos alinhados um em baixo do outro.Até então beleza eu uso o código abaixo para importa-lo para um BD$file = fopen("etiquetas.txt","r");while (!feof($file)){ $linha = fgets($file); // troque aqui pelo tamanho conveniente de linha $campo2 = trim(substr($linha,17,7)); $campo3 = trim(substr($linha,27,8)); $campo4 = trim(substr($linha,36,29)); $campo5 = trim(substr($linha,115,99)); $campo2 = stripslashes($campo2); $campo2 = str_replace("'",""",$campo2); $campo3 = stripslashes($campo3); $campo3 = str_replace("'",""",$campo3); $campo4 = stripslashes($campo4); $campo4 = str_replace("'",""",$campo4); $campo5 = stripslashes($campo5); $campo5 = str_replace("'",""",$campo5);Depois disso faço um INSERT com MySQL e vai tudo ok ele pega linha por linha do arquivo em txt e importa para o Banco.A minha dúvida é a seguinte estou com um arquivo em txt q ele precisa gravar em uma linha só do Banco de Dados duas linhas deste arquivo TXT. Ex:diogo---------diogo@riosites.net---------rio de janeiro---------brasil28 anos---------solteiro---------brancojoana c-------joana@hotmail.com--------curitiba---------------brasil27 anos-------casada------------negraarthur---------arthur.2@gmail.com-------são paulo-------------brasil20 anos-------solteiro-----------brancoE não sei qual expressão uso para este código pegar os registros de duas em duas linhas ao invés de uma em uma.Quem puder me ajudar aí agradeço muito.Boa noite a todos. Editado Março 28, 2011 por Diogo Rebello Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Endor Postado Março 29, 2011 Denunciar Share Postado Março 29, 2011 Bom dia.Cara se você soube com louvor fazer os de uma linha, Leia 2 linhas e salve em uma string.O procedimento é o mesmo.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo Rebello Postado Março 29, 2011 Autor Denunciar Share Postado Março 29, 2011 Como assim é a mesma coisa, como faria essa String? Não sei mesmo como faço isso! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Endor Postado Março 29, 2011 Denunciar Share Postado Março 29, 2011 Boa Noite.Uma sugestão, apenas para você ter idéias, não testei.Se estão nas sequencias que você está mencionando, e apenas colocar mais um linha da mesma forma.while (!feof($file)){$linha = fgets($file); // troque aqui pelo tamanho conveniente de linha$campo2 = trim(substr($linha,17,7)); $campo3 = trim(substr($linha,27,8));$campo4 = trim(substr($linha,36,29));$campo5 = trim(substr($linha,115,99));$linha++;Aqui você repete a mesma opeção para sua nova necessidade.Substituindo é claro os nomes da variáveis}Acho que assim vai bem.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo Rebello Postado Março 31, 2011 Autor Denunciar Share Postado Março 31, 2011 (editado) Obrigado pela resposta amigo!!no caso ficaria assim então???:while (!feof($file)){$linha = fgets($file); // troque aqui pelo tamanho conveniente de linha$campo2 = trim(substr($linha,17,7)); $campo3 = trim(substr($linha,27,8));$campo4 = trim(substr($linha,36,29));$campo5 = trim(substr($linha,115,99));$linha++;$campo6 = trim(substr($linha++,17,7)); $campo7 = trim(substr($linha++,27,8));$campo8 = trim(substr($linha++,36,29));}Muito Obrigado pela ajuda!! Editado Março 31, 2011 por Diogo Rebello Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Diogo Rebello
Boa Noite pessoal,
estou com um problemão eu possuo um arquivo txt sem caracteres para delimitar de campos exemplo abaixo:
diogo---------diogo@riosites.net---------rio de janeiro---------brasil
joana c-------joana@hotmail.com-------curitiba----------------brasil
arthur--------arthur.2@gmail.com-------são paulo-------------brasil
Ao invés de "-" são espaços em branco e eles ficam todos alinhados um em baixo do outro.
Até então beleza eu uso o código abaixo para importa-lo para um BD
$file = fopen("etiquetas.txt","r");
while (!feof($file))
{
$linha = fgets($file); // troque aqui pelo tamanho conveniente de linha
$campo2 = trim(substr($linha,17,7));
$campo3 = trim(substr($linha,27,8));
$campo4 = trim(substr($linha,36,29));
$campo5 = trim(substr($linha,115,99));
$campo2 = stripslashes($campo2);
$campo2 = str_replace("'",""",$campo2);
$campo3 = stripslashes($campo3);
$campo3 = str_replace("'",""",$campo3);
$campo4 = stripslashes($campo4);
$campo4 = str_replace("'",""",$campo4);
$campo5 = stripslashes($campo5);
$campo5 = str_replace("'",""",$campo5);
Depois disso faço um INSERT com MySQL e vai tudo ok ele pega linha por linha do arquivo em txt e importa para o Banco.
A minha dúvida é a seguinte estou com um arquivo em txt q ele precisa gravar em uma linha só do Banco de Dados duas linhas deste arquivo TXT. Ex:
diogo---------diogo@riosites.net---------rio de janeiro---------brasil
28 anos---------solteiro---------branco
joana c-------joana@hotmail.com--------curitiba---------------brasil
27 anos-------casada------------negra
arthur---------arthur.2@gmail.com-------são paulo-------------brasil
20 anos-------solteiro-----------branco
E não sei qual expressão uso para este código pegar os registros de duas em duas linhas ao invés de uma em uma.
Quem puder me ajudar aí agradeço muito.
Boa noite a todos.
Editado por Diogo RebelloLink para o comentário
Compartilhar em outros sites
4 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.