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]   

> Без описания
lego
Отправлено: 24 Ноября, 2010 - 22:54:43
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2010  
Откуда: http://yuzha.net/


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




Здравствуйте! Суть дела такова. В корневой папке сервера есть папка ARTIKLES (основная директория). В этой папке может быть сколько угодно поддиректорий и файлов (текстовых - содержание статей), а в каждой поддиректории в свою очередь опять же сколь угодно поддиректорий и файлов и т.д.
В корневой папке есть файл index.php, который и должен выводить. Для двух уровней вложённости моему мозгу нетрудно было потрудиться:

PHP:
скопировать код в буфер обмена
  1. $page=$_REQUEST['page'];
  2. $dir=$_REQUEST['dir'];
  3. if (empty($page) || empty($dir)) {$file='articles/main.txt';}
  4. if (!empty($page) || empty($dir)) {$file='articles/'.$page.'.txt';}
  5. if (empty($page) || !empty($dir)) {$file='articles/'.$dir.'/main.txt';}
  6. if (!empty($page) || !empty($dir)) {$file='articles/'.$dir.'/'.$page.'.txt';}
  7.  
  8. //далее идёт открытие соответсвующего файла и его чтение


Я так понимаю, здесь должно быть что-то рекурсии... Подскажите, пожалуйста))

П.С. выводиться должно так:
site.ru/index.php?dir=history&page=smuta1612
А в итоге планируется сделать ЧПУ вида site.ru/history/smuta1612.html

А так как ещё хочется и неограниченную вложённость, на деле может получиться и site.ru/history/romanovi/smuta/1 612/pozharsky.html

Как-то так...

(Отредактировано автором: 24 Ноября, 2010 - 22:55:54)

 
 Top
OrmaJever
Отправлено: 25 Ноября, 2010 - 00:31:28
Post Id



Активный участник


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


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




А в чём суть вопроса? На мой взгляд всё должно работать Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
lego
Отправлено: 25 Ноября, 2010 - 21:10:52
Post Id



Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Нояб. 2010  
Откуда: http://yuzha.net/


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




то есть так? site.ru/index.php?dir=history/romanovi/smuta/1612/&page=pozharsky
 
 Top
ALEN
Отправлено: 25 Ноября, 2010 - 21:12:43
Post Id



Участник


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


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




Ну естественно рекурсию делать через функцию и все, так можно сколько хочешь вложенностей делать.
 
 Top
OrmaJever
Отправлено: 25 Ноября, 2010 - 21:20:02
Post Id



Активный участник


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


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




lego пишет:
то есть так? site.ru/index.php?dir=history/romanovi/smuta/1612/&page=pozharsky
ну да. А что не работает?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 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