Forum und email

fwrite

(PHP 4, PHP 5)

fwrite — Escritura sobre archivos, segura con material binario

Descripción

int fwrite ( resource $gestor , string $cadena [, int $longitud ] )

fwrite() escribe los contenidos de cadena a la secuencia de archivo apuntada por gestor .

Lista de parámetros

gestor

A file system pointer resource that is typically created using fopen().

cadena

La cadena a ser escrita.

longitud

Si el argumento longitud es entregado, la escritura se detendrá después de que longitud bytes hayan sido escritos, o al alcanzar el final de cadena , aquello que ocurra primero.

Note que si se utiliza el argumento longitud , entonces la opción de configuración magic_quotes_runtime será ignorada y no se eliminarán caracteres de barra en la cadena .

Valores retornados

fwrite() devuelve el número de bytes escritos, o FALSE en caso de fallo.

Notes

Note: En los sistemas que diferencian entre archivos binarios y de texto (es decir, Windows) el archivo debe ser abierto incluyendo el valor 'b' en el parámetro de modo de fopen().

Note: Si gestor fue abierto con fopen() en modo de adición, las escrituras con fwrite() son atómicas (a menos que el tamaño de cadena exceda el tamaño de bloque del sistema de archivos, en algunas plataformas, y siempre y cuando el archivo esté en un sistema de archivos local). Es decir, no es necesario usar flock() sobre un recurso antes de llamar fwrite(); todos los datos serán escritos sin interrupción.

Ejemplos

Example#1 Un ejemplo sencillo de fwrite()

<?php
$nombre_archivo 
'prueba.txt';
$contenido "Agregar esto al archivo\n";

// Asegurarse primero de que el archivo existe y puede escribirse sobre él.
if (is_writable($nombre_archivo)) {

    
// En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adición.
    // El apuntador de archivo se encuentra al final del archivo, así que
    // allí es donde irá $contenido cuando llamemos fwrite().
    
if (!$gestor fopen($nombre_archivo'a')) {
         echo 
"No se puede abrir el archivo ($nombre_archivo)";
         exit;
    }

    
// Escribir $contenido a nuestro arcivo abierto.
    
if (fwrite($gestor$contenido) === FALSE) {
        echo 
"No se puede escribir al archivo ($nombre_archivo)";
        exit;
    }

    echo 
"Éxito, se escribió ($contenido) al archivo ($nombre_archivo)";

    
fclose($gestor);

} else {
    echo 
"No se puede escribir sobre el archivo $nombre_archivo";
}
?>