[Zend权威认证试题讲解]第六章 - 文件操作
你可能觉得PHP的文件操作功能并不怎样,但实际上它对开发者来说非常有用。即使你是做网站开发的,学会相关技能也能让你如虎添翼。多亏了流包装器(stream wrappers,将在第十章详细介绍),PHP才能够打开并读取远程文件,让在本地使用第三方网站的内容变得可能。站在更底层的角度,文件输入/输出能完成多种任务。可以用他读取预制文件的内容,比如第三方提供的内容;或者通过PHP脚本让浏览器打开一个二进制文件,使得你能更切实的控制它。无论如何,本章不仅考验你打开、关闭和读取文件的能力,还考查多进程下进行文件操作的基础知识——例如文件锁。
问题
E|9n+b JZ$Q-_.zu`
1.函数______能读取文本文件中的一行。读取二进制文件或者其他文件时,应当使用______函数。\ o.vF9H}
5K*YBF9K7o
A.fgets(), fseek() @.^hnw VX g*s e
B.fread(), fgets()-{f4Dps7d&^Y} H
C.fputs(), fgets()`ula1wm6{V'|^
D.fgets(), fread()
E.fread(), fseek()6N%J.jv1@b#Su
H8s5H2^Y+f
2.文件指针能在PHP脚本结束时自动关闭,但你也可以用______函数来关闭。p&cN)jkB#~?
答案:____________U*ZC%dn.BT
c$Nv ^!w:d I
3.考虑如下PHP脚本,它一行一行的读取并显示某文本文件的内容。在问号处填入什么才能使脚本正常运作?[code] a^Y'eW(c{5|
<?phpX9Uf+s1qP!?
$file = fopen("test", "r");
while(!feof($file)) {
echo ????????????;t;tngFT
} t&W!z#FO8e(r(JM&c4y
fclose($file);
?>[/code]A.file_get_contents($file)
B.file($file)"lFG~c!R [ WQ
C.read_file($file)I^8@&e(F"k{~ ~
D.fgets($file)gK}~2ZS
E.fread($file)
4.以下哪种方法能保证锁在任何竞争情况下都安全?
wNc5^.B#d(lI
A.用flock()锁住指定文件
B.用fopen()在系统的临时文件夹里打开文件g pRk#Z$`
C.用tempnam()创建一个临时文件.S6F+qrp"nC
D.用mkdir()创建一个文件夹来当y5Y&}^cO B
E.用tmpfile()创建一个临时文件
;zDQd1ln Jb4lh
5.以下哪个函数能够获得文件的全部内容,并能够用在表达式中?(双选)*x*p @6HNN
A.file_get_contents()
B.fgets()
C.fopen()-}M5L9n$UI-I2dA
D.file()
E.readfile()
_s!A ^V7H4D
6.在不把文件内容预加载到变量中的前提下,如何解析一个以特殊格式格式化过的多行文件?)YlM`u&~
A.用file()函数把它分割放入数组X0ABJ,k
B.用sscanf()NHJd,ZG1V&GS"]Q
C.用fscanf()
D.用fgets()$aL/Hx)c5N7c7U
E.用fnmatch()
U|+r"} Y{9l
7.考虑如下脚本,最后文件myfile.txt的内容是什么?[code] ]6~ N4An0],N/r
<?phpF@(QS+xg d0z
$array = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$f = fopen ("myfile.txt", "r");8D:zyVYE0t
for ($i = 0; $i < 50; $i++) {
fwrite ($f, $array[rand(0, strlen ($array) - 1)]);&F@#y{*x$U8{1F \I&F
}