Дерево файлов на странице PHP с использованием фреймов? - PullRequest
0 голосов
/ 27 ноября 2010

У меня сейчас есть php-страница. Тем не менее, я хочу разбить его на две части и иметь файловый браузер на левой стороне страницы. Я хочу, чтобы браузер был похож на дерево, чтобы пользователь мог углубляться в папки.

Когда пользователь просматривает файл и щелкает его слева, я хочу, чтобы этот путь /dir1/dir2/file был загружен в текстовое поле, расположенное справа от моей страницы PHP.

Может кто-нибудь порекомендовать пойти по этому поводу? Я действительно чувствую себя подавленным и слишком взволнован, чтобы начать. Я смотрел на программы файлового дерева онлайн, и я сталкивался с платными, что я никак не могу интегрироваться с моей существующей страницей, так как они в значительной степени браузеры файлов / загрузки! Я просто хочу иметь древовидную структуру, не позволяя пользователю переименовать / загрузить

Вот как я вижу, что страница завершена:

==========================
File Tree | Actual Page  |
File Tree | Actual Page  |
File Tree | Actual Page  |
File Tree | Actual Page  |
File Tree | Actual Page  |
File Tree | Actual Page  |
File Tree | Actual Page  |
==========================

1 Ответ

0 голосов
/ 27 ноября 2010

Есть несколько способов сделать это.Одним из способов было бы иметь файловый браузер в iframe и отображение файла в другом iframe.

Исходный файл filebrowser.php будет выглядеть примерно так:

$dir = $_GET['dir'];

// validate $dir to make sure it's viewable by the current user!

$contents = scandir($dir);
foreach ($contents as $c) {
  $subfile = $dir.'/'.$c;
  if (is_dir($subfile) {
    echo "<a href=\"filebrowser.php?dir=".urlencode($subfile)."\" target=\"filebrowser_iframe\">$c</a><br>";
  } else {
    echo "<a href=\"filedisplay.php?file=".urlencode($subfile)."\" target=\"filedisplay_iframe\">$c</a><br>";
  }
}

В filedisplay.php

$file = $_GET['file'];

// validate $file to make sure it's viewable by the current user!

readfile($file);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...