Professional Documents
Culture Documents
problema de actualizar sus bases de datos con un archivo de texto separado por comas
les pasaré un script que armé por necesidades propias. Espero que les sea de utilidad.
Por otra parte si algún compañero de navegante entiende que puede ser mejorado,
adelante, de eseo se trata, de sumar conocimientos. Saludos
Antes que nada será necesario que creen un formulario de carga de archivos donde no
tendrán que olvidar agregar en el FORM enctype="multipart/form-data". Vital si
quieren subir archivos. En otro post les desarrollaré el form de subida.
Una aclaración: Esta rutina está pensada en caso que nos aporten un archivo csv o de
texto separado por comas, que contiene mayor información de la que necesitamos, por
lo cual se vuelve engorroso abrir el Excel tratarlo, generar un nuevo archivo y recien
subirlo con LOAD DATA INFILE en un administrador de BD
<?
$update="<center>Fue reestructurado de forma correcta el archivo </center>";
//
//funciones
// con esta función disponesmos las fechas para ser subidas a mysql
function cambiafecha($fecha){
ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha);
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1];
return $lafecha;
}
//Con esta funcion tratamos el archivo que generamos más adelante preparándolo para
//subirlo de acuerdo a los campos que tengamos en la base.
//lo grabaremos en un directorio transformar. Puede ser cualquiera.
function Asistencia($texto){
$thefile ="transformar/25_asistencia.txt";
$resultsfile = fopen ($thefile,"a" ;
$updated=$texto."\n\r";
fwrite ($resultsfile,$updated);
fclose ($resultsfile);
}
//Aquí inicio del proceso con el archivo de texto original con contenidos que
ocuparemos sólo parcialmente y lo guardamos en un directorio xx
set_time_limit(300);
$lines = file('txt/25_asistencia.txt');
// Iniciamos el bucle para leerlo completo y extraer nuestras necesidads.
//Lo agregamos a un nuevo archivo que se genera por la función explicada arriba
$agregar=Asistencia($id_alumno.';'.$f_clase.';'.$asignatura.';'.$asistio);
} //fin foreach
// inicio carga en la bd
if($datos){
echo $update;
require("connect.php" ; //conección a la base de datos
unset($datos); //limpiamos la memoria de variables usadas anteriormente
$archivo="transformar/25_asistencia.txt";
// generamos una variable con la dirección de nuesro archivo final
// armamos el bucle que nos permitira ingresar los datos en los registros de la BD
$lines = file($archivo);
foreach ($lines as $line_num => $line) {
$datos = explode(";", $line);
//mostramos los datos
echo
$datos[0].' '.$datos[1].' '.$datos[2].' &n
bsp; '.$datos[3].'<br/>';
//insertamos los datos en nuestra base de datos
} //fin foreach
}else{