使用array_multisort()按SORT_DESC排序不起作用

时间:2019-02-28 15:05:18

标签: php

我已将此代码全部正常工作。但是,按desc排序似乎不起作用?我希望列出的文件在顶部显示最新创建的文件。我不知道为什么它不是按desc订购的?

<?php
date_default_timezone_set('Europe/London');
$dirname = "dir1";
$dirnameTwo = "dir2";
$dirnameThree = "dir3";

$cam1 = scandir($dirname, 1);
$cam2 = scandir($dirnameTwo, 1);
$cam3 = scandir($dirnameThree, 1);
?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html>
<head>
    <meta http-equiv='refresh' content='10'>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <meta http-equiv='cache-control' content='max-age=0' />
    <meta http-equiv='cache-control' content='no-cache' />
    <meta http-equiv='expires' content='0' />
    <meta http-equiv='expires' content='Tue, 01 Jan 1980 1:00:00 GMT' />
    <meta http-equiv='pragma' content='no-cache' />
</head>

<body>
<style type="text/css">
    .pi-title {
        padding: 1rem;
    }
</style>
<div class="container">
    <div class="row">
        <div class="pi-title">
            <h3>Test</h3>
        </div>
        <div class="table-container col-md-12">
            <table class="table" border='1' cellpadding='5' cellspacing='0' bordercolor='#ccc'>
                <thead class="thead-dark">
                <tr>
                    <th scope="col">ID</th>
                    <th scope="col">File Name</th>
                    <th scope="col">1</th>
                    <th scope="col">2</th>
                    <th scope="col">3</th>
                </tr>
                </thead>
                <tbody>
                <tr></tr>
                <tr>
                    <?php
                    error_reporting(E_ALL & ~E_NOTICE);
                    $directories = implode(',', [ $dirname, $dirnameTwo, $dirnameThree]);
                    $items = glob("./{{$directories}}/*", GLOB_BRACE);
                    array_multisort(array_map('filemtime',  $items),SORT_DESC, $items);
                    $dirs = array($dirname, $dirnameTwo, $dirnameThree);
                    for ($i = 1; $i <= 12; $i++) {
                        if (file_exists($items[$i])) {
                            echo "</tr>";
                            echo "<td><font face='Arial' size='3'>$i</font></td>";
                            echo "<td><font face='Arial' size='3' color='red'>" . date("F d Y H:i", filemtime($items[$i]));
                            echo "</font></td>";
                        }
                        print("

                           <td><img src='$dirs[0]/$cam1[$i]' height='180' width='220'></td>
                           <td><img src='$dirs[1]/$cam2[$i]' height='180' width='220'></td>
                           <td><img src='$dirs[2]/$cam3[$i]' height='180' width='220'></td>

   ");
                        if ($i === 12) break;
                    }
                    ?>
                </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>
</body>
</html>

有人能解释为什么它不起作用吗?还是我把SORT_DESC放在错误的位置?

0 个答案:

没有答案