成人小视频在线_欧美xxxav_国产亚洲精AA在线观看SEE_日韩在线免费播放_69日影院_92精品国产自产在线观看481页

18842388900

網(wǎng)站建設(shè) APP開(kāi)發(fā) 小程序

Article/文章

記錄成長(zhǎng)點(diǎn)滴 分享您我感悟

您當(dāng)前位置>首頁(yè) > 知識(shí) > 網(wǎng)站建設(shè)

使用PHP

讀取文件的正確方法 Roger McCoy是一名開(kāi)發(fā)人員,他使用各種編程語(yǔ)言,包括C,Java,JavaScript,Perl,PHP和Microsoft Visual Basic。他在PHP應(yīng)用程序開(kāi)發(fā)方面有五年的經(jīng)驗(yàn),但他可能更熟悉呼叫中心行業(yè)的技術(shù)人員。

讓我們算一算有多少種方法

處理像PHP這樣的現(xiàn)代編程語(yǔ)言的樂(lè)趣之一就是有很多選擇。 PHP可以很容易地贏得Perl的座右銘“有多種方法可以做到”(不僅僅是一種方法),特別是在文件處理方面。但是,許多可用選項(xiàng)中的哪一個(gè)是完成工作的最佳工具?當(dāng)然,實(shí)際答案取決于解析文件的目標(biāo),因此值得花時(shí)間探索所有選項(xiàng)。

傳統(tǒng)的 fopen 方法

fopen方法可能是前C和C ++程序員最熟悉的方法,因?yàn)槿绻闶褂盟鼈儯鼈兓蚨嗷蛏偈悄愣嗄陙?lái)掌握的工具。對(duì)于這些方法中的任何一種,使用fopen(讀取數(shù)據(jù)的標(biāo)準(zhǔn)方法)打開(kāi)文件,然后使用fclose關(guān)閉文件,如清單1所示。

清單1:用fgets打開(kāi)并讀取文件

$ file_handle=fopen('myfile','r'); while(!feof($ file_handle)){$ line=fgets($ file_handle); echo $ line;} fclose($ file_handle);

雖然大多數(shù)具有多年編程經(jīng)驗(yàn)的程序員都熟悉這些功能,但讓我分解一下。有效執(zhí)行以下步驟:

1.打開(kāi)文件。 $ file_handle存儲(chǔ)對(duì)文件本身的引用。 2.檢查是否已到達(dá)文件末尾。 3.繼續(xù)讀取文件,直到它到達(dá)文件末尾,并在讀取時(shí)打印每一行。 4.關(guān)閉文件。

考慮到這些步驟,我將回顧這里使用的每個(gè)文件函數(shù)。

fopen

fopen函數(shù)將創(chuàng)建與文件的連接。我說(shuō)“創(chuàng)建連接”的原因是因?yàn)槌舜蜷_(kāi)文件外,fopen還可以打開(kāi)一個(gè)URL:

$ fh=fopen('http://127.0.0.1/','r');

這行代碼將創(chuàng)建與上一頁(yè)的連接,并允許您開(kāi)始讀取它,就像它是本地文件一樣。

注意:fopen中使用的“r”表示文件以只讀方式打開(kāi)。由于將數(shù)據(jù)寫(xiě)入文件超出了本文的范圍,因此我不會(huì)列出所有其他選項(xiàng)。但是,如果要從二進(jìn)制文件中讀取跨平臺(tái)兼容性,則應(yīng)將“r”更改為“rb”。稍后您將看到一個(gè)示例。

feof

feof命令將檢測(cè)您是否已讀取文件末尾并返回True或False。清單1中的循環(huán)將繼續(xù),直到到達(dá)文件“myfile”的末尾。注意:如果您讀取URL并且套接字超時(shí),因?yàn)闊o(wú)法讀取更多數(shù)據(jù),則feof也將返回False。

fclose

