再帰的にディレクトリを削除する
<?php
$path = 'hchuno/dacchuno/hoge';
$items = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator(
$path,
RecursiveDirectoryIterator::CURRENT_AS_SELF
),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($items as $item) {
if ($item->isFile() || $item->isLink()) {
unlink($item->getPathname());
} elseif ($item->isDir() && !$item->isDot()) {
rmdir($item->getPathname());
}
}
rmdir($path);
任意のディレクトリ内のファイルを更新日時順で取得する
<?php
$dir = 'mychuno/hogehoge';
if (! file_exists($dir)) {
return null;
}
$result = array();
$iterator = new DirectoryIterator($dir);
foreach ($iterator as $itr) {
if (! $itr->isFile()) {
continue;
}
$result[$itr->getMTime()] = array(
'name' => $itr->getFileName(),
'updated' => $itr->getMTime(),
);
}
ksort($result);
return $result;