Tente esse script:
<?php
$file = 'arquivo.txt';
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('mysql');
$lines = file($file);
for($c = 0; $line = $lines[$c]; $c++){
$line = trim($line);
$parts = explode(',', $line);
$start = $parts[0];
$end = str_replace('"', '', $parts[1]);
$code_2 = str_replace('"', '', $parts[2]);
$code_3 = str_replace('"', '', $parts[3]);
$name = str_replace('"', '', $parts[4]);
$sql = "INSERT INTO tabela ('inicio', 'final', 'code_2', 'code_3', 'nome') VALUES ('".$start."', '".$end."', '".$code_2."', '".$code_3."', '".$name."');";
mysql_query($sql);
echo $sql . '<br>';
}
?>
Boa tarde a todos, mas gostaria de saber como fica o código se for varios arquivos txt com nomes aleatórios. tipo ele teria que ler na pasta todos os txt, gravar no banco conforme já está no script aqui, e depois apagar o txt. como ficaria? Obrigado a todos.
Bom, a lógica é a mesma.
A única coisa que mudaria, é que esse script ficaria dentro de um LOOP que varreria os TXTs de um diretório.
Um exemplo:
<?php
$diretorio = './txts/';
foreach(glob($diretorio . "*.txt") as $file) {
//$file = 'arquivo.txt';
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('mysql');
$lines = file($file);
for($c = 0; $line = $lines[$c]; $c++){
$line = trim($line);
$parts = explode(',', $line);
$start = $parts[0];
$end = str_replace('"', '', $parts[1]);
$code_2 = str_replace('"', '', $parts[2]);
$code_3 = str_replace('"', '', $parts[3]);
$name = str_replace('"', '', $parts[4]);
$sql = "INSERT INTO tabela ('inicio', 'final', 'code_2', 'code_3', 'nome') VALUES ('".$start."', '".$end."', '".$code_2."', '".$code_3."', '".$name."');";
mysql_query($sql);
echo $sql . '<br>';
}
unlink($file);
}
?>
Veja mais sobre as funções glob(), foreach() e unlink().
Qualquer dúvida poste!
Até!
está me retornando um erro:
Notice: Undefined offset: 3 in H:\xampp\htdocs\importar\importar2.php on line 13
o que pode ser?
De uma olhada como está o meu php e txt que estão dando erro.
php:
<?php
$diretorio = './txt/';
foreach(glob($diretorio . "*.txt") as $file) {
//$file = 'arquivo.txt';
$conn = mysql_connect('localhost', 'root', 'senha');
mysql_select_db('test');
$lines = file($file);
for($c = 0; $line = $lines[$c]; $c++){
$line = trim($line);
$parts = explode(',', $line);
$nomeT = str_replace('"', '', $parts[0]);
$idadeT = str_replace('"', '', $parts[1]);
$textoT = str_replace('"', '', $parts[2]);
$sql = "INSERT INTO importar ('nome', 'idade', 'texto') VALUES ('".$nomeT."', '".$idadeT."', '".$textoT."');";
mysql_query($sql);
echo $sql . '<br>';
}
//unlink($file);
}
?>
txt:
"rodrigo1","11","teste1 teste1 teste 1"
"rodrigo2","22","teste2 teste2 teste 2"
"rodrigo3","33","teste3 teste3 teste 3"
resultado:
INSERT INTO importar ('nome', 'idade', 'texto') VALUES ('rodrigo1', '11', 'teste1 teste1 teste 1');
INSERT INTO importar ('nome', 'idade', 'texto') VALUES ('rodrigo2', '22', 'teste2 teste2 teste 2');
INSERT INTO importar ('nome', 'idade', 'texto') VALUES ('rodrigo3', '33', 'teste3 teste3 teste 3');
Notice: Undefined offset: 3 in H:\xampp\htdocs\importar\importar2.php on line 13