本文实例讲述了php中fsockopen用法。分享给大家供大家参考。# }! ?5 ?3 ^+ u! h" O
具体实现方法如下:
( [% O9 G( ?7 X$ _- H复制代码 代码如下:$fp=fsockopen(127.0.0.1,80); //打开数据流% ~0 C$ F# [' E- C4 w
if(!$fp) //如果打开出错
# G7 X" ^1 W+ L/ w% {0 F8 B! s8 M" a{
m9 V2 R$ S7 }5 Becho unable to openn; //输出内容6 b e# u# {% ~9 T" _: R5 d& X
}
+ H! [7 t# |) J- @else //如果成功打开
# t. P: p8 n1 O' P9 J9 {2 [! W2 V4 x{& V3 B( N* Y* ^2 v
fwrite($fp,get / http/1.0rnrn); //向数据流写入内容
$ w( D- Y q: s4 e4 ? cstream_set_timeout($fp,2); //进行超时设置
$ I2 l% t& e. l$res=fread($fp,2000); //读取内容
2 L, T* L9 W" h+ S6 e8 b$info=stream_get_meta_data($fp); //获取数据流报头
- Z1 p" S: M$ W4 {fclose($fp); //关闭数据流
7 U6 c, X6 o' v$ aif($info['timed_out']) //如果超时9 n* f+ | C! z* z) W
{; C5 `, i3 ?- F$ K! A( v% O3 G3 t
echo 'connection timed out!'; //输出内容4 Z+ q1 U( B/ c
}. ]0 f; e* j& u) C
else
" X/ P/ [6 n- c' M{
! c0 g5 G: t0 `& B6 N6 zecho $res; //输出读取内容, f, K) d, }4 u
}; o' X4 H l& o
}0 I8 ^9 Y& y2 A! W: d8 M( z
//实例二( g5 z1 F9 C% K" P. O5 g, Y
//创建服务端1 N9 H% e% |$ d m! k3 o" S# W
$socket=stream_socket_server(tcp://0.0.0.0:8000,$errno,$errstr);- k* C! {4 l$ |' [( e
//如果创建失败5 R4 l( v- [: ^# P( n. H
if(!$socket)4 e2 x% Q4 p, S f3 u, k
{( o% p) J3 R C1 y1 K1 J+ R
echo $errstr ($errno)<br />n;0 E; e8 |/ W; c9 R( S: E
}* E5 N+ x" U! w8 h
//如果创建成功
7 y. I2 p7 [$ i& Qelse) T9 b, z- F- E; p
{
3 `5 Y6 J6 o4 m8 j8 }//接受连接9 ^% @+ V, T9 `4 O7 f5 ~2 j/ l3 z
while($conn=stream_socket_accept($socket))
% n$ V- [% W( i* ~' r* z{4 a) \' Y/ j' M7 l2 i {
//写入数据 C, ]! ~2 u& ?- r/ O9 M
fwrite($conn,'the local time is '.date('n/j/y g:i a').n);
) x2 A& V0 Z" N$ w4 z% k# _2 I//关闭连接
; y) A* [4 F9 k' z) L9 y: ~2 J# |fclose($conn);
: e6 |; o( h- s+ `& a}
5 U% c3 E$ i1 l& V//关闭socket# N. p- Z) l% u" P
fclose($socket);
: h8 M. A" p( P* I* S! J}9 x* w7 R8 d* r( A+ L- h
//
+ a6 r4 |! J- ?" z9 B+ |6 f% t$file=test.txt; //定义文件$ n4 M2 Y9 z7 s1 P6 T
$fp=fopen($file,w); //打开数据流
) \8 i5 T* B" H! |# i; w9 Sif($fp) //如果成功打开
: a- V$ u/ S M0 [/ s{4 g0 C8 o4 F' O
stream_set_write_buffer($fp,0); //设置缓冲区) p5 y9 b" N7 A. ?3 }' s' n$ W: |
fwrite($fp,$output); //写入内容: g- E1 {8 ~1 |, u" \2 D
fclose($fp); //关闭数据流# t5 e- @' u/ {- K
}
Q& m' x9 U4 G. E& b( M0 q. {& k希望本文所述对大家的php程序设计有所帮助。' D& A% h* C0 r% u: V" n
+ R" R* ~$ j& k% Z7 N! k* d/ G
更多网页制作信息请查看: 网页制作 |