stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_set_write_bufferEstablece el búfer para escritura de ficheros en el flujo dado

Descripción

stream_set_write_buffer(resource $stream, int $buffer): int

Establece el buffer para escribir operaciones en el stream dado a buffer bytes.

La salida usando fwrite() normalmente tiene un buffer de 8K. Esto significa que si hay dos procesos esperando a escribir en el mismo flujo de salida (un fichero), cada uno se pausa después de 8K de información para permitir que el otro escriba.

Parámetros

stream

El puntero a un fichero.

buffer

El número de bytes del buffer. Si buffer es 0 las operaciones de escritura no usarán buffer. Esto asegura que todas las escrituras con fwrite() se completen antes de que a otros procesos se les permita escribir en ese flujo de salida.

Valores devueltos

Devuelve 0 en caso de éxito, u otro valor si la petición no se pudo satisfacer.

Ejemplos

Ejemplo #1 Ejemplo de stream_set_write_buffer()

El siguiente ejemplo muestra cómo usar stream_set_write_buffer()para crear un flujo sin buffer.

<?php
$fp
= fopen($file, "w");
if (
$fp) {
if (
stream_set_write_buffer($fp, 0) !== 0) {
// cambiar el almacenamiento en bufer fallido
}
fwrite($fp, $output);
fclose($fp);
}
?>

Ver también

  • fopen() - Abre un fichero o un URL
  • fwrite() - Escritura de un archivo en modo binario seguro
add a note add a note

User Contributed Notes 1 note

up
1
kevin at bonnevillessei dot com
5 years ago
Trying to use stream_set_write_buffer on a local file will always fail according to this note from 2003.

http://grokbase.com/t/php/php-internals/0351gp6xtn/stream-set-write-buffer-does-not-work

Example:

$fp = fopen("localfile.txt", "w");
if (stream_set_write_buffer($fp, 0) !== 0) {
    // changing the buffering failed is always true on local files
}
To Top