2

私はPHPが初めてで、BaboonHut.comというプロジェクトを開発しています.PHPでコーディングしています.学ぶための最良の方法は、ただ飛び込むことです.とにかく、質問に対して、以下のコードのスニペットは現在、すべてのフォルダーの名前を取得しています特定の場所にいくつかの情報が表示されますが、アイテムは現在アルファベット順に表示されており、フォルダーの作成順に表示したいと思います。SimpleHost は Code-Game-Sleep http://www.baboonhut.com/resources/の前にある必要があります。よろしくお願いします。

<?php
$dir = 'resources/';

foreach(glob($dir.'*', GLOB_ONLYDIR) as $resdir) {
    $resdir = str_replace($dir, '', $resdir);
    echo "
<div class=\"span3\">
<div class=\"tile\">
<img src=\"resources/". $resdir ."/thumbnail.png\" class=\"img-rounded\">
<h3 class=\"tile-title\">". $resdir ."</h3>
<p>"; echo  include('resources/'. $resdir .'/description.txt'); echo "</p>
<a class=\"btn btn-primary btn-large btn-block\" href=\"http://www.baboonhut.com/resources/" . $resdir ."/\">More Information</a>
</div>
</div>
"
;
}
?>
4

3 に答える 3

2

これは、ディレクトリからファイルのリストを取得し、それらを配列に入れ、配列を日付でソートします。

<?php
$dir = 'resources/';
$files = [];

foreach(glob($dir.'*', GLOB_ONLYDIR) as $resdir) {
    $files[] = [
        "name" => $resdir,
        "time" => filectime($resdir)
    ];
}

// Sort files by date
usort($files, function($a, $b){
    return $b["time"] - $a["time"];
});

foreach($files as $resdir) {
    $resdir = str_replace($dir, '', $resdir);
    echo <<<HTML
    <div class="span3">
    <div class="tile">
    <img src="resources/$resdir/thumbnail.png" class="img-rounded">
    <h3 class="tile-title">$resdir</h3>
    <p>
HTML;
    readfile('resources/'. $resdir .'/description.txt'); 
    echo <<<HTML
    </p>
    <a class="btn btn-primary btn-large btn-block" href="http://www.baboonhut.com/resources/$resdir/">More Information</a>
    </div>
    </div>
HTML;
}
于 2013-05-31T20:24:11.333 に答える
1

あなたは打ち負かすことはできませんDirectoryIterator

$files = array();
$dir = new DirectoryIterator('.');
foreach ($dir as $fileinfo) {
   // Add only directories into a associative array, that key is it `MTime`
   if($fileinfo->isDir()){
       $files[$fileinfo->getMTime()] = $fileinfo->getFilename();
   }
}

// Then, key sort it.
ksort($files);
于 2013-05-31T20:28:31.183 に答える
0

作成日の使用

$files = glob(__DIR__ . '/*', GLOB_ONLYDIR);

// Using Creation Date
usort($files, function ($a, $b) {
    return filetime($a) - filetime($b);
});

foreach($files as $file) {
    printf("%s : %s\n", date("r", fileatime($file)), $file);
}

function filetime($file) {
    return PHP_OS == "win" ? fileatime($file) : filectime($file);
}

変更日の使用

$files = glob(__DIR__ . '/*', GLOB_ONLYDIR);

// Using Modification Date
usort($files, function ($a, $b) {
    return filemtime($a) - filemtime($b);
});

foreach($files as $file) {
    printf("%s : %s\n", date("r", fileatime($file)), $file);
}

注:その他の降順で使用$a - $bしますが、降順が必要な場合は使用してください$b - $a

于 2013-05-31T20:28:24.977 に答える