2017-03-07 13 views
0

私は、このディレクトリ内のすべてのファイルを取得し、このコードを持っていますが、私は日によってそれらを注文するように変更する方法がわかりません。現在のところ、すべてのファイルを表示し、ページ番号を付け加えていますが、画像は日付順ではありません。他のstackoverflowの回答を使用していますが、動作しませんでした。注文画像

<?php 
    $maindir = "../source" ; 
    $mydir = opendir($maindir) ; 
    $limit = 20; 
    $offset = ((int)$_GET['offset']) ? $_GET['offset'] : 0; 
    $files = array(); 
    $page=''; 
    $exclude = array(".", "..", "index.php",".htaccess","guarantee.gif") ; 
    while($fn = readdir($mydir)) 
    { 
     if (!in_array($fn, $exclude)) 
     {        
      $files[] = $fn;; 
     } 
    } 
    closedir($mydir); 
    $newICounter = (($offset + $limit) <= sizeof($files)) ? ($offset + $limit) : sizeof($files); 

    for($i=$offset;$i<$newICounter;$i++) { 
    ?> 
     <a href="<?php print $files[$i]; ?>"><?php print $files[$i]; ?></a><br> 
    <?php 
    } 
    freddyShowNav($offset,$limit,sizeof($files),""); 

    function freddyShowNav($offset, $limit, $totalnum, $query) { 
     global $PHP_SELF; 
     if ($totalnum > $limit) { 
       // calculate number of pages needing links 
       $pages = intval($totalnum/$limit); 

       // $pages now contains int of pages needed unless there is a remainder from division 
       if ($totalnum%$limit) $pages++; 

       if (($offset + $limit) > $totalnum) { 
        $lastnum = $totalnum; 
        } 
       else { 
        $lastnum = ($offset + $limit); 
        } 
      echo $pages; 
       ?> 
        <table cellpadding="4"><tr><td>Page </td> 
         <td> 
          <ul class="pager"> 
           <li><a href="?offset=<?php echo $_GET['offset'] - 20; ?>"><i class="fa fa-angle-left"></i> Previous</a></li> 
           <li><a href="?offset=<?php echo $_GET['offset'] + 20; ?>">Next <i class="fa fa-angle-right"></i></a></li> 
          </ul> 
         </td> 

         </tr></table> 
       <?php 
      } 
     return; 
     } 
    echo $page; 
    ?> 

答えて

1

あなたはこのhttp://php.net/manual/en/function.sort.phpでこれ http://php.net/manual/en/function.filemtime.php を使用してみ?日付がこの

while($fn = readdir($mydir)) 
{ 
    if (!in_array($fn, $exclude)) 
    {        
     $files[] = array(
      'file_name' => $fn, 
      'mod_time' => filemtime($maindir.'/'.$fn) 
      ); 
    } 
} 

ようFILETIME機能を使用し、あなたの答えは間違いなくOPを助けるファイル

usort($files, function($a, $b) { 
    return $a['mod_time'] - $b['mod_time']; 
}); 
+0

でテーブルを並べ替えることができます修正したファイルを確認するには

。しかし、彼らがどのように動作するか説明せずにリンクを投稿するのは、質の低い投稿です。可能であれば、あなたの答えを編集し、これらの2つの機能を含むサンプルコードを追加し、どのように動作するかを示してください。 – EhsanT

+0

"filetime"は "filemtime"ではない場所ですか? また、どこに私がusortを置くことになっていたのか分からなかった...私が何を入力しても、ページの下に "Array"が現れる。 –

+0

申し訳ありませんが、私の間違いは、今や誠実ではないかと思います。 – DevQuayle

関連する問題