Como subir txt archivo plano con registros a mysql con un form en php?

Tengo un TXT con los siguientes campos pis516, c, 79862857, herrera, cárdenas, edwin alrey, casa 25 54, 3002587945 y son unos 20000 registros. He tratado de subirlos a la base de datos a la tabla transflorida pero nada he hecho lo siguiente y nada.

1 respuesta

Respuesta
1

No se que es una tabla transflorida...¿?-... pero para leer un fichero:

$archivo=file("datos.txt");
$lineas=count($archivo);
for($i=0;$i<$lineas;$i++) {
$linea = explode(",",$archivo[$i]);
echo $linea;

raro no me subió el código, pero bueno tengo el siguiente problema tengo un archivo plano con 270.000 registros separado por comas, no he podido subir ese archivo plano a la base da datos en mysql? la pregunta es como hago para subirlo o hay algún programa para hacerlo tengo este código en php así:

plano.php


<FORM encType=multipart/form-data method=post action=convertir.php>
<INPUT value=99999999 type=hidden name=MAX_FILE_SIZE>
Subir este Archivo: <INPUT type=file name=userfile>
<INPUT value=Subir type=submit>
</FORM>

y en otro formulario o pagina esto:

convertir.php

<?php
// recuperando las variables del trabajo buscado y seleccionarlo para borrar
$placa=$_REQUEST["placa"];
$letra=$_REQUEST["letra"]; //buscamos ya que asignamos el nombre original a la del vector
$cedula=$_REQUEST["cedula"];
$apellido1=$_REQUEST["apellido1"];
$apellido2=$_REQUEST["apellido2"];
$nombre=$_REQUEST["nombre"];
$dirección=$_REQUEST["dirección"];
$teléfono=$_REQUEST["teléfono"];
$fichero=@fopen("SACPAGINA/$propietarios1.txt",'rb');
$tmp=@fopen("SACPAGINA/temp.txt",'wb');
while ( !feof( $fichero ) ) // no parar hasta que acabe el archivo
{
// lee hasta(\n),EOF
$c = fgets( $fichero, filesize("SACPAGINA/$propietarios1.txt") );
// separa cada dato
$v=explode(",","$c");

//esta es la tabla de la base de datos
$placa=$v[0];
$letra=$v[1];
$cedula=$v[2];
$apellido1=$v[5];
$apellido2=$v[6];
$nombre=$v[7];
$dirección=$v[8];
$teléfono=$v[9];
if ( $busca!=$cedula ){
fputs($tmp,"$c");
}
}
fclose("$fichero");
fclose("$tmp");
//renombrar machacar el original
$dir="SACPAGINA/$propietarios1.txt"; //puedes usar dobles comillas si quieres
if(file_exists($dir))
{
if(unlink($dir))
print "El archivo fue borrado";
}
else
print "Este archivo no existe";
$dir2="SACPAGINA/temp.txt"; //puedes usar dobles comillas si quieres
if(file_exists($dir2))
{
if(rename($dir2 , "SACPAGINA/$propietarios1.txt"))
print "El archivo fue renombrado";
}
else
print "Este archivo no existe";
?>

y con este código no he podido subir los 270.000 registros, que estoy haciendo mal, o no se puede por este método?

en espera de su respuesta o asesoría.

¿Pero cuál es el problema que te da?, ¿No has podido porque no te lle el fichero o por qué motivo?... quizás sea más fácil pasarlo a Excel y subirlo con Navicat, o algo que te facilite el trabajo, pues son muchos registros...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas