你可能觉得PHP的文件操作功能并不怎样,但实际上它对开发者来说非常有用。即使你是做网站开发的,学会相关技能也能让你如虎添翼。多亏了流包装器(stream wrappers,将在第十章详细介绍),PHP才能够打开并读取远程文件,让在本地使用第三方网站的内容变得可能。1 W- T( {6 P) a: n0 B
站在更底层的角度,文件输入/输出能完成多种任务。可以用他读取预制文件的内容,比如第三方提供的内容;或者通过PHP脚本让浏览器打开一个二进制文件,使得你能更切实的控制它。无论如何,本章不仅考验你打开、关闭和读取文件的能力,还考查多进程下进行文件操作的基础知识——例如文件锁。' W: w, n q1 e' m s
8 h% A1 e; F6 [$ c0 q/ }7 j9 R B$ R" y) `8 k `
问题9 f& \* M1 j' N2 s' V
( l- q6 e5 I8 z8 c/ u* B1.函数______能读取文本文件中的一行。读取二进制文件或者其他文件时,应当使用______函数。 ; F2 K5 W7 x4 z& P5 K' v# b' V8 j) t( T% W
A.fgets(), fseek() , V( t% |2 v0 n" i6 Z3 E0 G yB.fread(), fgets()+ q, r' B* u/ M$ {
C.fputs(), fgets() ( i. P; T- ]2 n( J5 V# T4 qD.fgets(), fread()2 L9 Y0 { f6 q, B/ T
E.fread(), fseek() 5 _; x2 g! r3 J' ~4 ` * g9 v) R: b2 w) N. `- U0 f7 ? e6 `7 {' o
2.文件指针能在PHP脚本结束时自动关闭,但你也可以用______函数来关闭。. [' ~4 C; N) P
A.file_get_contents($file) 1 s/ Z1 p) \1 x/ ?9 M* UB.file($file) ' d( X! z* O+ @: e8 b/ P' s5 n% mC.read_file($file) 0 K& f* |6 l. t0 X8 @8 O9 ID.fgets($file)7 s) x# p3 x5 o$ D) R
E.fread($file) H$ ]! i! f2 ~ n
: W0 @0 y3 u# o7 j7 C- e
6 Y K. O: d' c. p) L% W1 [2 ~
4.以下哪种方法能保证锁在任何竞争情况下都安全?" R. |& C0 u5 s \1 H
+ x K) |6 S" W0 w9 U& EA.用flock()锁住指定文件 % ?! K4 K$ B" jB.用fopen()在系统的临时文件夹里打开文件* M/ Y( c/ a) H" _$ |
C.用tempnam()创建一个临时文件 4 Y% L( M" n( ^2 Y5 ~D.用mkdir()创建一个文件夹来当6 F o2 J" d+ ^8 J+ z' a
E.用tmpfile()创建一个临时文件 2 ?' G) ^! r3 x' z6 l! S+ J1 z4 E+ E" f- I
. P% g7 B- U3 {( S! _; A& B
5.以下哪个函数能够获得文件的全部内容,并能够用在表达式中?(双选)! w. k1 `! q% ~ k4 T! W- u# Z
+ j" C6 ?0 x: o, S6 b: \% MA.file_get_contents() M7 P1 o( T5 T$ W. l. S7 EB.fgets() 3 o% l3 j# u1 g% P5 S1 MC.fopen()' p8 X- Y" e+ F2 c3 o; Z$ u
D.file() $ w! }( w) I4 G5 PE.readfile() M. Z7 W3 V- g3 d
7 v7 S' @( }/ z; }, z4 n2 t6 N. J* j- V: ?& s8 x
6.在不把文件内容预加载到变量中的前提下,如何解析一个以特殊格式格式化过的多行文件?- E6 M- H; K: d' ]' J5 z
2 t$ I# V+ O6 u4 Z% dA.用file()函数把它分割放入数组 + N% j. o* I( ` e4 Y- eB.用sscanf(). J. e; v ^% k; n
C.用fscanf()- ~: ?& S. L J$ K
D.用fgets() + ?8 p& @* t. m7 Y8 v7 Y7 i8 ZE.用fnmatch() ( _$ ~2 e7 Z' L : U. E# T6 H! D" y% T. M' p1 Y * ]0 Z) C w: z2 q, L7.考虑如下脚本,最后文件myfile.txt的内容是什么?