创建文件和修改日期的多维数组

时间:2019-04-13 18:01:07

标签: php multidimensional-array

这是项目:我正在创建一个PHP脚本来优化文件夹中的图像。我要从文件夹中获取所有JPG,获取它们的修改日期和文件名,然后将它们推入数组。对该数组进行迭代以进行压缩,并最终将其输出到json文件中以供以后检查,以确保不需要时不再对图像进行优化。

问题:我在print_r时内部数组为空。

我的后端开发人员不如前端开发人员强,因此我在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 :(得分:0)

您的代码可以简化为:

if (strpos($file, '.jpg') !== false){
    $imgFiles[] = [ 
        'lastmod' => filemtime($imgFolder . $file), 
        'filename' => $file,
    ];
}