8 ball Annyhilator C++ Java MaZaHaKa MTV php Sape Uratsakidogi Аватары Актеры Библиотека Хакера Бумбокс Взлом Владимир Толоконников Вселенная Гена Рыжов Генератор ответов Ильяс Гаптрахманов Как правильно искать в Google Как сделать активную кнопку самому Картинки Кино Киса Кнопка на рабочий стол как в фильме "Хоттабыч" Кнопка на рабочий стол как в фильме "Хоттабыч Кнопка слива Кнопки на робочем столе Код Конкурс от хоттабыча Курсоры Курсоры для сайта Лива Круминя Линукс Ляпис Трубецкой Магический шар Марк Гейхман Марюс Ямпольскис Мастдай Мила Липнер Мир Многоточие Награды Никита Хлебанцов Ольга Дегтярёва Петр Точилин Прикольные курсоры Проги Программы Гены Рабочий стол Гены Рассказ Режиссер фильма Реплики Саундтрек Скринмейты Скрипт Скрипт php Скрипты Статьи хацкеров Сценарий фильма Хоттабыч Тиц Три желания Хоттабыча Файловая структура в массив Файловый путь в многомерный массив Фантастика Фильм Хоттабыч Фразы функция возведения в степень Футболки Хоттабыч Хоттабыча на сайт Чат бот Киса Чат боты Шайтаныч шар судьбы Шелл Катя шифрование Шкала размеров Энни Юзербары Юлия Паранова Яндекс

Многомерный массив из пути фала

21 августа 2014
На входе строка пути пример: $Directory = /home/zubrin70/public_html/published/
И массив файлов данной директории пример: $Files = array(
0=>'dir1', 1=>'dir23', 2=>'index.php'
)
строка директории переводится в многомерный массив и в конец вставляется массив файлов
На выходе массив вида array(
'home'=>array(
'zubrin70'=>array(
'public_html'=>array(
'published'=>array(
0=>'dir1',
1=>'dir23',
2=>'index.php'
)
)
)
)
)

 

public function getDirectoryArray($Directory,$Files)
	{
		if(substr($Directory, -1, 1)!='/') {
			$Directory = $Directory.'/'; 
		} 
		preg_match_all("/\/*(.+?)\//", $Directory,$puty);
		array_push($puty[1],$Files);
		$Directory = $puty[1];
		$result = array();
		$current = &$result;
		while($Directory) {
			$key = array_shift($Directory);
			if(is_array($key)) {
				$current = $key;
				$current = &$current;
			} else {
				$current[$key] = array();
				$current = &$current[$key];
			}
		}
		return $result;
	}