こんな感じにサーバ内のファイルを一覧化して、かつそれらファイルの更新日付を表示したい。
htmlファイルとphpファイルを分けずに、拡張子.phpファイル1つでやる。
できた。作成工程(gifアニメ)はコレ。
htmlのbody部を作る。
foreachによるループでサーバ内のファイルを一覧化する。
一覧にファイルの更新日付を表示する。date( '書式', filemtime(対象ファイル)) で日付を取れる。
更新日付取得部分は(ループ内で何回も使えそうだから)関数化した。
「クリックして再生」リンクを作る。
ループ内で<a href... を書く。
もし(if)画像ファイルだったら表示するようにする。
forループ内でif文判定する。
拡張子で(画像かどうかを)判定する。拡張子の取得のしかたがキモ。
ソースはこれ。57行で実装できた。
シンプル is ベスト。いろいろ使いまわせそう。雛形にする。
コピペ用
1 <?php
2
3 print '<h1><font color="red">hello,this is my gallery</font></h1>';
4
5 $files = scandir('.');
6
7 print '<h2><font color="blue">foreachループここから</font></h2>';
8 print '<hr>';
9
10 foreach($files as $i) {
11 print "$i";
12 print '<br>';
13
14 // 拡張子を取得
15 $info = new SplFileInfo($i);
16 $ext = $info->getExtension();
17 print '<br>';
18 // print '拡張子:' . "$ext";
19 // print '<br>';
20
21 // 拡張子jpgファイルだったら画像を表示する
22 if ("$ext" == 'jpg') {
23 // print '<a href="' . "$i" . '"><img src="' . "$i" . '"></a>';
24 print '<a href="' . "$i" . '"><img src="' . "$i" . '" width="100"></a>';
25
26 // 拡張子jpgファイルでないならリンクのみ表示する
27 } else {
28 print '<a href="' . "$i" . '">クリックで再生</a>';
29 }
30
31 showDATE("$i");
32 }
33
34 print '<h2><font color="blue">foreachループここまで</font></h2>';
35
36 function showDATE($file) {
37 $fileDATE = date( 'Y-m-d H:i:s' ,filemtime($file));
38 print '<br>' . '<font color="orange">' . $fileDATE . '</font>';
39 print '<hr>';
40 }
41
42 ?>
43
44 <!DOCTYPE html>
45 <html lang="ja">
46 <head>
47 <meta charset="utf-8">
48 <title>PHPによるファイル読み込みテスト</title>
49 <script>
50 </script>
51 <style>
52 </style>
53 </head>
54 <body>
55 <h1>これは「拡張子php」内に書いたhtmlボディの文章です</h1>
56
57 </body>
gifアニメの作り方はこれ。
gifアニメの表現力はバカにできない。
更新日付の取得方法はこのへん参照。