[ create a new paste ] login | about

Link: http://codepad.org/cTPi90gR    [ raw code | fork ]

PHP, pasted on Dec 24:
<?php
    function showTree($dir) {
        //Стек
		$list = new SplDoublyLinkedList();
	    $arr = scandir($dir);
		$arr = array_diff($arr, array('.', '..'));
		//Инициализация первого файлами и папками первого уровня вложенности
		foreach($arr as $v)
		    $list->push($dir . DIRECTORY_SEPARATOR . $v);
		
		//Покуда есть данные в стеке
		while(!$list->isEmpty()) {
		    $curr = $list->shift();
			echo "$curr<br>";
			
			//Если папка
			if(is_dir($curr)) {
			    $arr = scandir($curr);
				$arr = array_diff($arr, array('.', '..'));
				
				//Получаем список папок и файлов
				$i=0;
				foreach($arr as $v){
				    $path = $curr . DIRECTORY_SEPARATOR . $v;
					$list->add($i, $path);
					$i++;    					
				}	
			} 
		}
	}
	
	//Вызываем функцию
    showTree(dirname(__FILE__));
?>


Create a new paste based on this one


Comments: