stream_set_write_buffer

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

stream_set_write_bufferSets write file buffering on the given stream

说明

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

Sets the buffering for write operations on the given stream to size bytes.

参数

stream

The file pointer.

size

The number of bytes to buffer. If size is 0 then write operations are unbuffered. This ensures that all writes with fwrite() are completed before other processes are allowed to write to that output stream.

返回值

Returns 0 on success, or another value if the request cannot be honored.

示例

示例 #1 stream_set_write_buffer() example

The following example demonstrates how to use stream_set_write_buffer() to create an unbuffered stream.

<?php
$fp
= fopen($file, "w");
if (
$fp) {
if (
stream_set_write_buffer($fp, 0) !== 0) {
// changing the buffering failed
}
fwrite($fp, $output);
fclose($fp);
}
?>

参见

  • fopen() - 打开文件或者 URL
  • fwrite() - 写入文件(可安全用于二进制文件)
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