以下のように、YearMonthDay Time の形式のディレクトリにファイルのリストがあります。
20080508-120801suggestions.sql
20090508-120737categories.sql
20100508-120737articlelikes.sql
20110508-120737article.sql
20120508-120737comments.sql
20120508-120737loginusers.sql
20120508-120737popsearch.sql
20120508-120737suggestions.sql
20120508-120801article.sql
PHP で年単位で 1 つの項目を表示し、それを展開すると、月単位で 1 つの項目が表示され、さらにその日で 1 つの項目が表示され、その日に利用可能なすべてのバックアップが表示されます。
最初のビットは、すべての一意の年を一覧表示するところまで完了しており、次にどこに行くべきか分からないほど長い間コードを見つめていました。
変数 year を URL に渡しているので、必要に応じてコードの一部としてそれを取得できます。
if ($handle = opendir($_SERVER['DOCUMENT_ROOT'] . 'sqlbackup/'))
{
while (false !== ($entry = readdir($handle)))
{
$isYearfound = 'false';
//$dirlist = array();
if (($entry != ".") AND ($entry != ".."))
{
foreach ($dirarray as $dirarrayyear)
{
if (substr($entry, 0, 4) == $dirarrayyear)
{
$isYearfound = 'true';
}
}
if ($isYearfound == 'false')
{
$dirarray[] = substr($entry, 0, 4);
Print "<a href='myknowledge.php?mnpage=managedb&date=" . substr($entry, 0, 4) . "'>" . substr($entry, 0, 4) . "</a><br/>";
}
//Print $entry . "<br/>";
}
}
closedir($handle);
}