Ir para conteúdo
Fórum Script Brasil
  • 0

Importação de TXT para MySQL


Diogo Rebello

Pergunta

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 Rebello
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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 por Diogo Rebello
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...