2 // vim: set binary noeol et sw=4 sts=4 :
5 // Lucarella, Schein, Arena
7 // Creado: Leandro Lucarella (lun may 2 20:00:07 ART 2005)
11 if (!function_exists('fputcsv')) {
12 // Función basada en http://www.php.net/manual/en/function.fgetcsv.php
13 function fputcsv($fp, $fields, $delim = ',')
17 foreach ($fields as $field) {
18 // Cambia EOL por los de unix
19 $field = str_replace("\r\n", "\n", $field);
20 // Agrega 'quotes' de ser necesario
21 $d = ($delim == '/') ? '|' : '/';
22 if (preg_match("{$d}[{$delim}\"\n\r]{$d}", $field)) {
23 $field = '"' . str_replace('"', '""', $field) . '"';
25 // Prepara la línea a graba
26 $line .= $field . ((count($fields) > $i++) ? $delim : "\n");
28 // Devuelve lo mismo que fputs()
29 return fputs($fp, $line);
34 * Obtiene un archivo csv como array de arrays
36 * @return array de array (false si hubo error).
38 function fgetallcsv($filename, $delim = ',')
40 if (($f = fopen($filename, 'r')) === false) return false;
42 while (!feof($f)) $data[] = fgetcsv($f, 4096, $delim);
48 * Obtiene una fila de un archivo cvs buscando según una clave.
49 * Se busca la fila cuyo campo $id coincida con $what.
51 * @return array fila buscada o false si hubo error o no está.
53 function fsearchcsv($filename, $what, $id = 0, $delim = ',')
55 if (($f = fopen($filename, 'r')) === false) return false;
58 $d = fgetcsv($f, 4096);