Páginas

sábado, 3 de marzo de 2012

Presentación de mi mini Librería FileManager

Esta entrada es para presentar la primera versión de la librería que estoy creando para el manejo de archivos txt, csv, es 100% programación orientada a objetos, aunque todavía esta en beta, ya estoy trabajando en una segunda versión que agregara mas utilidad y manejo sobre estos archivos, por ahora estoy conforme con lo que hace, pueden probarla si lo desean y me indican si encuentran algún bugs.

 La librería esta bajo la licencia GPL por lo tanto se puede copiar, modificar y distribuir con todos los términos que esta licencia indica Todavía no le tengo una documentación por lo tanto mostrare como utilizarla aunque es muy intuitiva, en mi repositorio publico de github encontramos la libreria y la utilizamos de la siguiente manera:
  archivo.csv
 campo1;campo2;campo3
 valor11;valor12;valor13
valor21;valor22;valor23
valor31;valor32;valor33

 instanciamos la clase y le indicamos el archivo
    require_once 'filemanager/libs/FileManager.php';

    $file = new file('archivo.csv');
    $fileManager = new FileManager();
    $fileManager->setFile($file);

obtenemos el contenido del archivo en un arreglo
    $contenido = $fileManager->read();
    foreach($contenido as $linea => $contenido) {
        echo "$linea.- $contenido";
    }

podemos mostrarlo o realizar cualquier trabajo que deseemos con el. escribir nuevo contenido al archivo
    $nuevoContenido = "a;b;c\nd;e;f\n";
    $fileManager->changeMode('w');
    $fileManager->write($nuevoContenido);

este metodo borra el contenido anterior del archivo por lo que debemos de ser muy cuidadosos con el, para agregar una nueva linea al archivo necesitamos utilizar el metodo addNewLine
    $nuevoContenido = "a;b;c;";
    $fileManager->changeMode('a');
    $fileManager->addNewLine($nuevoContenido);

como su nombre lo indica agrega una nueva linea. Actualización del archivo
    //el contenido
    $nuevoContenido = "a;b;c;";
    //la linea a actualizar
    $line = 1;
    $fileManager->changeMode('w');
    $fileManager->update($line, $nuevoContenido);

de esa manera se actualiza esa línea sin cambiar nada más dentro del archivo el método save, este método es lo suficientemente inteligente como para escribir todo de nuevo o actualizar el archivo según sea el caso
    //el contenido
    $nuevoContenido = "a;b;c;";
    //la linea a actualizar
    $line = 1;
    $fileManager->changeMode('w');
    //hace lo mismo que write,
    $fileManager->save($nuevoContenido);
    //el metodo verifica que no este vacío, si lo esta hace lo mismo que write, sino lo esta hace el update
    $fileManager->save($nuevoContenido, 1);

El método delete(), este método borra un archivo, cabe destacar que para poder hacerlo el archivo tiene que tener los permisos, sino dará una excepción.
    
    $fileManager->delete();

Método changeMode, a menudo es necesario cambiar el modo para poder hacer los cambios en los archivos ya que por defecto cuando pasamos el archivo a la clase esta abierto como lectura 'r', este método nos permite cambiar el modo para poder agregar información al documento como lo hemos visto en cada uno de los métodos anteriores
    
    $fileManager->changeMode('w');

mas información sobre los modos de apertura de un archivo aca. espero que la librería les sea de utilidad, saludos cualquier comentario es bien aceptado

No hay comentarios:

Publicar un comentario