本文实例讲述了php中fsockopen用法。分享给大家供大家参考。( n# `' p0 p8 t" C) C
具体实现方法如下:; ~0 c; g) P# d8 C) p2 m7 }
复制代码 代码如下:$fp=fsockopen(127.0.0.1,80); //打开数据流
5 ~% }) B/ p# \' y8 @if(!$fp) //如果打开出错0 \" p& F! C1 K& O
{: ~# L1 e* I5 \( [1 f. w2 r
echo unable to openn; //输出内容
* a3 t/ f# `2 X) Y. _}$ T$ i# D5 Y* J( Z4 V' M1 E/ I
else //如果成功打开- Q: H2 Q$ b5 p6 o: r
{
) P1 J; k1 P2 u4 ?3 kfwrite($fp,get / http/1.0rnrn); //向数据流写入内容# |5 d& [* }. B
stream_set_timeout($fp,2); //进行超时设置2 C) i4 k: J1 _
$res=fread($fp,2000); //读取内容
8 j8 E. K, P/ ^1 P$info=stream_get_meta_data($fp); //获取数据流报头% Z7 X6 |1 V4 A9 M! x7 {$ H; i
fclose($fp); //关闭数据流
$ T& ]$ r& V+ d# x+ Lif($info['timed_out']) //如果超时
* {; s6 @$ m% N, R{, V/ S9 K4 d/ ]4 e- P
echo 'connection timed out!'; //输出内容 ~! j: Y3 a8 a8 K6 G
}
9 l1 J) p# g0 K9 Selse" Z' j# M9 Q8 ]- i: j g
{6 l! V. ?8 M2 s/ z4 [% Y* _
echo $res; //输出读取内容
. P& `6 _* z9 D. `3 P4 Z$ m- \}1 P" ]6 k; V w
}
B3 r; B8 ^- ~4 m5 U2 T//实例二 H" h8 u% G5 @' d3 I" A Z! f P/ `% k
//创建服务端 }, G1 J7 m2 y$ [( l
$socket=stream_socket_server(tcp://0.0.0.0:8000,$errno,$errstr);- \5 G; x$ y: I; \1 |0 ]4 D6 H
//如果创建失败
7 c, ?& T0 ?8 K) W, n7 s6 Qif(!$socket)
' t0 F G p4 v{
T5 }/ J" `' G: J3 `; ~4 F1 necho $errstr ($errno)<br />n;
% E4 y# |$ l" j6 {( j}
; U6 e& G- p' G+ I//如果创建成功
0 P7 e% T! y; H4 e6 [else
1 C3 j% {& K: q{
% I* y+ k1 A& ?% _8 e//接受连接. i- S* J& J' t% u/ b8 B
while($conn=stream_socket_accept($socket))
) V3 H6 X) G1 D5 @4 a5 g$ ^9 b{
2 `/ ^( L" V( b: y/ o//写入数据8 k4 B& N" L/ u# w/ e: w7 z/ a
fwrite($conn,'the local time is '.date('n/j/y g:i a').n);
2 O; `/ g4 y) `9 O( |( E( M- v//关闭连接0 \# `+ Q2 O1 P9 z. m; W+ a8 c
fclose($conn);- M* `" Z& B, I, E; B8 b+ Q1 L7 Q
}
3 ^8 F* }. K" N3 \8 h$ E//关闭socket" {8 o! M$ t& I
fclose($socket);
9 u$ Y8 J* E6 f/ h9 K}9 K. {7 s$ }+ i9 d
//
9 a, B, b2 R2 G8 \$file=test.txt; //定义文件
* G- Y! i8 ?+ h6 }5 @, K8 D/ K$fp=fopen($file,w); //打开数据流; M- e+ z) n+ w! T, _, ?* ^
if($fp) //如果成功打开- D$ T7 o4 P' P
{
6 {8 y5 S. S, |: v; l$ d* }( t5 r) Kstream_set_write_buffer($fp,0); //设置缓冲区
! m' t: x' ~! l* e/ R$ i: B) qfwrite($fp,$output); //写入内容$ f- M) B: K9 o; T6 A8 Y7 k- u
fclose($fp); //关闭数据流
$ R7 h+ R0 a) D+ Z' { K8 j3 Z}) T4 i7 K, B; |
希望本文所述对大家的php程序设计有所帮助。3 J/ n; T4 q# _; _% J
- K; t6 A" I* R4 R2 f6 }更多网页制作信息请查看: 网页制作 |