Hola a todos..
bueno de hecho es una intranet , y tengo acceso para modificar cualquier directiva del php.ini...
les comento la logica rapidamente: En html muestro la vista previa del archivo con sus cabeceras y un solo registro nada mas.... el usuario tiene la posibilidad de escoger que columnas o cabeceras desea trabajar....despues de eso, leo todo el archivo completo y almaceno en un arreglo final la informacion de las columnas que escogió el usuario para posteriormente almacenarla en la base de datos...
Aqui el codigo :
Código PHP:
Ver originalpublic function FileMatrizAsociativo($file_name,$separador)
{
$file = fopen($file_name,"r");
if($file)
{
$contador = 0;
$cabeza = fgetcsv($file,50000000,$separador); $cantcols = count($cabeza);
while($recordSet = fgetcsv($file,50000000,$separador)) {
foreach($this->campos as $camp)//arreglo con los campos que escogio el usuario
{
for($cols = 0; $cols < $cantcols ; $cols++)// for columnas del archivo
{
//quita espacios
//quitar caracteres raros
$namecabeza = $this->QuitarCaracteresRarosCargue(utf8_encode($indices));
{
$arreglodatos[strtolower($camp->COLUMN_NAME)] = $recordSet[$cols]; }
}// for de la cabeza del archivo
}// foreach campos
$contador++;
}// while
}// fin validacion archivo
return $matriz;
}
PD: La funcion anterior la uso para leer archivos text y/o csv; para leer excel uso una libreria, pero la logica es la misma....