Ficheros con PHP

De WikiEducator
Saltar a: navegación, buscar




Abrir archivos

<?php
if ( !($fp = fopen("myfile.txt", "r") ) )
 
exit("Unable to open the input file.");
?>


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);
?>