跳到清單1的末尾,fclose將實(shí)現(xiàn)與fopen相反的操作:它將關(guān)閉與文件或URL的連接。執(zhí)行此功能后,您將無(wú)法再?gòu)奈募蛱捉幼肿x取任何信息。

fgets

回到清單1中的幾行,您將到達(dá)文件處理的核心:實(shí)際讀取文件。 fgets函數(shù)是處理第一個(gè)例子的首選武器。它從文件中獲取一行數(shù)據(jù)并將其作為字符串返回。之后,您可以打印或以其他方式處理數(shù)據(jù)。清單1中的示例將詳細(xì)打印整個(gè)文件。

如果決定限制處理塊的大小,可以向fgets添加參數(shù)以限制最大行長(zhǎng)度。例如,使用以下代碼將行長(zhǎng)度限制為80個(gè)字符:

$ string=fgets($ file_handle,81);

回想一下C中“\ 0”字符串的結(jié)尾,并將長(zhǎng)度設(shè)置為大于實(shí)際值的數(shù)字1。因此,如果需要80個(gè)字符,則上面的示例使用81.您應(yīng)該養(yǎng)成以下習(xí)慣:只要對(duì)此函數(shù)使用行限制,請(qǐng)?zhí)砑哟祟~外字符。

fread

fgets函數(shù)是唯一可用于多個(gè)文件讀取函數(shù)的函數(shù)。這是一個(gè)更常見(jiàn)的功能,因?yàn)橹鹦薪馕鐾ǔJ怯幸饬x的。實(shí)際上,其他幾個(gè)功能可以提供類似的功能。但是,您并不總是需要逐行解析。

然后你需要使用fread。 fread函數(shù)與fgets的處理目標(biāo)略有不同:它傾向于從二進(jìn)制文件(即主要不是人類可讀文本的文件)中讀取信息。由于“行”的概念獨(dú)立于二進(jìn)制文件(邏輯數(shù)據(jù)結(jié)構(gòu)通常不以新行終止),因此必須指定需要讀取的字節(jié)數(shù)。

網(wǎng)站建設(shè),小程序開(kāi)發(fā),小程序制作,微信小程序開(kāi)發(fā),公眾號(hào)開(kāi)發(fā),微信公眾號(hào)開(kāi)發(fā),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站優(yōu)化,網(wǎng)站排名,網(wǎng)站設(shè)計(jì),微信小程序設(shè)計(jì),小程序定制,微信小程序定制

相關(guān)案例查看更多

主站蜘蛛池模板: 亚洲最大成人免费网站 | 怡红院男人的天堂 | 日韩黄色三级 | av在线看片 | 一区二区精彩视频 | 激情综合色五月丁香六月欧美 | 高清久久久久久 | 99热在线只有精品 | 中旅在线 | 久草热在线| 爆操极品尤物 | 欧美日韩视频观看 | 伊人热热久久原色播放WWW | 久久精品国产麻豆 | 日本无码一区二区三区在线 | 91成人一区二区三区 | 国产免费8X高清在线 | 亚洲AV永久无码天堂网一线 | 无尺码精品产品国产 | 国产欧美动漫精品一区 | 国产91调教丝袜在线 | 1024精品视频 | 蜜臀色av| 亚洲美女视频一区二区 | 国产在线榴莲视频导航 | 成年免费a级毛片免费看丶 在线日韩欧美 | 日本黄色不卡 | 国内精品久久久久久久久 | 日韩一区二区三区在线视频观看 | 国产无码高清 | 黑人外教啪啪中国女留学生 | 99草草国产熟女视频在线 | 欧洲尺码日本国产精品 | 亚洲一二三区在线观看 | 少妇WWWB搡BBB搡BBB | 91精品国产乱码久久桃 | 草久久免费视频 | 美乳在线播放 | 国产一区二区视频免费观看 | 少妇与大狼拘作爱性A片 | 亚洲国产一区在线 |