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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建多维文件数组和修改日期相关的知识,希望对你有一定的参考价值。

这是项目:我正在创建一个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
答案

您的代码可以简化为:

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

以上是关于创建多维文件数组和修改日期的主要内容,如果未能解决你的问题,请参考以下文章

PHP如何将嵌套的foreach变成数组的数组(多维数组)

如何从多维数组开始使用 DOM 创建表?

使用多维字符串数组写入文件

PHP:如何修改动态多维数组

js如何操作多维json数组?

C# 中 CSV 文件的多维数组