亚洲乱码卡一卡二卡三永久-亚洲乱码一二三四区-亚洲乱码一区二区三区在线观看-亚洲伦理一区-成人在色线视频在线观看免费大全-成人在线91

Roger McCoy是使用過包括C、Java、JavaScript、Perl、PHP 和Microsoft Visual Basic 在內的多種編程語言的開發人員。他有五年的PHP應用程序開發經驗,但是他作為呼叫中心行業內的技師可能更著名。

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

處理諸如 PHP 之類的現代編程語言的樂趣之一就是有大量的選項可用。PHP 可以輕松地贏得 Perl 的座右銘“There's more than one way to do it”(并非只有一種方法可做這件事),尤其是在文件處理上。但是在這么多可用的選項中,哪一種是完成作業的最佳工具?當然,實際答案取決于解析文件的目標,因此值得花時間探究所有選項。

傳統的 fopen 方法

fopen 方法可能是以前的 C 和 C++ 程序員最熟悉的,因為如果您使用過這些語言,那么它們或多或少都是您已掌握多年的工具。對于這些方法中的任何一種,通過使用 fopen(用于讀取數據的函數)的標準方法打開文件,然后使用 fclose 關閉文件,如清單 1 所示。

清單1:用fgets打開并讀取文件

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

雖然大多數具有多年編程經驗的程序員都熟悉這些函數,但是讓我對這些函數進行分解。有效地執行以下步驟:

1、打開文件。$file_handle 存儲了一個對文件本身的引用。 
2、檢查您是否已到達文件的末尾。 
3、繼續讀取文件,直至到達文件末尾,邊讀取邊打印每行。 
4、關閉文件。

記住這些步驟,我將回顧在這里使用的每個文件函數。

fopen

fopen 函數將創建與文件的連接。我之所以說“創建連接”,是因為除了打開文件之外,fopen 還可以打開一個 URL:

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

這行代碼將創建一個與以上頁面的連接,并允許您開始像讀取一個本地文件一樣讀取它。

注: fopen 中使用的 “r” 將指示文件以只讀方式打開。由于將數據寫入文件不在本文的討論范圍內,因此我將不列出所有其他選項。但是,如果是從二進制文件讀取以獲得跨平臺兼容性,則應當將 “r” 更改為 “rb”。稍后您將看到這樣的示例。

feof

feof 命令將檢測您是否已經讀到文件的末尾并返回 True 或 False。清單 1 中的循環將繼續執行,直至您達到文件“myfile”的末尾。注:如果讀取的是 URL 并且套接字由于不再有任何數據可以讀取而超時,則 feof 也將返回 False。

fclose

向前跳至清單 1 的末尾,fclose 將實現與 fopen 相反的功能:它將關閉指向文件或 URL 的連接。執行此函數后,您將不再能夠從文件或套接字中讀取任何信息。

fgets

在清單 1 中回跳幾行,您就到達了文件處理的核心:實際讀取文件。fgets 函數是處理第一個示例的首選武器。它將從文件中提取一行數據并將其作為字符串返回。在那之后,您可以打印或者以別的方式處理數據。清單 1 中的示例將精細地打印整個文件。

如果決定限制處理數據塊的大小,您可以將一個參數添加到 fgets 中限制最大行長度。例如,使用以下代碼將行長度限制為 80 個字符:

$string = fgets($file_handle, 81);

回想 C 中的“\0”字符串末尾終止符,將長度設為比實際所需值大一的數字。因而,如果需要 80 個字符,則以上示例使用 81。應養成以下習慣:只要對此函數使用行限制,就添加該額外字符。

fread

fgets 函數是多個文件讀取函數中惟一一個可用的。它是一個更常用的函數,因為逐行解析通常會有意義。事實上,幾個其他函數也可以提供類似功能。但是,您并非總是需要逐行解析。

這時就需要使用 fread。fread 函數與 fgets 的處理目標略有不同:它趨于從二進制文件(即,并非主要包含人類可閱讀的文本的文件)中讀取信息。由于“行”的概念與二進制文件無關(邏輯數據結構通常都不是由新行終止),因此您必須指定需要讀入的字節數。

穩定

產品高可用性高并發

貼心

項目群及時溝通

專業

產品經理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽

堅持

10年專注高端品質開發
  • 返回頂部
主站蜘蛛池模板: 五月天婷婷综合网 | 日韩精品一区二区三区四区 | 一个人在线观看免费视频www | 国产成人在线视频播放 | 亚洲国产午夜精品理论片的软件 | 极品福利在线 | 日日操操 | 欧美97久久人人模人人爽人人喊 | 亚洲成人国产 | 综合亚洲欧美日韩一区二区 | 国产视频一区在线播放 | 亚洲成a人在线播放www | 亚洲精品欧美日本中文字幕 | 白丝挠脚心tk调教vk | 伊人激情在线 | 先锋资源av | 中文字幕一区二区三区免费看 | 日韩插插插 | 日本成人社区 | 一区二区三区日韩 | 免费色黄网站 | 狠狠色网 | 看黄视频 | 欧美一二三区视频 | 99久视频| 日本不卡一区二区三区在线观看 | 亚洲日韩在线视频 | www亚洲天堂 | 激情综合亚洲欧美日韩 | 人人做人人干 | 最近中文字幕无免费视频 | 97色噜噜刺激有声小说 | 日本特黄色片 | 男人边吃奶边爱边做视频刺激 | 欧美成人精品一区二三区在线观看 | 精品国产a | 波多野结衣久久精品免费播放 | 中国黄色片网站 | jk制服喷水 | 免费一级大片儿 | 亚洲图片在线视频 |