資源描述:
《php中讀取文件的幾個(gè)方法總結(jié)(推薦)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、PHP中讀取文件的幾個(gè)方法總結(jié)(推薦)下面小編就為大家?guī)硪黄狿HP中讀取文件的幾個(gè)方法總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。1.freadstringfread(int$handle,int$length)fread()從handle指向的文件中讀取最多l(xiāng)ength個(gè)字節(jié)。該函數(shù)在讀取完最多l(xiāng)ength個(gè)字節(jié)數(shù),或到達(dá)EOF的時(shí)候,或(對(duì)于網(wǎng)絡(luò)流)當(dāng)一個(gè)包可用時(shí),或(在打開用戶空間流之后)已讀取了8192個(gè)字節(jié)時(shí)就會(huì)停止讀取文件,視乎先碰到哪種情況。fread()
2、返回所讀取的字符串,如果出錯(cuò)返回FALSEoIt;?phpnbsp;$filename=zz/usr/local/something,txt〃:nbsp;$handle=fopen($filename,"r");//讀耳又二進(jìn)制文件時(shí),需要將第二個(gè)參數(shù)設(shè)置成’rb’nbsp;nbsp;nbsp;//通過filesize獲得文件大小,將整個(gè)文件一下子讀到一個(gè)字符串中nbsp;$contents=fread($handle,filesize($filename));nbsp:fclose($hand
3、le):?gt;如果所要讀取的文件不是本地普通文件,而是遠(yuǎn)程文件或者流文件,就不能用這種方法,因?yàn)?,filesize不能獲得這些文件的大小。此時(shí),你需要通過feofO或者freadO的返回值判斷是否已經(jīng)讀取到了文件的末尾。例如:It;?phpnbsp;$handle=fopen(’http://www.baidu.com’,’r’);nbsp;$content=’’;nbsp;while(!feof($handle)){nbsp:nbsp;$content.=fread($handle,8080
4、);nbsp;}nbsp;echo$content:nbsp;fclose($handle);?gt;或者:It;?phpnbsp;$handle=fopen(’http://www.baidu.com’,’r’);nbsp;$content=’’;nbsp;while(false!=($a=fread($handle,8080))){//返回false表示己經(jīng)讀取到文件末尾nbsp;nbsp;$content.=$a;nbsp;}nbsp;echo$content;nbsp;fclose(Sh
5、andie):?gt;1.fgetsstringfgets(int$handle[,int$length])fgets()從handle指向的文件中讀取一行并返回長度最多為length-1字節(jié)的字符串。碰到換行符(包括在返回值中)、EOF或者已經(jīng)讀取了length-1字節(jié)后停止(看先碰到那一種情況)。如果沒有指定length,則默認(rèn)為1K,或者說1024字節(jié)。lt;?phpnbsp;$handle=fopen(’./file,txt’,’r’);nbsp:while(!feof($handle)
6、){nbsp;nbsp;echofgets($handle,1024);nbsp;}nbsp;fclose($handle):?gt;Note:length參數(shù)從PHP4.2.0起成為可選項(xiàng),如果忽略,則行的長度被假定為1024。從PHP4.3開始,忽略掉length將繼續(xù)從流中讀取數(shù)據(jù)直到行結(jié)束。如果文件中的大多數(shù)行都大于8KB,則在腳本中指定最大行的長度在利用資源上更為有效。從PHP4.3開始本函數(shù)可以安全用于二進(jìn)制文件。早期的版本則不行1.fgetssstringfgetss(resour
7、ce$handle[,int$length[,string$allowable_tags]])跟fgets功能一樣,但是fgetss會(huì)嘗試從讀取的文本中去掉任何HTML和PHP標(biāo)記,可以用可選的第三個(gè)參數(shù)指定哪些標(biāo)記不被去掉。It;?phpnbsp;$handle=fopenC./file.txt’,’r’);nbsp;while(!feof($handle)){nbsp;nbsp;echofgetss($handle,1024,’It;brgt:’);nbsp;}nbsp;fclose($ha
8、ndle):?gt:2.filearrayfile(string$filename[,int$use_include_path[,resource$context]])將文件內(nèi)容讀入一個(gè)數(shù)組中,數(shù)組的每一項(xiàng)對(duì)應(yīng)文件中的一行,包括換行符在內(nèi)。不需要行結(jié)束符時(shí)可以使用rtrim0函數(shù)過濾換行符。It;?phpnbsp;$a=file(’./file,txt’);nbsp;foreach($aas$line=gt;$content){nbsp;nbsp;echo’line’.($1ine+1).’.$