Source of: /manual/en/function.stream-set-timeout.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.stream.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'function.stream-set-timeout.php',
1 => 'stream_set_timeout',
),
'up' =>
array (
0 => 'ref.stream.php',
1 => 'Stream Functions',
),
'prev' =>
array (
0 => 'function.stream-set-blocking.php',
1 => 'stream_set_blocking',
),
'next' =>
array (
0 => 'function.stream-set-write-buffer.php',
1 => 'stream_set_write_buffer',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="function.stream-set-timeout" class="refentry">
<div class="refnamediv">
<h1 class="refname">stream_set_timeout</h1>
<p class="verinfo">(PHP 4 >= 4.3.0, PHP 5)</p><p class="refpurpose"><span class="refname">stream_set_timeout</span> — <span class="dc-title">Set timeout period on a stream</span></p>
</div>
<a name="function.stream-set-timeout.description"></a><div class="refsect1 description">
<h3 class="title">Description</h3>
<div class="methodsynopsis dc-description">
<span class="type">bool</span> <span class="methodname"><b>stream_set_timeout</b></span>
( <span class="methodparam"><span class="type">resource</span> <tt class="parameter">$stream</tt></span>
, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$seconds</tt></span>
[, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$microseconds</tt><span class="initializer"> = 0</span></span>
] )</div>
<p class="para rdfs-comment">
Sets the timeout value on <i><tt class="parameter">stream</tt></i>
,
expressed in the sum of <i><tt class="parameter">seconds</tt></i>
and
<i><tt class="parameter">microseconds</tt></i>
.
</p>
<p class="para">
When the stream times out, the 'timed_out' key of the array returned by
<a href="function.stream-get-meta-data.php" class="function">stream_get_meta_data()</a> is set to <b><tt class="constant">TRUE</tt></b>, although no
error/warning is generated.
</p>
</div>
<a name="function.stream-set-timeout.parameters"></a><div class="refsect1 parameters">
<h3 class="title">Parameters</h3>
<p class="para">
</p><dl>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">stream</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The target stream.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">seconds</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The seconds part of the timeout to be set.
</p>
</dd>
<dt class="varlistentry">
<span class="term"><i><tt class="parameter">microseconds</tt></i>
</span>
</dt><dd class="listitem">
<p class="para">
The microseconds part of the timeout to be set.
</p>
</dd>
</dl>
<p>
</p>
</div>
<a name="function.stream-set-timeout.returnvalues"></a><div class="refsect1 returnvalues">
<h3 class="title">Return Values</h3>
<p class="para">
Returns <b><tt class="constant">TRUE</tt></b> on success or <b><tt class="constant">FALSE</tt></b> on failure.
</p>
</div>
<a name="function.stream-set-timeout.changelog"></a><div class="refsect1 changelog">
<h3 class="title">Changelog</h3>
<p class="para">
</p><table class="doctable informaltable">
<thead valign="middle">
<tr valign="middle">
<th>Version</th>
<th>Description</th>
</tr>
</thead>
<tbody valign="middle" class="tbody">
<tr valign="middle">
<td align="left">4.3.0</td>
<td align="left">
As of PHP 4.3, this function can (potentially) work on any kind of
stream. In PHP 4.3, socket based streams are still the only kind
supported in the PHP core, although streams from other extensions
may support this function.
</td>
</tr>
</tbody>
</table>
<p>
</p>
</div>
<a name="function.stream-set-timeout.examples"></a><div class="refsect1 examples">
<h3 class="title">Examples</h3>
<p class="para">
</p><div class="example">
<p><b>Example #1 <b>stream_set_timeout()</b> example</b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br />$fp </span><span style="color: #007700">= </span><span style="color: #0000BB">fsockopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"www.example.com"</span><span style="color: #007700">, </span><span style="color: #0000BB">80</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$fp</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"Unable to open\n"</span><span style="color: #007700">;<br />} else {<br /><br /> </span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #DD0000">"GET / HTTP/1.0\r\n\r\n"</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">stream_set_timeout</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$res </span><span style="color: #007700">= </span><span style="color: #0000BB">fread</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #0000BB">2000</span><span style="color: #007700">);<br /><br /> </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #0000BB">stream_get_meta_data</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br /><br /> if (</span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">'timed_out'</span><span style="color: #007700">]) {<br /> echo </span><span style="color: #DD0000">'Connection timed out!'</span><span style="color: #007700">;<br /> } else {<br /> echo </span><span style="color: #0000BB">$res</span><span style="color: #007700">;<br /> }<br /><br />}<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
</div><p>
</p>
</div>
<a name="function.stream-set-timeout.notes"></a><div class="refsect1 notes">
<h3 class="title">Notes</h3>
<blockquote><p><b class="note">Note</b>:
This function doesn't work with advanced operations like
<a href="function.stream-socket-recvfrom.php" class="function">stream_socket_recvfrom()</a>, use
<a href="function.stream-select.php" class="function">stream_select()</a> with timeout parameter instead.
<br />
</p></blockquote>
<p class="para">
This function was previously called as
<b>set_socket_timeout()</b> and later
<a href="function.socket-set-timeout.php" class="function">socket_set_timeout()</a> but this usage is deprecated.
</p>
</div>
<a name="function.stream-set-timeout.seealso"></a><div class="refsect1 seealso">
<h3 class="title">See Also</h3>
<ul class="simplelist">
<li class="member"><a href="function.fsockopen.php" class="function" rel="rdfs-seeAlso">fsockopen()</a> - Open Internet or Unix domain socket connection</li>
<li class="member"><a href="function.fopen.php" class="function" rel="rdfs-seeAlso">fopen()</a> - Opens file or URL</li>
</ul>
</div>
</div><?php manual_footer(); ?>