PageRenderTime 38ms CodeModel.GetById 13ms RepoModel.GetById 1ms app.codeStats 0ms

/modeles/home.php

https://github.com/cyprieng/MediaStreamer
PHP | 29 lines | 20 code | 2 blank | 7 comment | 9 complexity | f0398d2b51754ec5d94d588a19565566 MD5 | raw file
  1. <?php
  2. /*
  3. Récupération d'arborescence
  4. @params folder Dossier à explorer
  5. @params extension Extension des fichiers à afficher
  6. @return tableau du type array[0] = nom dossier; array[1...2...] = nom fichier; Si sous-dossier array[?][] = array sous-dossier
  7. */
  8. function getArborescence($folder, $extension){
  9. $pointeur = opendir($folder); //on ouvre un pointeur sur le repertoire
  10. $arborescence[] = (mb_detect_encoding($folder, "UTF-8,ISO-8859-1,WINDOWS-1252") == 'UTF-8') ? $folder:utf8_encode($folder); //Première case => nom dossier
  11. //Récupération dossier dans l'ordre alphabétique
  12. $sub_folder = scandir($folder, 2);
  13. natcasesort($sub_folder);
  14. foreach($sub_folder as $file){
  15. if(($file != '.') && ($file != '..')){ //on ne traite pas les . et ..
  16. if (is_dir($folder.'/'.$file)){ //si c'est un dossier, on le lit
  17. $arborescence[] = getArborescence($folder.'/'.$file, $extension);
  18. }
  19. else if(in_array(substr(strrchr($file,'.'),1), $extension)){ //Si fichier on vérifit l'extension
  20. $arborescence[] = (mb_detect_encoding($folder.'/'.$file, "UTF-8,ISO-8859-1,WINDOWS-1252") == 'UTF-8') ? $folder.'/'.$file:utf8_encode($folder.'/'.$file);
  21. }
  22. }
  23. }
  24. closedir($pointeur); //fermeture du pointeur
  25. return $arborescence;
  26. }
  27. ?>