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.
<?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, $size, SEEK_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, $locA, SEEK_SET
); // jump to the START of this chunk $chunk = fread($handle,$span); // read the chunk between START and END $part++;
if (strlen($chunk) < $size) $done = true; }
}
?>
Mod: Etiquetas GeSHi obligatorias.