Bien, esta vez les vengo con una duda, existancial, no es suma importancia pero me gustaria resolverla.
Resulta que u compañero me pidio ayuda para un sistema que estaba aciendo, se trataba de un registrador masivo de datos.
Eventualmente a el cliente se le proporciona un archivo con cierta cantidad de personas en el, digamos, unas 13mil
Mi compañero tenia que sacar de ese archivo las 13mil personas y guardarlas en la base de datos.
Este archivo tienes que ser subido a una web, el archivo pesa al rededor de 16mb, primero tubimos que resolver eso, añadiendo estas lineas al .htaccess
Código Apache:
Ver original
php_value upload_max_filesize 100M php_value post_max_size 100M php_value max_execution_time 1000 php_value max_input_time 1000
Segundo, el archivo tiene esta estructura
Código txt:
Ver original
catastro |nic |nombre |dir |municipio |barrio |estado catastro |nic |nombre |dir |municipio |barrio |estado catastro |nic |nombre |dir |municipio |barrio |estado catastro |nic |nombre |dir |municipio |barrio |estado catastro |nic |nombre |dir |municipio |barrio |estado
Eso lo repetiriamos 13mil veces...
Ahora, para hacer la insersion masiva, le proporciones este codigo (como sugerencia)...
Código PHP:
Ver original
<?php $db_file = "muchosusuarios.txt"; $c = 0; for ( $i = 0; $i < $contar_usuarios; $i++){ $e = $i; $user = $order[$e]; $insert = new mysqli( "localhost", "root", "", "test" ); } $_sql = "INSERT INTO `prueba` (" . '`catastro`' . ', `nic`' . ', `nombre`' . ', `dir`' . ', `municipio`' . ', `barrio`' . ', `estado`' . ") VALUES (?, ?, ?, ?, ?, ?, ?)"; $_ins_bd = $insert->prepare($_sql); $_ins_bd->bind_param ('sssssss' , $dato[0] , $dato[1] , $dato[2] , $dato[3] , $dato[4] , $dato[5] , $dato[6] ); $insert_into = $_ins_bd->execute(); $c = $c++; $insert->close(); } echo "Se registraron {$c} usuarios." ?>
Bien, esto anda perfecto, tarda alrdedor de 10m/13mil Usuario en ejecutar.
Ya se ha ejecutado varias veces, y he aqui la duda
Sin querer cerre la pestaña del navegador, y pense que se iba a truncar el script, pero mi sorpresa al revisar la bd, es que los usuarios seguian ingresandose
La pregunta es, ¿El programa se sigue ejecutando en el servidor aun cuando la ventana no este abierta?
Ustede, ¿que opinan?... al menos yo nunca lo imagine