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

问题描述 投票:0回答:1

这是项目:我正在创建一个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
php multidimensional-array
1个回答
0
投票

您的代码可以简化为:

if (strpos($file, '.jpg') !== false){
    $imgFiles[] = [ 
        'lastmod' => filemtime($imgFolder . $file), 
        'filename' => $file,
    ];
}
© www.soinside.com 2019 - 2024. All rights reserved.