[Zend权威认证试题讲解]第六章 - 文件操作
你可能觉得PHP的文件操作功能并不怎样,但实际上它对开发者来说非常有用。即使你是做网站开发的,学会相关技能也能让你如虎添翼。多亏了流包装器(stream wrappers,将在第十章详细介绍),PHP才能够打开并读取远程文件,让在本地使用第三方网站的内容变得可能。w/q+tyVy{b$l5\站在更底层的角度,文件输入/输出能完成多种任务。可以用他读取预制文件的内容,比如第三方提供的内容;或者通过PHP脚本让浏览器打开一个二进制文件,使得你能更切实的控制它。无论如何,本章不仅考验你打开、关闭和读取文件的能力,还考查多进程下进行文件操作的基础知识——例如文件锁。'c4t}5y;Pg2K
@4^N\&jre
(r&Q,a0@{8Wz]KE
问题
1.函数______能读取文本文件中的一行。读取二进制文件或者其他文件时,应当使用______函数。[p%D p*\A&L"ymw
$B'?'g iRFdi j
A.fgets(), fseek()
B.fread(), fgets()
C.fputs(), fgets()
D.fgets(), fread()
E.fread(), fseek()
&vLeM/]s#l
2.文件指针能在PHP脚本结束时自动关闭,但你也可以用______函数来关闭。
答案:____________
q.K:UQA.pS&{
kM[~c R
3.考虑如下PHP脚本,它一行一行的读取并显示某文本文件的内容。在问号处填入什么才能使脚本正常运作?[code]
<?php0kv0b ~'bx2B
$file = fopen("test", "r");,WDF9QvIQ}/u)@Kx
while(!feof($file)) {
echo ????????????;
},bYuH2~Q
fclose($file);6PI7JQ8y
?>[/code]A.file_get_contents($file)~1y5o4G7x1RI8S0|
B.file($file)4b^0?b `scF[nS
C.read_file($file)0G,|7x1qU5n xm
D.fgets($file);g T$S:?!FZ/y#J
E.fread($file)3DJ8[9z4G
rKeHrJ
4.以下哪种方法能保证锁在任何竞争情况下都安全?
A.用flock()锁住指定文件
B.用fopen()在系统的临时文件夹里打开文件j?`di l4O)o@1z
C.用tempnam()创建一个临时文件7uyO~1W1Q+|9WNo
D.用mkdir()创建一个文件夹来当RB3cSr3hQM&epd
E.用tmpfile()创建一个临时文件E5jU^YVg2q*J$t6^
5.以下哪个函数能够获得文件的全部内容,并能够用在表达式中?(双选);xgL$]&n.w5J z
A.file_get_contents()*e1v5p`qX
B.fgets()RN2ae"A\^$G
C.fopen()
D.file()*g5f!}|r @
E.readfile()
UVT3Duhg5P
6.在不把文件内容预加载到变量中的前提下,如何解析一个以特殊格式格式化过的多行文件?
E,t Nu Kw7GVs
A.用file()函数把它分割放入数组
B.用sscanf()!c"_1Ui"B4dr x
C.用fscanf()&w4N/`s0a'cS L
D.用fgets() ^y%e'h9_7e]
E.用fnmatch()
E4r+LM#F7x
7.考虑如下脚本,最后文件myfile.txt的内容是什么?[code] 1Zq6M!Bo7k%h$Ug
<?php
$array = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';1|)k9z]j _HKUb
$f = fopen ("myfile.txt", "r");/jx*G"l)qRH!y ?"h
for ($i = 0; $i < 50; $i++) {`"udSH$l?#MY
fwrite ($f, $array[rand(0, strlen ($array) - 1)]);3O5FeT1p2D
}Txx$^z
?>[/code]A.什么都没有,因为$array实际上是一个字符串,而不是数组7Y`+H2dj N
B.49个随机字符
C.50个随机字符E#X F;V.O#ld
D.41个随机字符IoT7G*HM/hU:A Y
E.什么都没有,或者文件不存在,脚本输出一个错误F0t`|8dj[d
8.函数delete是做什么的?1H.e"p"Et8Q.W
A.删除文件#f}P"Ml0a,trNO
B.删除文件夹
C.释放变量5p1Y'Bt$e&Y:B
D.移除数据库记录Zy:fO$D%d3v
E.没有这个函数!'G2G4N]4a"H
9.考虑如下脚本,哪个PHP函数和它的功能最接近?[code]
<?php
function my_funct ($file_name, $data)(?FU0v+^*sW$r HB
{t | PZ6DB4B\)J?
$f = fopen ($file_name, 'w');{#Qn4HDgE"T m$Y6Y
fwrite ($f, $data);;S4Sw/G#hF scv
fclose ($f);
}
?>[/code]A.file_get_contents()
B.file_put_contents()
C.没有这样的函数
D.file()
E.fputs()