php scritp para divivir archivo csv o txt

Iniciado por alexiscruz007, 23 Febrero 2015, 21:33 PM

0 Miembros y 1 Visitante están viendo este tema.

alexiscruz007

Tengo el siguiente codigo para dividir un archivo csv en partes mas chicas, pero el resultado de algunos sale desordenado, no se si es por que el archivo tiene un descripcion larga y tambien usa html y talvez lee algun carater de la archivo y se confunde, gracias de antemano por la ayuda.

Código (php) [Seleccionar]
<?php
/**
* Split a CSV file
*
* Each row is its own line.
* Each cell is comma-separated
* This file splits it into piece of size $size, add the header row
* and names the resulting file filename_X.csv where filename is the
* name of the original file and X is an incrementing integer.
*/

// Editable Options
$size 20000// about 20kb
$to_read 'populate.csv';

// Do not edit
$done false;
$part 0;
if ((
$handle fopen($to_read"r")) !== FALSE) {
    
$header fgets($handle);
    while (
$done == false) {
        
$locA ftell($handle); // gets the current location. START
        
fseek($handle$sizeSEEK_CUR); // jump the length of $size from current position
        
$tmp fgets($handle); // read to the end of line. We want full lines
        
$locB ftell($handle); // gets the current location. END
        
$span = ($locB $locA);
        
fseek($handle$locASEEK_SET); // jump to the START of this chunk
        
$chunk fread($handle,$span); // read the chunk between START and END
        
file_put_contents($to_read.'_'.$part.'.csv',$header.$chunk);
        
$part++;
        if (
strlen($chunk) < $size$done true;
    }
    
fclose($handle);
}
?>


Mod: Etiquetas GeSHi obligatorias.