<HTML ><HEAD ><TITLE >stream_set_write_buffer</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="PHP Manual" HREF="index.html"><LINK REL="UP" TITLE="Stream functions" HREF="ref.stream.html"><LINK REL="PREVIOUS" TITLE="stream_set_timeout" HREF="function.stream-set-timeout.html"><LINK REL="NEXT" TITLE="String functions" HREF="ref.strings.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-1"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP Manual</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.stream-set-timeout.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="ref.strings.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.stream-set-write-buffer" ></A >stream_set_write_buffer</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN88942" ></A ><P > (PHP 4 >= 4.3.0)</P >stream_set_write_buffer -- Sets file buffering on the given stream</DIV ><DIV CLASS="refsect1" ><A NAME="AEN88945" ></A ><H2 >Description</H2 >int <B CLASS="methodname" >stream_set_write_buffer</B > ( resource stream, int buffer)<BR ></BR ><P > Output using <A HREF="function.fwrite.html" ><B CLASS="function" >fwrite()</B ></A > is normally buffered at 8K. This means that if there are two processes wanting to write to the same output stream (a file), each is paused after 8K of data to allow the other to write. <B CLASS="function" >stream_set_write_buffer()</B > sets the buffering for write operations on the given filepointer <TT CLASS="parameter" ><I >stream</I ></TT > to <TT CLASS="parameter" ><I >buffer</I ></TT > bytes. If <TT CLASS="parameter" ><I >buffer</I ></TT > is 0 then write operations are unbuffered. This ensures that all writes with <A HREF="function.fwrite.html" ><B CLASS="function" >fwrite()</B ></A > are completed before other processes are allowed to write to that output stream. </P ><P > The function returns 0 on success, or EOF if the request cannot be honored. </P ><P > The following example demonstrates how to use <B CLASS="function" >stream_set_write_buffer()</B > to create an unbuffered stream. <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN88966" ></A ><P ><B >Example 1. <B CLASS="function" >stream_set_write_buffer()</B > example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="php" >$fp = fopen($file, "w"); if ($fp) { stream_set_write_buffer($fp, 0); fputs($fp, $output); fclose($fp); }</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > See also <A HREF="function.fopen.html" ><B CLASS="function" >fopen()</B ></A > and <A HREF="function.fwrite.html" ><B CLASS="function" >fwrite()</B ></A >. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.stream-set-timeout.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="ref.strings.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >stream_set_timeout</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.stream.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >String functions</TD ></TR ></TABLE ></DIV ></BODY ></HTML >