Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2014, 18:04
Новичок на форуме
Отправить личное сообщение для Greyson Посмотреть профиль Найти все сообщения от Greyson
 
Регистрация: 27.05.2014
Сообщений: 1

Вывод каталога в виде дерева на js
Добрый день, подскажите пожалуйста, возможно ли на js вывести все папки и файлы определенного каталога в виде дерева в раскрывающемся списке на сайт. Например обычное дерево каталогов windows:



Я вижу 3 варианта решения проблемы, но ни один не знаю как реализовать:
  1. Сайт на WP, сделать все это, что бы автоматически строилось дерево из рубрик, подрубрик и записей в них;
  2. Сделать так, что бы читался файл при загрузке страницы, в котором есть строки, например: категория|подкатегория|наз вание|ссылка или что то подобное;
  3. И третий (самый лучший) вариант это как я написал выше, что бы автоматом считывало каталог на наличие подкаталогов и файлов в нем.

Сейчас есть только скрипт вывода дерева от treeview.net:
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2014, 09:37
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

так как задача полезна, возможно уже существуют готовые плагины, на которые я бы также взглянул, дабы не изобретать велосипед

а так нужно делать на php обход каталога и его подкаталогов (например, на основе использования функции scandir) и прикручивать вывод к какому-нибудь js-дереву (в твоём случае ещё и учитывать особенности wordpress)

можно погуглить на тему php-js файловых менеждеров

Последний раз редактировалось bes, 13.06.2014 в 09:42.
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2014, 23:27
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

http://javascript.ru/ui/tree+++
http://wwwendt.de/tech/dynatree/index.html
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2014, 23:28
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

для затравки
define("SEP", "&middot ");
$dir = ".";
echo $dir."<br/>";
function recursive_directory_traversal($dir, $sep) {
	$files = array_diff(scandir($dir), array(".", ".."));
	foreach($files as $value) {
		if (empty($files)) continue;
		$path = $dir."/".$value;
		if (is_dir($path)) {
			echo $sep."<b>".$value."</b><br/>";
			recursive_directory_traversal($path, $sep.SEP);
		} else {
			echo $sep.$value."<br/>";
		}
	}
}
recursive_directory_traversal($dir, SEP);
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2014, 01:19
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

bes,
if (empty($files)) continue;
лишнее

Последний раз редактировалось Vlasenko Fedor, 15.06.2014 в 01:26.
Ответить с цитированием
  #6 (permalink)  
Старый 15.06.2014, 02:22
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Poznakomlus
bes,
if (empty($files)) {
        return;
    }
лишнее
согласен

попутно проба пера использования с http://www.jstree.com/
<meta charset="utf-8">
<link rel="stylesheet" href="dist/themes/default/style.min.css" />
<script src="dist/libs/jquery.js"></script>
<script src="dist/jstree.min.js"></script>

<div id="jstree">
<?php
$dir = ".";
function recursive_directory_traversal($dir) {
	echo "<ul>";
	$files = array_diff(scandir($dir), array(".", ".."));
	foreach($files as $value) {
		$path = $dir."/".$value;
		$value = iconv("windows-1251", "utf-8", $value);//
		if (is_dir($path)) {
			echo "<li>".$value;
			recursive_directory_traversal($path);
			echo "</li>";
		} else {
			echo "<li data-jstree='{\"icon\":\"http://jstree.com/tree.png\"}'>".$value."</li>";
		}
	}
	echo "</ul>";
}
recursive_directory_traversal($dir);
?>
</div>
<script>
$(function(){
	$('#jstree').jstree();
});
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 15.06.2014, 03:51
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

если потребуются параметры размер, дата изменения, модификации и другие, то посоветовал посмотреть RecursiveDirectoryIterator
Ответить с цитированием
  #8 (permalink)  
Старый 15.06.2014, 05:26
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,493

http://javascript.ru/ui/ajaxtree
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 15.06.2014, 09:22
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Poznakomlus
если потребуются параметры размер, дата изменения, модификации и другие, то посоветовал посмотреть RecursiveDirectoryIterator
также есть http://www.php.net/manual/ru/ref.filesystem.php
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS вывод информации из XML WaMpIr Общие вопросы Javascript 0 25.01.2013 09:36
Вывод текста из JS файла в атрибут div на html страничке. help Kreol Общие вопросы Javascript 11 15.12.2012 13:08
Вывод данных в поле ввода с помощью JS Aleks-prog Ваши сайты и скрипты 0 23.06.2011 12:09
Вывод кусков HTML кода с одного файла JS wlad2 Общие вопросы Javascript 16 04.01.2011 11:52
Вывод JS значения в одну строку в HTML velo Общие вопросы Javascript 7 15.12.2009 03:57