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
Форумы портала PHP.SU :: Версия для печати :: навигацию по каталогам
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » навигацию по каталогам

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

1. mkv1313 - 05 Мая, 2011 - 15:38:52 - перейти к сообщению
не получается сделать навигацию по каталогам как в dropbox, total commander. Однако
2. vlom - 05 Мая, 2011 - 17:21:55 - перейти к сообщению
а что именно не получается то??? поподраобнее
(Добавление)
для начала прочти вот это http://forum.php.su/topic.php?fo...1&topic=1701
3. mkv1313 - 05 Мая, 2011 - 18:45:18 - перейти к сообщению
есть папка в которой куча папок и файлов. нужно их вывести как в dropbox(т.е. такую же навигацию).

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

спс за помощь.
4. EuGen - 05 Мая, 2011 - 18:50:15 - перейти к сообщению
Ну так покажите код, и станет ясно, чем Вам помочь
5. mkv1313 - 05 Мая, 2011 - 19:00:48 - перейти к сообщению
<?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>';
?>
6. Саныч - 05 Мая, 2011 - 19:08:01 - перейти к сообщению
http://php.su/functions/?readdir
Смотреть пример №2
7. vlom - 05 Мая, 2011 - 19:09:50 - перейти к сообщению
описанный тобою способ не выведет дерево каталогов, для того чтобы распечатать дерево каталогов необходимо использовать рекурсиию
смотри во здесь
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
8. mkv1313 - 05 Мая, 2011 - 19:22:54 - перейти к сообщению
спс за ссылки. а как теперь сделать навигацию?
9. Homer - 05 Мая, 2011 - 19:29:00 - перейти к сообщению
как вариант попробовать подобный вариан
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.  


Под винду нужно будет "./" заменить на "/".
10. vlom - 05 Мая, 2011 - 19:36:23 - перейти к сообщению
как вариант еще можно использовать сессии для хранения данных о том в каком сейчас каталоге находишься
11. mkv1313 - 05 Мая, 2011 - 19:58:07 - перейти к сообщению
спс
12. mkv1313 - 06 Мая, 2011 - 10:09:07 - перейти к сообщению
когда перехожу по ссылкам пишет "Object not found! The requested URL was not found on this server."
И что за "название_файла" в ссылке?
(Добавление)
т.е. "имя_файла"
13. Stierus - 06 Мая, 2011 - 10:30:09 - перейти к сообщению
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 - пара таких тем и лично я перестаю смотреть топики, созданные такими авторами.
14. mkv1313 - 06 Мая, 2011 - 10:44:22 - перейти к сообщению
Извиняюсь. но поиск результатов не дал. у самого как то криво получается. спс за ссылку, почитаю.
15. Homer - 06 Мая, 2011 - 21:24:41 - перейти к сообщению
mkv1313 пишет:
когда перехожу по ссылкам пишет "Object not found! The requested URL was not found on this server."
И что за "название_файла" в ссылке?
(Добавление)
т.е. "имя_файла"


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

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

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


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

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

 

Powered by ExBB FM 1.0 RC1