- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-10-22T17:29:21+09:00","","")
#author("2018-10-23T19:29:43+09:00","","")
** ref_csv [#o77a69b9]
|RIGHT:100|LEFT:360|c
|~サマリ|添付のcsvファイルの表示|
|~リビジョン|1.0|
|~対応バージョン|?|
|~投稿者|[[すま]]|
|~投稿日|&new{2018-10-22 (月) 17:20:18};|
**概要 [#s659170c]
添付されているcsvをテーブルとしてページ内に表示するプラグインです。~
#ref_csv(添付ファイル名);
~
[[質問箱/2153]]にあったものを作りました。
プラグインは初めて作ったので、セキュリティなど問題あれば直して使ってください。~
対応バージョンもわかりません。
自分のところのVersion 1.5.1では動いています。~
~
これ機能自体の意義はあまりありません。~
うちでは、csvデータのデータ定義(カラムごとのデータの意味)ごとに、素のデータから人間が見てわかるように加工したデータ表示を専用に作るためのベースとして利用しています。
**ソースコード plugin/ref_csv.inc.php [#p075d400]
<?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.';
}
?>
[[質問箱/2153]]にあったものを作りました。
プラグインは初めて作ったので、セキュリティなど問題あれば直して使ってください。~
対応バージョンもわかりません。
自分のところのVersion 1.5.1では動いています。