Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: навигацию по каталогам

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: навигацию по каталогам как в dropbox, total commander?
mkv1313
Отправлено: 05 Мая, 2011 - 15:38:52
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




не получается сделать навигацию по каталогам как в dropbox, total commander. Однако
 
 Top
vlom
Отправлено: 05 Мая, 2011 - 17:21:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




а что именно не получается то??? поподраобнее
(Добавление)
для начала прочти вот это http://forum.php.su/topic.php?fo...1&topic=1701
 
 Top
mkv1313
Отправлено: 05 Мая, 2011 - 18:45:18
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




есть папка в которой куча папок и файлов. нужно их вывести как в dropbox(т.е. такую же навигацию).

деревом вывожу так считываю директорию scandir,
получаю массив, вывожу его. + убираю "." и ".."
p.s. код думаю и так будет понятен. это стандартный вывод файлов

спс за помощь.
 
 Top
EuGen Администратор
Отправлено: 05 Мая, 2011 - 18:50:15
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Ну так покажите код, и станет ясно, чем Вам помочь


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
mkv1313
Отправлено: 05 Мая, 2011 - 19:00:48
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




<?php
$dir = "/some_dir/";
if(is_dir($dir)) {
echo $dir.' - директория существует;<br>';
$files = scandir($dir);
array_shift($files);
array_shift($files);
for($i=0; $i<sizeof($files); $i++) echo '-файл: '.$files[$i].';<br>'; //выводим все файлы
}
else echo $dir.' -такой директории нет;<br>';
?>
 
 Top
Саныч
Отправлено: 05 Мая, 2011 - 19:08:01
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




http://php.su/functions/?readdir
Смотреть пример №2


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
vlom
Отправлено: 05 Мая, 2011 - 19:09:50
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




описанный тобою способ не выведет дерево каталогов, для того чтобы распечатать дерево каталогов необходимо использовать рекурсиию
смотри во здесь
http://www.php[dot]ru/forum/viewtopic.php?p=32053
и еще вот тут ищи в комментах про рекурсию
http://www.php.net/manual/ru/fun...tion.opendir.php
http://www.php.net/manual/ru/fun...tion.readdir.php
 
 Top
mkv1313
Отправлено: 05 Мая, 2011 - 19:22:54
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




спс за ссылки. а как теперь сделать навигацию?
 
 Top
Homer
Отправлено: 05 Мая, 2011 - 19:29:00
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




как вариант попробовать подобный вариан
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if (!isset($_GET['dir']) || empty($_GET['dir'])) {
  3.     $dir = "./";
  4. } else {
  5.     $dir = $_GET['dir'];
  6. }
  7. if (is_dir($dir)) {
  8.     echo $dir . ' - директория существует;<br>';
  9.     $files = scandir($dir);
  10.     array_shift($files);
  11.     array_shift($files);
  12.     for ($i = 0; $i < sizeof($files); $i++)
  13.        if ($dir == "./") {
  14.            echo "<a href='/имя_файла.php?dir=" . $dir . $files[$i] . "'>" . $files[$i] . "</a><br />"; //выводим все файлы
  15.         } else {
  16.             echo "<a href='/имя_файла.php?dir=" . $dir . "/" . $files[$i] . "'>" . $files[$i] . "</a><br />"; //выводим все файлы  
  17.         }
  18. } else {
  19.     echo $dir . ' -такой директории нет;<br>';
  20. }
  21.  


Под винду нужно будет "./" заменить на "/".

(Отредактировано автором: 05 Мая, 2011 - 19:35:49)

 
 Top
vlom
Отправлено: 05 Мая, 2011 - 19:36:23
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




как вариант еще можно использовать сессии для хранения данных о том в каком сейчас каталоге находишься
 
 Top
mkv1313
Отправлено: 05 Мая, 2011 - 19:58:07
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




спс
 
 Top
mkv1313
Отправлено: 06 Мая, 2011 - 10:09:07
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




когда перехожу по ссылкам пишет "Object not found! The requested URL was not found on this server."
И что за "название_файла" в ссылке?
(Добавление)
т.е. "имя_файла"
 
 Top
Stierus Супермодератор
Отправлено: 06 Мая, 2011 - 10:30:09
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function getDirectoryTree( $outerDir, $filters = array() ){
  3.     $dirs = array_diff( scandir( $outerDir ), array_merge( Array( ".", ".." ), $filters ) );
  4.     $dir_array = Array();
  5.     foreach( $dirs as $d )
  6.         $dir_array[ $d ] = is_dir($outerDir."/".$d) ? getDirectoryTree( $outerDir."/".$d, $filters ) : $dir_array[ $d ] = $d;
  7.     return $dir_array;
  8. }
  9. ?>


этот пример взят из официального мануала по функции, которую вы же упоминали ( http://ru.php.net/manual/en/func...candir.php#94294 ) ... я понимаю, спрашивать о действительно сложных и непонятных вещах, после того, как уже попытались поискать ответ сами ... но банальная вещь, описанная почти на каждом тематическом форуме + во всех мануалах по php - пара таких тем и лично я перестаю смотреть топики, созданные такими авторами.

(Отредактировано автором: 06 Мая, 2011 - 10:31:36)

 
My status
 Top
mkv1313
Отправлено: 06 Мая, 2011 - 10:44:22
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Извиняюсь. но поиск результатов не дал. у самого как то криво получается. спс за ссылку, почитаю.
 
 Top
Homer
Отправлено: 06 Мая, 2011 - 21:24:41
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




mkv1313 пишет:
когда перехожу по ссылкам пишет "Object not found! The requested URL was not found on this server."
И что за "название_файла" в ссылке?
(Добавление)
т.е. "имя_файла"


имя_файла - это имя вашего php файла в котором должен лежать код. его надо изменить.

а ошибку выдает потому, что вы видимо это самое имя_файла оставили Улыбка

Цитата:
Что он должен делать и зачем он?


тот код, который я давал в ветке форума.
файл ссылается(отправляет GET запрос) сам на себя.

я не знаю, как проще это объяснить Улыбка

(Отредактировано автором: 07 Мая, 2011 - 00:30:33)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB