We can, with PHP, open the txt file, manipulate and with the obtained result, insert into the database.
Table of the database
----------------------------------------------------------------------
ID | CODIGO | NOME | IDADE | SEXO
----------------------------------------------------------------------
PHP commented
//Criamos uma função que irá retornar o conteúdo do arquivo.
function ler(){
//Variável arquivo armazena o nome e extensão do arquivo.
$arquivo = "arquivo.txt";
//Variável $fp armazena a conexão com o arquivo e o tipo de ação.
$fp = fopen($arquivo, "r");
//Lê o conteúdo do arquivo aberto.
$conteudo = fread($fp, filesize($arquivo));
//Fecha o arquivo.
fclose($fp);
//retorna o conteúdo.
return $conteudo;
}
//colocamos o conteudo em uma variavel
$var = ler();
//retiramos espaços, quebra de linhas e assemelhados para colocar tudo em uma linha
$var= trim($var);
$var = preg_replace(array("/\t/", "/\s{2,}/", "/\n/", "/\r/"), array("", " ", " ", " "), $var);
/****************************************************************************************
a partir daqui efetuamos algumas substituições de maneira que possamos construir o
VALUES do INSERT que deverá ser assim
('','03471','fulano','20','Masculino'),('','fulana','17','feminino'), etc........)
*****************************************************************************************/
$substituir = array(" Nome=", " Idade=", " Sexo=");
$result = str_replace($substituir, "','", $var);
$result = str_replace("]", "", $result);
$result = str_replace("[", "'),('','", $result);
$result = substr($result, 3)."')";
/****************************************************************************************/
//aqui um exemplo de insert com MySQLi
$link = new mysqli ("localhost", "USUARIO", "SENHA", "Nome_DB");
$sql = "INSERT INTO suatabela VALUES $result";
$res = mysqli_query($link,$sql);
The test title I made a loop to record more lines in the txt file
//Criamos uma função que recebe um texto como parâmetro.
function gravar($texto){
//Variável arquivo armazena o nome e extensão do arquivo.
$arquivo = "arquivo.txt";
//Variável $fp armazena a conexão com o arquivo e o tipo de ação.
$fp = fopen($arquivo, "a+");
//Escreve no arquivo aberto.
fwrite($fp, $texto);
//Fecha o arquivo.
fclose($fp);
}
for ($k = 0 ; $k < 7998; $k++){
gravar("
[03471]
Nome=fulano
Idade=20
Sexo=Masculino
[05232]
Nome=fulana
Idade=17
Sexo=feminino
[01952]
Nome=Leo
Idade=66
Sexo=Masculino");
}
and soon after ran the file to open the txt and insert the data in the database
Upshot
Why pass to excel if it is possible to pass directly to the bank?
– user60252
Welcome JP Ferreira, if any answer solves your problem, don’t forget to mark it as accepted, see https://i.stack.Imgur.com/evLUR.png and why https://pt.meta.stackoverflow.com/questions/1078/como-e-por-que-accepta reply/1079#1079
– user60252