stream_set_write_buffer

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

stream_set_write_bufferSets write file buffering on the given stream

说明

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

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

参数

stream

The file pointer.

buffer

The number of bytes to buffer. If buffer 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.

范例

Example #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($fp0) !== 0) {
      
// changing the buffering failed
  
}
  
fwrite($fp$output);
  
fclose($fp);
}
?>

参见

  • fopen() - 打开文件或者 URL
  • fwrite() - 写入文件(可安全用于二进制文件)

User Contributed Notes

kevin at bonnevillessei dot com 20-May-2018 12:15
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
}