2019-02-28 12:07
浏览 140


I currently have the setup below. Want I want it to do is to to scan 3 directories, display all files (up to 12) in each for each directory. In the filename name column I want it to display the file creation date for each file. However, it's only looping over the creation date for either 1 file or the index.php file rather than looking in the directories folder? Can anyone assist please?

$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' ''>
    <meta http-equiv='refresh' content='10'>
    <link rel="stylesheet" href="" 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' />

<style type="text/css">
    .pi-title {
        padding: 1rem;
<div class="container">
    <div class="row">
        <div class="pi-title">
        <div class="table-container col-md-12">
            <table class="table" border='1' cellpadding='5' cellspacing='0' bordercolor='#ccc'>
                <thead class="thead-dark">
                    <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>
                    error_reporting(E_ALL & ~E_NOTICE);
                    $directories = implode(',', [ $dirname, $dirnameTwo, $dirnameThree]);
                    $items = (glob("./{{$directories}}/*", GLOB_BRACE));
                    array_multisort(array_map('filemtime', $items),SORT_NUMERIC,SORT_DESC, $items);
                    $dirs = array($dirname, $dirnameTwo, $dirnameThree);
                    foreach ($items as $filename) {
                                    for ($i = 1; $i <= 12; $i++) {
                                    if (file_exists($filename)) {
                                        echo "</tr>";
                                        echo "<td><font face='Arial' size='6'>$i</font></td>";
                                        echo "<td><font face='Arial' size='6' color='red'>" . date("F d Y H:i", filemtime($filename));
                                        echo "</font></td>";

                                               <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;
                        if ($i === 12) break;
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanan6043 2019-02-28 13:17

    Replace the whole foreach loop with this.

    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>";
               <td><img src='$dirs[0]/$cam1[$i]' height='80' width='80'></td>
               <td><img src='$dirs[1]/$cam2[$i]' height='80' width='80'></td>
               <td><img src='$dirs[2]/$cam3[$i]' height='80' width='80'></td>
       if ($i === 12) break; //unnecessary should/could be removed

    Replaced $filename with $items[$i]

    点赞 打赏 评论

相关推荐 更多相似问题