本文实例讲述了php中fsockopen用法。分享给大家供大家参考。1 V8 J/ z8 m# p3 _' K
具体实现方法如下:
. ^% I# \, M+ K复制代码 代码如下:$fp=fsockopen(127.0.0.1,80); //打开数据流1 ^ O( r- @ C) L& l: z; \+ i; E
if(!$fp) //如果打开出错4 _4 J* ]( U$ X
{0 h# @ h- X6 d- c3 S: v- B* ~# a
echo unable to openn; //输出内容
% i6 C7 N! Z6 `" c; G}
! P5 |* t6 {9 M, R0 i( [else //如果成功打开! C" T9 B; T9 I9 t
{
# K+ N3 |. y9 jfwrite($fp,get / http/1.0rnrn); //向数据流写入内容
1 c' b. n0 R# f7 ]( F5 e- cstream_set_timeout($fp,2); //进行超时设置 @3 @+ [- J( _- X9 k& o2 g
$res=fread($fp,2000); //读取内容
5 e4 B1 \# \* @$info=stream_get_meta_data($fp); //获取数据流报头# }- N3 N5 N" {# p1 d- z
fclose($fp); //关闭数据流* u$ {3 p" g6 G9 w3 c
if($info['timed_out']) //如果超时9 s# k. Q5 I$ A- x4 N# x
{
* o6 O, n5 i& h; Iecho 'connection timed out!'; //输出内容6 D$ y3 v4 N1 C8 z) v$ i. Q
}2 k2 i/ t& N7 e) G3 y8 w' t
else7 F% P- h& U9 A- A* ~3 F
{$ l. m% q$ z3 U# g f0 ^6 b8 m
echo $res; //输出读取内容
& b1 P: f1 z- g! d4 g1 B; `* p}
. x2 W* p9 j0 ]4 Q+ R( P}
7 M3 B, S7 M+ ^//实例二! M' _2 o& s: f
//创建服务端
& {1 ?' B* {, n- j) n4 H' b7 |, e$socket=stream_socket_server(tcp://0.0.0.0:8000,$errno,$errstr);# Y8 H4 P u |
//如果创建失败$ N }9 x) |% ~8 q) c% j& }* H
if(!$socket)
7 D7 s* Y0 e5 K* e! T3 P9 X0 x# Y{5 R4 }; t/ l3 c% n0 W/ f7 @$ p2 B
echo $errstr ($errno)<br />n;
" A, o' N& M0 e4 X/ P' v}/ ^4 B5 R/ ?9 Q+ E
//如果创建成功) D& r) g" l" w2 b
else
" z7 q- p; n+ M. x, i6 _{2 q' l( b3 B: S8 i9 J/ H
//接受连接
6 T% S# Y, x K) F+ w' Gwhile($conn=stream_socket_accept($socket))
4 T. I7 u8 I/ J; e0 {{
! I5 G6 w4 w* d5 c/ I6 h9 H/ g//写入数据5 R# O! i2 f! {1 c% b/ ~3 b
fwrite($conn,'the local time is '.date('n/j/y g:i a').n);+ |6 T! M7 Z8 `1 `: D
//关闭连接9 C+ @/ J* ?' X
fclose($conn);9 O# O; M4 J5 L% ^
}/ F' B% c5 l3 A3 i$ s" y8 c5 X
//关闭socket2 ~* z$ j7 s, l: \6 {/ |3 T
fclose($socket);
`% D8 T7 x, x" e" m& p}
# E* n7 M4 b, S0 r4 |6 j//$ B5 M2 {: M+ x
$file=test.txt; //定义文件3 E3 A1 x8 l1 U3 c6 p1 \# X9 L
$fp=fopen($file,w); //打开数据流7 }2 P( ? @3 C6 c$ n( K! y
if($fp) //如果成功打开5 ^* Y( Q5 G+ @, v9 Y& n
{
& z p! p6 b6 ]* v9 M' o! mstream_set_write_buffer($fp,0); //设置缓冲区! X K8 H5 U( F0 s4 D& r. e
fwrite($fp,$output); //写入内容- V/ D9 r9 K/ ?+ ]5 |+ D
fclose($fp); //关闭数据流
" |3 I- T/ z- m3 N* |9 r" t4 {}; m2 p; S: |! @' [) @" Q
希望本文所述对大家的php程序设计有所帮助。
' h* W. G: e7 y8 _, m; ?! Y! d: @0 q
更多网页制作信息请查看: 网页制作 |