1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
/** ---------------------------------------------------------------------------------
* ファイルシステム:ファイルデータ読み込み:fgetcsvサブルーチン利用して一覧表示の例
* 2015.09.15 作成 yoshi of CXMedia Inc.
* ---------------------------------------------------------------------------------- */
// サブルーチンの読込
require_once "lib/fileGet_csv_lib.php";
// ファイル読み込み用配列
$out_ary = array();
// 初期設定
$filename = 'data/PHP_file_function.txt';
/* ----------------------------------------------------------------------
* TAB区切りのファイル読み込み処理(サブルーチン利用)
* ■利用側の指定方法(引数)
* ・第1引数:読み込むファイルのパス指定
* ・第2引数:出力アリア(配列)のリファレンス指定(参照渡し処理)
* ・第3引数:デリミタ文字コードの指定(省略時は、「,」)
* ・第4引数:コード変換指定(省略時は、変換なし)
* ex,Shift_JISからUTF-8の変換は、「SJIS:UTF-8」と記述する
* ---------------------------------------------------------------------- */
fileGet_csv($filename,$out_ary,"\t",'SJIS:UTF-8');
// HTMLのボディ部分の保存用
$html_body = "";
// HTMLのテーブルセット
$html_body .= '<table class="table_border table_center" width="960">';
// 読み込んだデータの配列の繰り返し
foreach ( $out_ary as $data_ary ) {
//読込データ(配列)の件数セット
$num = count($data_ary);
$html_body .= '<tr>';
for ($c=0; $c < $num; $c++) {
// グループ欄か各欄の表示かの判断
if($num == 3){
// 「各欄の表示」
// 関数名の欄で強調表示のための正規表現パターンの作成
if($c == 0){
$reg_ptn = ($data_ary[$c])? '/('.$data_ary[$c].')/':'';
}
// 各欄でデータありのとき
if($data_ary[$c]){
// 正規表現パターンがセットされた利用関数の強調表示のセット
if($reg_ptn){
$str = preg_replace($reg_ptn,'<span class="font_bblue">$1</span>',$data_ary[$c]);
}
} else {
// NULLデータの時、空白文字のセット
$str = ' ';
}
$html_body .= '<td>'.$str ."</td>\n";
} else {
// 「グループ欄のとき背景色とカラム統合」
$html_body .= '<td colspan="3" class="align_c bgc_yellow">'.$data_ary[$c] ."</td>\n";
}
}
$html_body .= '</tr>';
}
$html_body .= '</table>';
/* -------------------------
* HTMLドキュメント出力
* ------------------------- */
// HTMLヘッダー出力
header_out();
// HTMLボディ部分の内容表示
echo $html_body;
// HTMLヘッダー出力
footer_out();
exit;
// --- HTMLドキュメントのヘッダー出力 ---
function header_out(){
echo <<<_EOL_
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<title>ファイルデータ読み込み:fgetcsv</title>
<style type="text/css">
.table_border{
border-collapse:collapse;
}
table.table_border td{
border:1px solid #999999;
}
table.table_center{
margin: 0px auto;
}
.align_c{
text-align:center;
}
.bgc_yellow {
background-color:yellow;
}
.font_bblue{
color:blue;
font-weight:bold;
}
</style>
</head>
<body>
_EOL_;
}
// --- HTMLドキュメントのフッター出力 ---
function footer_out(){
echo <<<_EOL_
</body>
</html>
_EOL_;
}
?>