informatica:programacion:php:snippets:ficheros
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| informatica:programacion:php:snippets:ficheros [2020/08/05 12:27] – creado tempwin | informatica:programacion:php:snippets:ficheros [2022/12/26 16:32] (actual) – tempwin | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== PHP Snippets: Ficheros ====== | ====== PHP Snippets: Ficheros ====== | ||
| + | |||
| + | ===== Contar líneas ===== | ||
| + | |||
| + | Para contar las líneas de un fichero de texto: | ||
| + | |||
| + | <code php> | ||
| + | $file = new \SplFileObject(' | ||
| + | $file-> | ||
| + | |||
| + | echo $file-> | ||
| + | </ | ||
| ===== CSV ===== | ===== CSV ===== | ||
| + | |||
| + | * [[https:// | ||
| ==== Escritura ==== | ==== Escritura ==== | ||
| - | En el siguiente ejemplo se utiliza la función [[https:// | + | En el siguiente ejemplo se utiliza la función [[https:// |
| <code php> | <code php> | ||
| - | $fichero = __DIR__ . DIRECTORY_SEPARATOR . "procesos_voa_empresa.csv"; | + | $fichero = __DIR__ . DIRECTORY_SEPARATOR . "mi_fichero.csv"; |
| $fp = fopen($fichero, | $fp = fopen($fichero, | ||
| + | |||
| + | $cabecera = [ | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | ]; | ||
| + | |||
| + | fputcsv($fp, | ||
| $registro = [ | $registro = [ | ||
| - | "campo1", | + | "valor1", |
| - | "campo2", | + | "valor2", |
| - | "campo3 | + | "valor3" |
| ]; | ]; | ||
| Línea 21: | Línea 42: | ||
| fclose($fp); | fclose($fp); | ||
| </ | </ | ||
| + | |||
| + | El fichero resultante tendrá los campos separados por '','', | ||
| + | |||
| + | < | ||
| + | campo1, campo2, campo3 | ||
| + | Pepito, " | ||
| + | Manolito, " | ||
| + | "José Fernando", | ||
| + | </ | ||
| + | |||
| + | ==== Lectura ==== | ||
| + | |||
| + | <code php> | ||
| + | $fichero = __DIR__ . DIRECTORY_SEPARATOR . " | ||
| + | $fp = fopen($fichero, | ||
| + | |||
| + | while (($fila = fgetcsv($fp, | ||
| + | $datos[] = $fila; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Si queremos saltarnos la primera línea (porque contiene la cabcera con los títulos, por ejemplo), basta con obtener la primera línea del fichero y no hacer nada: | ||
| + | |||
| + | <code php> | ||
| + | // código | ||
| + | fgetcsv($file, | ||
| + | while (($emapData = fgetcsv($file, | ||
| + | // código | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Si queremos evitar las líneas en blanco: | ||
| + | |||
| + | <code php> | ||
| + | $fichero = __DIR__ . DIRECTORY_SEPARATOR . " | ||
| + | $fp = fopen($fichero, | ||
| + | |||
| + | while (($fila = fgetcsv($fp, | ||
| + | // Ignoramos las líneas vacías | ||
| + | if (array(null) !== $fila) { | ||
| + | $datos[] = $fila; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | ===== Recursos ===== | ||
| + | |||
| + | * [[https:// | ||
informatica/programacion/php/snippets/ficheros.1596623243.txt.gz · Última modificación: por tempwin
