]> git.llucax.com Git - z.facultad/75.43/tp1.git/blobdiff - src/lib/file.php
Bugfixes.
[z.facultad/75.43/tp1.git] / src / lib / file.php
index 63beeb52eb1be8d1634dbadc4be5be38ed0b1df8..812cfcc3c2aca80b6e0463e6e133da575c0fc1f2 100644 (file)
@@ -30,4 +30,53 @@ if (!function_exists('fputcsv')) {
     }
 }
 
     }
 }
 
+/**
+ * Agrega una entrada al final de un archivo csv.
+ *
+ * @return bool false si hay error.
+ */
+function fappendcsv($filename, $fields, $delim = ',')
+{
+    if (($f = fopen($filename, 'a')) === false) return false; // error
+    fputcsv($f, $fields, $delim);
+    fclose($f);
+    return true;
+}
+
+/**
+ * Obtiene un archivo csv como array de arrays
+ *
+ * @return array de array (false si hubo error).
+ */
+function fgetallcsv($filename, $delim = ',')
+{
+    if (($f = fopen($filename, 'r')) === false) return false;
+    $data = array();
+    while ($row = fgetcsv($f, 4096, $delim)) $data[] = $row;
+    fclose($f);
+    return $data;
+}
+
+/**
+ * Obtiene una fila de un archivo cvs buscando según una clave.
+ * Se busca la fila cuyo campo $id coincida con $what.
+ *
+ * @return array fila buscada o false si hubo error o no está.
+ */
+function fsearchcsv($filename, $what, $id = 0, $delim = ',')
+{
+    if (($f = fopen($filename, 'r')) === false) return false;
+    while (!feof($f))
+    {
+        $d = fgetcsv($f, 4096);
+        if ($d[$id] == $what)
+        {
+            fclose($f);
+            return $d;
+        }
+    }
+    fclose($f);
+    return false;
+}
+
 ?>
\ No newline at end of file
 ?>
\ No newline at end of file