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