Ficheros con PHP
De WikiEducator
< Usuario:Lmorillas | desarrollo web servidor | php
Revisión a fecha de 22:16 21 ene 2014; Lmorillas (Discusión | contribuciones)
|
Lectura de un archivo
<?php // poner el contenido de un fichero en una cadena $nombre_fichero = "/usr/local/algo.txt"; $gestor = fopen($nombre_fichero, "r"); $contenido = fread($gestor, filesize($nombre_fichero)); fclose($gestor); ?>
Escritura en archivo
<?php $fp = fopen('data.txt', 'w'); fwrite($fp, '1'); fwrite($fp, '23'); fclose($fp); // ¡el contenido de 'data.txt' ahora es 123 y no 23! ?>
Archivos csv
Lectura
<?php $fila = 1; if (($gestor = fopen("test.csv", "r")) !== FALSE) { while (($datos = fgetcsv($gestor, 1000, ",")) !== FALSE) { $numero = count($datos); echo "<p> $numero de campos en la línea $fila: <br /></p>\n"; $fila++; for ($c=0; $c < $numero; $c++) { echo $datos[$c] . "<br />\n"; } } fclose($gestor); } ?>
Escritura
<?php $lista = array ( array('aaa', 'bbb', 'ccc', 'dddd'), array('123', '456', '789'), array('"aaa"', '"bbb"') ); $fp = fopen('archivo.csv', 'w'); foreach ($lista as $campos) { fputcsv($fp, $campos); } fclose($fp); ?>
Devuelve archivo csv
<?php header('Content-Type: application/excel'); header('Content-Disposition: attachment; filename="sample.csv"'); $data = array( 'aaa,bbb,ccc,dddd', '123,456,789', '"aaa","bbb"' ); $fp = fopen('php://output', 'w'); foreach ( $data as $line ) { $val = explode(",", $line); fputcsv($fp, $val); } fclose($fp); ?>