PHP 網頁程式設計課程目錄

使用 PHP 程式開啟及閱讀Tab 分隔 (Tab Delimited)文字檔案

先前的外部文字檔案都是單一的記錄, 即每一行的記錄(Record)只有一個數據(data)。其實, 在實際的應用, 每一行的記錄都有超過一個數據的。 但是, 如果每一行的記錄都有多個數據, 應該如何分隔這些數據呢?

要分隔數據十分容易, 現時普遍使用的有:

1. 逗點分隔數據 (Comma Separated Values), 即 CSV 檔案, 最最普遍使用的文字儲存檔案格式。

data01,data02,data03,data04
data11,data12,data13,data14
data21,data22,data23,data24
..........................................
..........................................

2. Tab 分隔數據 (Tab Delimited Values)。

data01 data02 data03 data04
data11 data12 data13 data14
data21 data22 data23 data24
..........................................
..........................................

3. 其他特殊字元分隔檔案(Other Special Characters Delimited File)。 一般都是很少使用的字元, 否則很容易產生錯誤, 最常用的特殊分隔字元應該是"|"。

data01|data02|data03|data04
data11|data12|data13|data14
data21|data22|data23|data24
..........................................
..........................................

使用 PHP 程式開啟及閱讀分隔數據檔案的方法和先前的例子是一樣的, 唯一的分別是要打散(explode)每一行記錄內的數據, 成為一個獨立的數據, 方便閱讀及處理。

處理逗點分隔數據檔案和殊字元分隔檔比較容易, 現在看看如何使用 PHP 程式開啟及閱讀Tab 分隔 (Tab Delimited)文字檔案。

第一步: 文字檔案內容

在香港股票交易網站內使用的股票名單是使用 Tab 分隔 (Tab Delimited)文字檔案的, 以下是首五個股票的名單。

1 CHEUNG KONG 1000
2 CLP HOLDINGS 500
3 HK & CHINA GAS 1000
4 WHARF HOLDINGS 1000
5 HSBC HOLDINGS 400

第二步: 使用 PHP 程式開啟及閱讀外部文字檔案

<?php

// Use fopen function to open a file
$file = fopen("stock_list_eng.txt", "r");

// Read the file line by line until the end
while (!feof($file)) {
$value = fgets($file);

// A white space will append to all records (except last record)
// This is due to the carriage return.
// Never mind! Use rtrim function to remove the white space at the end.
$value = rtrim($value);

// Explode the record, with the TAB as delimiter
$value = explode("\t", $value);

// Print out the 2nd record
// Note: the index starts from ZERO
echo $value[1] . "<br>";

} // end while loop

// Close the file that no longer in use
fclose($file);

?>

PHP 語言解釋如下:

$value = explode("\t", $value);

使用 PHP explode() 方法將整行內用 Tab 分隔的數據打開, 並轉換成為一個矩陣 (Array)。 這樣, 每一個數據便可利用矩陣的 index 來閱讀了, 例如 $value[0], $value[1] 和 $value[2]。

第三步: 測試檔案

測試 php 是否可以正常執行。

瀏 灠 器 應 出 現 :

CHEUNG KONG
CLP HOLDINGS
HK & CHINA GAS
WHARF HOLDINGS
HSBC HOLDINGS


PHP 實例:

沒有