Posted By

nicolaspar on 01/12/07


Tagged


Versions (?)

Who likes this?

1 person have marked this snippet as a favorite

willcodeforfood


PHP - Incluir todo un directorio de archivos


 / Published in: PHP
 

  1. <?php
  2. function include_dir($path,$read=false) {
  3. //separador de directorios
  4. $s = '/';
  5. //vemos si es la primera vez que usamos la funcion
  6. if(!$read) {
  7. //obtenemos los dos ultimos caracteres
  8. $tree = substr($path,-2);
  9. if($tree=='.*') {
  10. //eliminamos el asterisco y activamos la recursividad
  11. $path = preg_replace('!\.\*$!','',$path);
  12. $read = true;
  13. }
  14. //obtenemos el document_root del archivo en caso de usarse
  15. $path = preg_replace('!^root\.!',$_SERVER['DOCUMENT_ROOT'].$s,$path);
  16. //cambiamos el punto por el separador
  17. $path = str_replace('.',$s,$path);
  18. }
  19. //abrimos el directorio
  20. if ($handle = opendir($path)) {
  21. while (false !== ($file = readdir($handle))) {
  22. if ($file != "." && $file != "..") {
  23. //si es un directorio lo recorremos en caso de activar la recursividad
  24. if(is_dir($path.$s.$file) and $read) {
  25. include_dir($path.$s.$file,true);
  26. } else {
  27. $ext = substr(strtolower($file),-3);
  28. if($ext == 'php') @include_once($path.$s.$file);
  29. }
  30. }
  31. }
  32. //cerramos el directorio
  33. closedir($handle);
  34. }
  35. }
  36.  
  37. //ejemplos
  38. //incluir el directorio "lib"
  39. include_dir('lib');
  40. //incluir todos los archivos que contenga "lib" esten en ese directorio o dentro de otros
  41. include_dir('lib.*');
  42. //incluir el directorio "lib" con ruta absoluta
  43. include_dir('root.lib');
  44. //incluir todos los archivos que contenga "lib" esten en ese directorio o dentro de otros
  45. include_dir('root.lib.*');
  46.  
  47. ?>

Report this snippet  

You need to login to post a comment.