Как да извлечем пътя до всички файлове от дадена директория
Публикувано от Nick / Разгледано 337 пъти / Програмиране / 26 Май 2009
За тази цел използвам следната фукция:
function get_module_info($dir)
{
global $x_module_array;
if(!is_array($x_module_array)) $x_module_array = array();
$d = @dir($dir);
if($d)
{
while (false !== ($entry = $d->read()))
{
if($entry!='.' && $entry!='..')
{
$entry_org = $entry;
$entry = $dir.DIRECTORY_SEPARATOR.$entry;
if(is_dir($entry))
{
get_module_info($entry);
}
if(is_file($entry))
{
$x_module_array[] = $entry;
}
}
}
$d->close();
}
return $x_module_array;
}
Единственото което трябва да направите е да определите директорията от която искате да извлечете файловете (заместете C:\\apache\\htdocs\\demo с пътя до Вашата директория):
$array = get_module_info('C:\\apache\\htdocs\\demo');
И тази фукция ще Ви върне масив с всички файлове от директорията и поддиректориите. Резултата ще е нещо такова:
$array =
(
'C:\apache\htdocs\demo\.htaccess',
'C:\apache\htdocs\demo\classes\controller_base.php',
'C:\apache\htdocs\demo\classes\registry.php',
'C:\apache\htdocs\demo\classes\router.php',
'C:\apache\htdocs\demo\classes\template.php',
'C:\apache\htdocs\demo\controllers\.htaccess',
'C:\apache\htdocs\demo\controllers\index.php',
'C:\apache\htdocs\demo\controllers\members.php',
'C:\apache\htdocs\demo\includes\startup.php',
'C:\apache\htdocs\demo\index.php',
'C:\apache\htdocs\demo\templates\.htaccess',
'C:\apache\htdocs\demo\templates\index.php'
);
Търсене в статиите
Loading