[Zend权威认证试题讲解]第六章 - 文件操作
你可能觉得PHP的文件操作功能并不怎样,但实际上它对开发者来说非常有用。即使你是做网站开发的,学会相关技能也能让你如虎添翼。多亏了流包装器(stream wrappers,将在第十章详细介绍),PHP才能够打开并读取远程文件,让在本地使用第三方网站的内容变得可能。站在更底层的角度,文件输入/输出能完成多种任务。可以用他读取预制文件的内容,比如第三方提供的内容;或者通过PHP脚本让浏览器打开一个二进制文件,使得你能更切实的控制它。无论如何,本章不仅考验你打开、关闭和读取文件的能力,还考查多进程下进行文件操作的基础知识——例如文件锁。
A2J:yYhi6t5Uq2w
问题!Wo)D_'i*@
1.函数______能读取文本文件中的一行。读取二进制文件或者其他文件时,应当使用______函数。k"O/es5c
A.fgets(), fseek()
B.fread(), fgets()
C.fputs(), fgets() bg.X,a|y[F
D.fgets(), fread()
E.fread(), fseek())D*b+H'qcR r0P!B:YU4x
D0iwi,LE&V&t(p6v*s
2.文件指针能在PHP脚本结束时自动关闭,但你也可以用______函数来关闭。
答案:____________,k+w%Mfc x.a5U
sBT"p1D
3.考虑如下PHP脚本,它一行一行的读取并显示某文本文件的内容。在问号处填入什么才能使脚本正常运作?[code] (r3n'? h+S1sT
<?php
$file = fopen("test", "r");f%R-@$awrI] Q
while(!feof($file)) {)Qu)Ag f_%Mx]
echo ????????????;L\ ?M8U1VtS [#b
}
fclose($file);
?>[/code]A.file_get_contents($file)fU{,c n+H5j Rs
B.file($file);`ge7X&Uue
C.read_file($file)0X[$b8zR+xk
D.fgets($file)G/Z1V8T9^9D6J5ERfL
E.fread($file)
gb8e2uA
4.以下哪种方法能保证锁在任何竞争情况下都安全?l8c/g-Y#`
A.用flock()锁住指定文件
B.用fopen()在系统的临时文件夹里打开文件1z+@2C%Cp&Ob@&C
C.用tempnam()创建一个临时文件
D.用mkdir()创建一个文件夹来当T![$};Y*bs
E.用tmpfile()创建一个临时文件
ys9A^so
5.以下哪个函数能够获得文件的全部内容,并能够用在表达式中?(双选)J(Uf3L U7N
A.file_get_contents()`#wsx E;Q6e
B.fgets()
C.fopen()
D.file()
E.readfile()
;t}-XY`
6.在不把文件内容预加载到变量中的前提下,如何解析一个以特殊格式格式化过的多行文件?l+fw5P&x [6z)ylM/Y
A.用file()函数把它分割放入数组$wL*dd:f.Qt
B.用sscanf()W-{9u)Gd}9Q
C.用fscanf().@#kQ:|;^ tc
D.用fgets()
E.用fnmatch()
Rs"u[n;Y3X8P,X
7.考虑如下脚本,最后文件myfile.txt的内容是什么?[code] y E\X"pSH
<?php
$array = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$f = fopen ("myfile.txt", "r");
for ($i = 0; $i < 50; $i++) {
fwrite ($f, $array[rand(0, strlen ($array) - 1)]);)d G,sSZ|6a\8k
} yj'?B.W2v'Q X!Q
?>[/code]A.什么都没有,因为$array实际上是一个字符串,而不是数组c#p9p(AJ]f^`5X
B.49个随机字符
C.50个随机字符r1Z$V+\,L*BFg o
D.41个随机字符?9e)GjIU \.@
E.什么都没有,或者文件不存在,脚本输出一个错误|4qwynD
:l(V+P*Lw n
8.函数delete是做什么的?)d8q}1MU._MMFW&f^i
A.删除文件
B.删除文件夹E0Mxg_ ~'K
C.释放变量
D.移除数据库记录
E.没有这个函数! U/o|3@7Fyfl
9.考虑如下脚本,哪个PHP函数和它的功能最接近?[code]
<?php[;UMi?9N{
function my_funct ($file_name, $data)
{(? A&sy bG!`j$F
$f = fopen ($file_name, 'w');