サマリ | 添付のcsvファイルの表示 |
---|---|
リビジョン | 1.0 |
対応バージョン | ? |
投稿者 | すま |
投稿日 | 2018-10-22 (月) 17:20:18 |
添付されているcsvをテーブルとしてページ内に表示するプラグインです。
#ref_csv(添付ファイル名);
質問箱/2153にあったものを作りました。
プラグインは初めて作ったので、セキュリティなど問題あれば直して使ってください。
対応バージョンもわかりません。
自分のところのVersion 1.5.1では動いています。
これ機能自体の意義はあまりありません。
うちでは、csvデータのデータ定義(カラムごとのデータの意味)ごとに、素のデータから人間が見てわかるように加工したデータ表示を専用に作るためのベースとして利用しています。
<?php /////////////////////////////////////////////////////// // 添付されているcsvをテーブルとして表示するプラグイン /////////////////////////////////////////////////////// function plugin_ref_csv_convert() { global $vars; if (func_num_args() == 0) { return ''; // Show nothing } $args = func_get_args(); // check $filename = UPLOAD_DIR.encode($vars[page]).'_'.encode($args[0]); if (!is_readable($filename)) return htmlspecialchars($args[0]). ' is not found.'; if (($data = file_get_contents($filename))) { // encoding $data = mb_convert_encoding($data,SOURCE_ENCODING,'auto'); $tmp = tmpfile(); fwrite($tmp, $data); rewind($tmp); // print $out = '<table class="style_table" cellspacing="1" border="0">'; while (($line = fgetcsv($tmp))) { $out .= '<tr>'; foreach ($line as $one) { $out .= '<td class="style_td">'.htmlspecialchar($one). '</td>'; } $out .= "</tr>\n"; } $out .= "</table>\n"; fclose($tmp); return $out; } return 'error.'; } ?>