核心提示:作用都是將整個(gè)文件讀入某個(gè)介質(zhì),file() 函數(shù)是把整個(gè)文件讀入一個(gè)數(shù)組中,而file_get_contents() 函數(shù)是把整個(gè)文件讀入一個(gè)字符串中,下文詳細(xì)講解它們的用法和區(qū)別
在PHP中,要讀取一個(gè)文件的內(nèi)容時(shí),經(jīng)常使用file()和file_get_contents(),他們的用法相似,但返回值卻是不同,前者返回的是一個(gè)數(shù)組,后都返回的是一個(gè)字符串。
file() 函數(shù)是把整個(gè)文件讀入一個(gè)數(shù)組中,然后將文件作為一個(gè)數(shù)組返回。數(shù)組中的每個(gè)單元都是文件中相應(yīng)的一行,包括換行符在內(nèi)。如果失敗,則返回 false。
file_get_contents() 函數(shù)是把整個(gè)文件讀入一個(gè)字符串中。和 file() 一樣,不同的是 file_get_contents() 把文件讀入一個(gè)字符串。file_get_contents() 函數(shù)是用于將文件的內(nèi)容讀入到一個(gè)字符串中的首選方法。如果操作系統(tǒng)支持,還會(huì)使用內(nèi)存映射技術(shù)來(lái)增強(qiáng)性能。
我們來(lái)看個(gè)例子吧.先看file_get_contents()函數(shù)吧,我現(xiàn)在要把文本文件a.txt的內(nèi)容保存到一個(gè)數(shù)據(jù)下面是test.txt的內(nèi)容有四行數(shù)據(jù):
test1111111111111111
test22222222222222
test33333333333333
test44444444444444
好了,就這四行,現(xiàn)在看file_get_contents的操作方法.
$content = file_get_content(’test,txt’);
$temp =str_replace(chr(13),’|’,$content);
$arr =explode(’|’,$temp);
也不多只有三行就完成了,那么我們來(lái)看看file函數(shù)吧.
$content = file(’test.txt’);
就完成了,效果與上面完全相同的.