/** * * @param <type> $path * @param <type> $options * @param <type> $throwException * @return <type> */ public static function getListOfFiles($path, $options = array(), $throwException = true) { $list = array(); $fileName = ''; if (uFs::is_dir($path, false)) { $basePath = $path; } else { $basePath = dirname($path); $fileName = basename($path); } uFs::is_dir($basePath, true); $iterator = new DirectoryIterator($basePath); while ($iterator->valid()) { $name = $iterator->getFilename(); if (strlen($fileName) > 0) { $pattern = '/^' . $fileName . '/'; if (1 === preg_match($pattern, $name)) { $fname = $basePath . uFs::DS . $name; $list[] = array('file-name' => $fname, 'date' => $iterator->getCTime()); } } else { $fname = $basePath . uFs::DS . $name; $list[] = array('file-name' => $fname, 'date' => $iterator->getCTime()); } $iterator->next(); } if (is_array($options) && !empty($options)) { if (isset($options['sort-by'])) { $sortBy = $options['sort-by']; if (isset($options['sort-order'])) { $sortOrder = $options['sort-order'] == 'ASC' ? SORT_ASC : SORT_DESC; } else { $sortOrder = SORT_ASC; } foreach ($list as $key => $row) { $sortArray[$key] = $row[$sortBy]; } array_multisort($sortArray, $sortOrder, $list); } } $result = array(); foreach ($list as $rec) { $result[] = $rec['file-name']; } return $result; }