Создание многомерного массива файлов и модифицированных дат - PullRequest
0 голосов
/ 13 апреля 2019

Вот проект: я создаю скрипт PHP для оптимизации изображений в папке.Я собираю все файлы JPG из папки, получаю их измененную дату и имя файла и помещаю их в массив;этот массив проходит итерацию для сжатия, а также в конечном итоге выводится в файл json для последующих проверок, чтобы убедиться, что я не оптимизирую изображение снова, если оно не нужно.

Проблема: мойКогда я печатаю, внутренние массивы пустые.

Я не такой сильный бэкенд-разработчик, как внешний интерфейс, поэтому я немного слаб в многомерных ассоциативных массивах в PHP.

if (is_dir($imgFolder)){
    if ($dh = opendir($imgFolder)){
        $imgIndex = 0;
        while (($file = readdir($dh)) !== false){
            if (strpos($file, '.jpg') !== false){
                $imgDate = filemtime($imgFolder . $file);

                array_push($imgFiles, 
                    array($imgIndex => array(
                        [lastmod] => $imgDate, [filename] => $file)
                    )
                );

                $imgIndex++;
            }
        }
        closedir($dh);
    }
}

В основном, я хочу, чтобы значения были такими ...

[0]
  [lastmod]=>date1
  [filename]=>file1.jpg
[1]
  [lastmod]=>date2
  [filename]=>file2.jpg
[2]
  [lastmod]=>date3
  [filename]=>file3.jpg

1 Ответ

0 голосов
/ 13 апреля 2019

Ваш код может быть упрощен до этого:

if (strpos($file, '.jpg') !== false){
    $imgFiles[] = [ 
        'lastmod' => filemtime($imgFolder . $file), 
        'filename' => $file,
    ];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...