<?php
if (!defined('DIR_SEP')) { if (stripos(php_uname('s'), 'Win')===FALSE) // Mac OS/LINUX/UNIX directory separator define('DIR_SEP', "/"); else // MS Windows directory separator define('DIR_SEP', "\\"); }
function include_modules($dir, $ignore=array(), $filetype='.php', $¿require=FALSE) { if (substr($dir, strlen($dir)-1)!==DIR_SEP) $dir.=DIR_SEP; if (!is_dir($path=$dir)) { $paths=explode(PATH_SEPARATOR, get_include_path()); foreach ($paths as &$p) {if (substr($p, strlen($p)-1)!==DIR_SEP) $p.=DIR_SEP;} $i=0; $m=count($paths); do {$path=$paths[$i++].$dir;} while (!is_dir($path) and $i<$m); } $D=opendir($path); while ( $f=readdir($D) ) { if ($f=="." or $f==".." or in_array($f, $ignore)) continue; if (is_dir($path.$f)) include_modules($path.$f.DIR_SEP, $ignore, $filetype, $¿require); else if ( (is_string($filetype) and strrchr($f, '.')==$filetype) or (is_array($filetype) and in_array(strrchr($f, '.'), $filetype)) ) { if ($¿require) require_once $path.$f; else include_once $path.$f; } } closedir($D); } ?>
|