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é!