本文实例讲述了php中fsockopen用法。分享给大家供大家参考。2 h% s& P+ N5 t; ^
具体实现方法如下:
/ ?9 i5 W1 U0 D2 R复制代码 代码如下:$fp=fsockopen(127.0.0.1,80); //打开数据流3 |% f* G! u; P' I* W
if(!$fp) //如果打开出错
) M' g* E# S/ p{' ]; w+ e! D! \5 M
echo unable to openn; //输出内容
( I& X c) K N3 z: a" d. v6 z) l}% s. i8 d0 f7 F5 T: x# L' G9 R
else //如果成功打开
4 n7 q; b; v5 G* H8 X( s0 A{
) t: f, g' J% n, `2 ffwrite($fp,get / http/1.0rnrn); //向数据流写入内容
4 G7 w" v9 j) j" \* }stream_set_timeout($fp,2); //进行超时设置
# Y8 w% m3 d+ g$res=fread($fp,2000); //读取内容
) Z, C0 I. d+ Q2 x$info=stream_get_meta_data($fp); //获取数据流报头
9 k6 m8 p! O) _; hfclose($fp); //关闭数据流
* @& _6 X) v8 V' T) z: f4 Gif($info['timed_out']) //如果超时
/ n1 z) o% A6 b& T' `{
' {) z9 G0 Y% n1 ] C/ Recho 'connection timed out!'; //输出内容$ O( v3 o; a4 U- \8 t
}4 p3 ~& A" Q- B- L/ H* S, r8 B
else3 Y7 w7 C5 h7 S# @. C
{
6 t& W2 ~% S4 D/ aecho $res; //输出读取内容, f3 O( j* x* G" b) V# J+ c
}
# v. E) h7 L6 Y% ~}
" @+ [/ C1 ~. C0 N2 C: j) p. c//实例二
( d0 r1 `) y( l \0 t//创建服务端& }* N+ ~( v$ I
$socket=stream_socket_server(tcp://0.0.0.0:8000,$errno,$errstr);
Y2 t: b1 n! H, p( N$ M//如果创建失败
" {, b2 w' s/ t7 x( N" q) u" ?8 Fif(!$socket)
_+ w/ Z6 \9 O" {{
$ @9 l9 ]& W# S( H( j/ y( t: Eecho $errstr ($errno)<br />n;
! B0 \+ T- M; A. k: N}1 ?! h. |$ ^' Z( g! ~+ j0 h% ^
//如果创建成功
- \; n h' ]+ O) S( \% p9 V/ R( }else
. a/ i! r" q& m* ?4 J% D# A. N. |{- ^/ r; X1 Y* O' Q
//接受连接% o9 z; ?9 E8 i! n1 N
while($conn=stream_socket_accept($socket))8 |0 q9 T2 P e g$ ?, n
{
' e3 h# `8 D, V1 `//写入数据
- W( U/ H; A4 f$ D1 P0 d* Cfwrite($conn,'the local time is '.date('n/j/y g:i a').n);! x: y' X" x0 D& y3 d% B9 z: K
//关闭连接" m6 h) [% P. `9 k" U1 B6 S
fclose($conn);
. x) R5 T2 k9 I* r$ W9 r5 F+ m}
& N1 g" ?7 s/ Z0 p! N//关闭socket
4 B# G+ a+ }; v o% A$ Vfclose($socket);) \% W3 G$ A2 V2 y, {9 c
}7 ]/ O) l8 }* r: L4 b8 S9 p6 l! M9 j
//
N" t1 D% k0 R9 q$file=test.txt; //定义文件0 M& p8 D& t+ S
$fp=fopen($file,w); //打开数据流
8 E# k* n) S3 l' Xif($fp) //如果成功打开7 ^1 s4 I9 t, A: M
{' c& C4 L; k( ?4 f1 _. A
stream_set_write_buffer($fp,0); //设置缓冲区( O9 @& s( |/ w% x7 r
fwrite($fp,$output); //写入内容) D7 X" l: C# t& `2 w
fclose($fp); //关闭数据流9 u% L- \9 S7 R# W' u7 D; `0 j% Y
}* T/ @8 j+ {3 ^/ y- N7 b) p# u( P! \
希望本文所述对大家的php程序设计有所帮助。8 f( I+ R& P, D
* ]* V8 e3 t' n/ w0 d0 S; A更多网页制作信息请查看: 网页制作 |