0

サイトのフォルダー (フラット ディレクトリ) から情報を取得し、php を使用してダウンロードするファイルのリストを生成するこのコードがあります。ファイル名の最初の 2 文字を調べ、この「プレフィックス」に基づいて、各セクションの月見出しを作成します。これにより、「フラット」ではないように見えます。

うまく機能しますが、最新のファイルを一番下ではなく一番上に配置する必要があります。配列キーを並べ替えることで、見出しの順序を簡単に変更できます。

これを行う方法についての提案に感謝します。コードは次のとおりです。

<?php
$prevgroupprefix = '';

if ($handle = opendir('bulletin')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            $groupprefix = substr($file,0,2);
            $period = strrpos($file, ".");
            $filepath = "bulletin/" . $file;
            $file = substr($file,0,$period);
            if ($groupprefix <> $prevgroupprefix){
            $title = "$groupprefix Weekly Bulletins";
            $month = array(
                    "01" => "January",
                    "02" => "February",
                    "03" => "March",
                    "04" => "April",
                    "05" => "May",
                    "06" => "June",
                    "07" => "July",
                    "08" => "August",
                    "09" => "September",
                    "10" => "October",
                    "11" => "November",
                    "12" => "December"
                );

                Switch($groupprefix)
                {
                    Case "01":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[01]</div>";
                        break;

                    Case "02":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[02]</div>";
                        break;

                    Case "03":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[03]</div>";
                        break;

                    Case "04":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[04]</div>";
                        break;

                    Case "05":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[05]</div>";
                        break;

                    Case "06":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[06]</div>";
                        break;

                    Case "07":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[07]</div>";
                        break;

                    Case "08":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[08]</div>";
                        break;

                    Case "09":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[09]</div>";
                        break;

                    Case "10":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[10]</div>";
                        break;

                    Case "11":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[11]</div>";
                        break;

                    Case "12":
                        $title = "<div id='bulletinmonth'>$groupprefix - $month[12]</div>";
                        break;

                    Case ".D":
                        $title = "";
                        break;
                }
                echo "<tr><td higth='50%'>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>";
                echo "<tr><td>&nbsp;</td><td> $title </td><td>&nbsp;</td></tr>";
            }
            echo "<div id='bulletinbody'><ul><li><a href='$filepath'target='_blank'> $file </a></li></ul></div>";
            $prevgroupprefix = $groupprefix;
        }
    }
    closedir($handle);
}
?> 
4

1 に答える 1

0

多分あなたはscandir(すべてのファイルの配列を返す)を使用してから使用する必要がありますarray_reverseか?

于 2013-08-09T20:19:34.210 に答える