Json filemtime error


Json filemtime error

我需要在 JSON 文件中写入目录和文件列表的最后修改日期,但我无法做到这一点,这里有一些代码:

$dir = Yii::app()->basePath.'/../uploads';
        $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::SELF_FIRST);
        $date = date('d-m-Y');
        $i=0;
        foreach($objects as $name => $object){
            print_r($i);
            $resultado = array(
                'fecha' => $date,
                'archivo' => $objects->getFilename(),
                'ruta'=>$objects->getPathname(),
                'modificacion' => filemtime($name), 
            );
            $i++;
            echo CJSON::encode($resultado);
            print_r("</br>");
        }

我需要"修饰",我也尝试过:

$objects->getMtime();
$objects::getMtime();
$object->getMtime();
$object::getMtime();
$name->getMtime();
$name::getMtime();
filemtime($name);
filemtime($objects);
filemtime($object);

错误:

Fatal error: Call to undefined method RecursiveIteratorIterator::getMTime()

谢谢!

您需要

对文件名调用filemtime,而不是映射到迭代器元素的键。

像这样:

 filemtime(realpath($objects->getPathname().DIRECTORY_SEPARATOR.$objects->getFilename()));

这使用realpath来纠正诸如额外斜杠之类的内容。