FileHelper.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\custom\helpers;
  3. class FileHelper {
  4. public static function listFilesFromDirectoryAndSubfolders($directory) {
  5. if(!file_exists($directory)) return array();
  6. $di = new \RecursiveDirectoryIterator($directory);
  7. $out = array();
  8. foreach (new \RecursiveIteratorIterator($di) as $filename => $file) {
  9. $out[basename($filename)] = $filename;
  10. }
  11. return $out;
  12. }
  13. public static function getClassNamesFromFilesList($file_list) {
  14. $out = array();
  15. foreach($file_list as $file_name => $file_patch) {
  16. if(($name = self::getClassNameFromFileName($file_name)) !== false) {
  17. $out[] = $name;
  18. }
  19. }
  20. return $out;
  21. }
  22. public static function getClassNameFromFileName($file_name) {
  23. preg_match('@class\.(.*)\.php@', $file_name, $matches);
  24. if(isset($matches[1])) {
  25. return $matches[1];
  26. }
  27. return false;
  28. }
  29. public static function listFoldersFromDirectory($directory) {
  30. if(!file_exists($directory)) return array();
  31. $di = new \DirectoryIterator($directory);
  32. $out = array();
  33. foreach (new \IteratorIterator($di) as $filename => $file) {
  34. if($file->isDir() && !$file->isDot())
  35. $out[] = $file->getFilename();
  36. }
  37. return $out;
  38. }
  39. }