<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >stream_set_timeout</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="Stream Functions" HREF="ref.stream.html"><LINK REL="PREVIOUS" TITLE="stream_set_blocking" HREF="function.stream-set-blocking.html"><LINK REL="NEXT" TITLE="stream_set_write_buffer" HREF="function.stream-set-write-buffer.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></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 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.stream-set-blocking.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.stream-set-write-buffer.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.stream-set-timeout" ></A >stream_set_timeout</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN223574" ></A ><P > (PHP 4 >= 4.3.0, PHP 5)</P >stream_set_timeout -- Set timeout period on a stream</DIV ><DIV CLASS="refsect1" ><A NAME="AEN223577" ></A ><H2 >Description</H2 >bool <B CLASS="methodname" >stream_set_timeout</B > ( resource stream, int seconds [, int microseconds] )<BR ></BR ><P > Sets the timeout value on <CODE CLASS="parameter" >stream</CODE >, expressed in the sum of <CODE CLASS="parameter" >seconds</CODE > and <CODE CLASS="parameter" >microseconds</CODE >. 如果成功则返回 <TT CLASS="constant" ><B >TRUE</B ></TT >,失败则返回 <TT CLASS="constant" ><B >FALSE</B ></TT >。 </P ><P > When the stream times out, the 'timed_out' key of the array returned by <A HREF="function.stream-get-meta-data.html" ><B CLASS="function" >stream_get_meta_data()</B ></A > is set to <TT CLASS="constant" ><B >TRUE</B ></TT >, although no error/warning is generated. </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN223601" ></A ><P ><B >例 1. <B CLASS="function" >stream_set_timeout()</B > example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$fp </font><font color="#007700">= </font><font color="#0000BB">fsockopen</font><font color="#007700">(</font><font color="#DD0000">"www.example.com"</font><font color="#007700">, </font><font color="#0000BB">80</font><font color="#007700">);<br />if (!</font><font color="#0000BB">$fp</font><font color="#007700">) {<br /> echo </font><font color="#DD0000">"Unable to open\n"</font><font color="#007700">;<br />} else {<br /><br /> </font><font color="#0000BB">fwrite</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">, </font><font color="#DD0000">"GET / HTTP/1.0\r\n\r\n"</font><font color="#007700">);<br /> </font><font color="#0000BB">stream_set_timeout</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">, </font><font color="#0000BB">2</font><font color="#007700">);<br /> </font><font color="#0000BB">$res </font><font color="#007700">= </font><font color="#0000BB">fread</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">, </font><font color="#0000BB">2000</font><font color="#007700">);<br /><br /> </font><font color="#0000BB">$info </font><font color="#007700">= </font><font color="#0000BB">stream_get_meta_data</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">);<br /> </font><font color="#0000BB">fclose</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">);<br /><br /> if (</font><font color="#0000BB">$info</font><font color="#007700">[</font><font color="#DD0000">'timed_out'</font><font color="#007700">]) {<br /> echo </font><font color="#DD0000">'Connection timed out!'</font><font color="#007700">;<br /> } else {<br /> echo </font><font color="#0000BB">$res</font><font color="#007700">;<br /> }<br /><br />}<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 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. </P ></BLOCKQUOTE ></DIV ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > This function doesn't work with advanced operations like <A HREF="function.stream-socket-recvfrom.html" ><B CLASS="function" >stream_socket_recvfrom()</B ></A >, use <A HREF="function.stream-select.html" ><B CLASS="function" >stream_select()</B ></A > with timeout parameter instead. </P ></BLOCKQUOTE ></DIV ><P > This function was previously called as <B CLASS="function" >set_socket_timeout()</B > and later <A HREF="function.socket-set-timeout.html" ><B CLASS="function" >socket_set_timeout()</B ></A > but this usage is deprecated. </P ><P > See also <A HREF="function.fsockopen.html" ><B CLASS="function" >fsockopen()</B ></A > and <A HREF="function.fopen.html" ><B CLASS="function" >fopen()</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-blocking.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.stream-set-write-buffer.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >stream_set_blocking</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.stream.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >stream_set_write_buffer</TD ></TR ></TABLE ></DIV ></BODY ></HTML >