Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Навигация по каталогам

Сообщения:  [1-9] 

 
 автор: cheops   (12.11.2006 в 21:48)   письмо автору
 
   для: tAleks   (12.11.2006 в 20:05)
 

Да, собственно специальной функции не требуется, я обычно в этом случае использую следующий код
<?php
    
// Выводим ссылки на предыдущие каталоги
    
$_GET['dir'] = rtrim($_GET['dir'],"/");
    
$prev explode("/",$_GET['dir']);
    if(!empty(
$prev))
    {
      
$prev_path "";
      
$link = array();
      for(
$i 0$i count($prev); $i++)
      {
        
$prev_pach .= "/".$prev[$i];
        
$prev_pach str_replace("//","/",$prev_pach);
        if(!empty(
$prev[$i])) $link[] = "<a href=index.php?dir=".urlencode($prev_pach).">".$prev[$i]."</a>";
        else 
$link[] = "<a href=index.php?dir=".urlencode($prev_pach).">Корневая директория</a>";
      }
?>

   
 
 автор: tAleks   (12.11.2006 в 20:05)   письмо автору
 
   для: cheops   (12.11.2006 в 19:59)
 

А какой функцией отрезать последнйи каталог-то от пути?

   
 
 автор: cheops   (12.11.2006 в 19:59)   письмо автору
 
   для: tAleks   (12.11.2006 в 19:56)
 

>А где лучше всего хранить путь? В сессии? Вроде как не очень удобно?
Нет, лучше в GET-параметрах, в строке запроса.

   
 
 автор: tAleks   (12.11.2006 в 19:56)   письмо автору
 
   для: cheops   (12.11.2006 в 19:48)
 

А где лучше всего хранить путь? В сессии? Вроде как не очень удобно?
И как отрезать последний каталог от пути?

   
 
 автор: Yakor   (12.11.2006 в 19:50)   письмо автору
 
   для: tAleks   (12.11.2006 в 19:38)
 

Я как то уже делал такую штуку.... но давно ббыло... вообщем вот что тогда получилось :)
<? 
$dir 
opendir($this_dir);
while (
$file readdir($dir))
{
if(
(
$file != ".")
&& (
$file != "..")
&& (
$file != "index.php")
&& (
$file != "header.php")
&& (
$file != "footer.php"))
{
echo 
"<a href=\"".$file."\">".$file."</a><br/>";
}
}

echo 
"<br/>"
echo 
"<a href=\"".$prev_dir."\">Back</a><br/>";

closedir($dir);
?>

   
 
 автор: cheops   (12.11.2006 в 19:48)   письмо автору
 
   для: tAleks   (12.11.2006 в 19:38)
 

Обычно в этом случае путь к текущему каталогу предают через GET-параметр, для возврата в предыдущий каталог (родительский) отрезают последний каталог, для спуска в подкаталог, наоборт добавляют имя каталога, куда следует спуститься.

   
 
 автор: tAleks   (12.11.2006 в 19:38)   письмо автору
 
   для: cheops   (12.11.2006 в 19:27)
 

Нет, без базы данных....
Нужно организовать навигацию по каталогам файловой системы....

Я функцией scandir получаю содержимое каталога. Потом все содержимое рисую в браузер... имена файлов и каталогов ссылками...

Др. словами... простенький проводник... (как в Windows'е)....

   
 
 автор: cheops   (12.11.2006 в 19:27)   письмо автору
 
   для: tAleks   (12.11.2006 в 18:53)
 

Как организован каталог? Позиции каталога и подкаталоги хранятся в базе данных?

   
 
 автор: tAleks   (12.11.2006 в 18:53)   письмо автору
 
 

Как сделать навигацию по каталогам?
Функцию отображения содержимого каталога сделал... вроде работает...

Как реализовать переход по каталогам, во вложенный каталог, на уровень выше и в корень?

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования