wordpressページでディレクトリの内容を表示する

PDFのファイルやスプレッドシートをwebで案内したくなることがある。

CVSの記事やページをhtml的に発表することで統一されれば問題ないのだが、これまでの経緯から、ワープロソフトや表計算ソフトでレポートを作成する傾向は相変わらず強い。

しかし、一ファイルごと、アップロードして、紹介記事を書いて、というのはまどろっこしいし、物理的に、ドキュメントの二重管理にもなって、運用しずらい。未だに、webとOSのファイルシステムは仲良しとは言えない。

で、タイトルに示すようなニーズが出てくるのだ。

新しいレポートを作ったら、所定のフォルダに置く、そうすると、自動的にweb上で公開されるようにしたい。

きっと、こんなニーズは他にもあると思ってググって見ると、直接ディレクトリの中身を表示するPHPコードを見つけた。これをベースに日付の表記の仕方だけを少し変えてみたものを以下に引用する。

<?php
$rep = 1; // 最終更新日(表示=1 非表示=0)
$sze = 1; // ファイルサイズ(表示=1 非表示=0)
$lst = “../map”; // 表示するリストの名前(パス)
$drc=dir($lst);
print(“<OL>”);
while($fl=$drc->read()) {
$lfl = $lst.”/”.$fl;
$din = pathinfo($lfl);
if(is_dir($lfl) && ($fl!=”..” && $fl!=”.”)){
print(“<LI>”.$din[“basename”].”<FONT size=’-1′> (ディレクトリ)</FONT></LI>”);
} else if($fl!=”..” && $fl!=”.”) {
print(“<LI>”);
print(“<a href=”.$lst.”/”.$fl.”>”.$fl.”</a>”);
// ファイル更新日
if($rep == 1 || $sze == 1) print(“<FONT size=’-1′> (“);
if($rep == 1) echo date(“Y/n/j G:i”,filemtime($lfl));
if($rep == 1 && $sze == 1) print(“, “);
// ファイルサイズ
if($sze == 1) echo round(filesize($lfl)/1024).”KB”;
if($rep == 1 || $sze == 1) print(“)</FONT> “);
print(“</LI>”);
}
}
print(“</OL>”);
$drc->close();
?>

これを動かすには、runPHPプラグインを入れ、編集はhtmlモードで行うこと。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。