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]   

> Описание: Подключение файла страницы из папки
vsbn
Отправлено: 02 Февраля, 2014 - 02:34:01
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Нояб. 2013  


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




Здравствуйте!
Для подключения страниц из папки у меня используется фрагмент из скрипта:
-------------------------------- ------------------------------
// Имеющиеся папки для страниц

$dir="pages/";

$dir2="pages2/";

$dir3="pages3/";

$dir3="pages3/";

$dir4="pages4/";

// Если файл существует
if (file_exists("$page"))

// Включить в страницу файл
include ("$page");

else

// Если файл существует
if (file_exists("$dir$page"))

// Включить в страницу файл
include ("$dir$page");
-------------------------------- ------------------------------
В этом фрагменте подключаются страницы только из корневой папки и папки $dir="pages"
Приведите, пожалуйста, пример для подключения этой страницы, если ее файл, например, $page=main.php находится в любой из других имеющихся папок, посредством метода проверки существования этого файла во всех имеющихся папках, не используя при этом длинный ряд строк, содержащих if и else

(Отредактировано автором: 03 Февраля, 2014 - 13:33:46)

 
 Top
DelphinPRO
Отправлено: 02 Февраля, 2014 - 10:15:03
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




не надо искать во всех имеющихся. Ищите только в строго заданных. Список допустимых папок запишите в массив, и в цикле обходите, проверяя, имеется ли в папке требуемый файл.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
vsbn
Отправлено: 02 Февраля, 2014 - 23:22:51
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Нояб. 2013  


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




DelphinPRO пишет:
не надо искать во всех имеющихся. Ищите только в строго заданных. Список допустимых папок запишите в массив, и в цикле обходите, проверяя, имеется ли в папке требуемый файл.


Благодарю за помощь! Я примерно так и предполагал. Но, поскольку недостаточно знаний и опыта, мне не написать такой сложный вариант. Создал в своем INDEX.PHP проверку посредством длинной череды строк с операторами IF и ELSE. Теперь движок работает нормально, загружаются любые страницы как из корневого каталога, так из папок, заданных переменными, но понимаю, что опытные люди так не делают.
 
 Top
DelphinPRO
Отправлено: 03 Февраля, 2014 - 00:51:20
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




PHP:
скопировать код в буфер обмена
  1. $root = '/path/to/public_html';
  2. $folders = array('folder1', 'folder2', 'folder3');
  3. $file = 'myfile.php';
  4.  
  5. foreach ($folders as $folder) {
  6.     if (is_file($root . '/' . $folder . '/' . $file)) {
  7.         include $root . '/' . $folder . '/' . $file;
  8.     }
  9. }


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
vsbn
Отправлено: 03 Февраля, 2014 - 13:27:07
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Нояб. 2013  


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




Очень Вам признателен и благодарен. Мне, чтобы самому бы написать такой вариант без ошибок, потребовалось бы очень много времени. Потому что в четырех Руководствах по РНР, которые имею, приводятся лишь простейшие примеры скриптов, которые далеки от скриптов, применяемых на практике при создании движков.

(Отредактировано автором: 03 Февраля, 2014 - 13:35:26)

 
 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