Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
6 / 6 / 4
Регистрация: 12.03.2015
Сообщений: 112

Путь к файлам

29.12.2015, 15:28. Показов 4394. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, и с наступающим!)

У меня есть 1 проблема с путями к файлам, а именно.
У меня есть в корень сайта файл header.php в нём:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include(''.$_SERVER['DOCUMENT_ROOT'].'/config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="<?php echo $design; ?>/new/style.css" rel="stylesheet" title="Style" />
    ....
    <title>Site</title>
</head>
<body>
    
    <div class="header">
        <?php include('menu.html'); ?>
    </div>
<div class="main">
А также 1 файл config.php в нём переменные вида $design и подключение к базе данных.
Всё работало нормально и когда было просто
PHP
1
include('config.php');
Но появились проблемы после того как я решил сделать в корень сайта новую папку(user) и там переместить некоторые модули сайта, модули которые были в sait.com/user не находил файл config.php из корня сайта, заработало нормально с $_SERVER['DOCUMENT_ROOT'].
(в модулях с папки user стоит)
PHP
1
require_once('../header.php');
В чём собственно вопрос, возможно грамотно сделать эти пути к файлу конфигурации(я сомневаюсь что моё решение ($_SERVER['DOCUMENT_ROOT']) хорошая идея)?
Хост не поддерживает allow_url_include.

Спасибо заранее.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.12.2015, 15:28
Ответы с готовыми решениями:

Путь к файлам в MVC паттерне
Извините, что тема не в &quot;Фреймоврках&quot; - там все умерли :sleep: Написал движек используя zf1.*. Для презентации, чтобы показать его...

.htaccess и относительный путь к файлам
Всем привет, извиняюсь за много букв в теме, но напишу подробнее. Я начинающий программист, и вот решил написать свой мини скажем так...

Как написать путь к файлам и картинкам?
1) Как записать имена файлов и картинок для php так, чтобы после отладки на XAMPP на windows, скрипты и файлы html сразу заработали на...

8
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
29.12.2015, 15:35
Цитата Сообщение от Nike555 Посмотреть сообщение
(я сомневаюсь что моё решение ($_SERVER['DOCUMENT_ROOT']) хорошая идея)?
вот например моя структура ИМ
-admin
-catalog
-image
-core
-system
и т.д.
А в корне лежит конфиг, в нем написано
PHP
1
2
3
4
5
6
7
8
9
10
11
12
define('BASE_DIR', "/var/www/****/public_html");
 
define('DIR_APPLICATION', BASE_DIR . '/catalog/');
define('DIR_SYSTEM', BASE_DIR . '/system/');
define('DIR_LANGUAGE', BASE_DIR . '/catalog/language/');
define('DIR_TEMPLATE', BASE_DIR . '/catalog/view/theme/');
define('DIR_CONFIG', BASE_DIR . '/system/config/');
define('DIR_IMAGE', BASE_DIR . '/image/');
define('DIR_CACHE', BASE_DIR . '/system/cache/');
define('DIR_UPLOAD', BASE_DIR . '/system/upload/');
define('DIR_LOGS', BASE_DIR . '/system/logs/');
//И т.д.
И в файле index.php подключается этот конфиг.
PHP
1
2
3
if (is_file('config.php')) {
    require_once('config.php');
}
А как у вас будет решать вам.

Добавлено через 39 секунд
И я просто пользуюсь константами где нужно
1
6 / 6 / 4
Регистрация: 12.03.2015
Сообщений: 112
29.12.2015, 16:46  [ТС]
Нуу, как я понимаю в моём случай надо создать ещё 1 файл header.php в директории user где будет указан путь файла конфига, но в таком раскладе я не вижу смысл от данных констант...

Да и как подключить конфиг с использованием DIR... если сначала надо подключить самого файла конфигурации.
Или может я вас неправильно понял).
А также можно вариант для xampp-a на локалке, так?
PHP
1
define('BASE_DIR', "C:/xampp/htdocs");
0
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
29.12.2015, 17:02
Цитата Сообщение от Nike555 Посмотреть сообщение
но в таком раскладе я не вижу смысл от данных констант...
У меня все запросы отправляются через index.php, поэтому это очень даже актуально, т.к. (к примеру) если я перенесу сайт в другую директорию/другой домен мне достаточно будет просто изменить константу BASE_DIR

Цитата Сообщение от Nike555 Посмотреть сообщение
А также можно вариант для xampp-a на локалке, так?
Если честно давно уже не работа на винде, поэтому точно сказать не могу
0
 Аватар для sly_foxx
8 / 8 / 3
Регистрация: 27.12.2015
Сообщений: 28
29.12.2015, 18:12
Цитата Сообщение от Nike555 Посмотреть сообщение
define('BASE_DIR', "C:/xampp/htdocs");
Указывать лучше так
PHP
1
define('BASE_DIR', realpath('xampp/htdocs'));
1
6 / 6 / 4
Регистрация: 12.03.2015
Сообщений: 112
29.12.2015, 19:46  [ТС]
Попробовал поставить в header.php
PHP
1
2
define('BASE_DIR', realpath('xampp/htdocs'));
require_once(''.BASE_DIR.'/config.php');
Но когда я нахожусь на sait.com/user то все ссылки идут как "sait.com/user/..."
Ссылки я указывал как <a href="<?php echo BASE_DIR; ?>blog.php">Блог</a>
Странно.
Как вписать пути в конфиге я не понял (как отписал Xenox), точнее что-то я упустил, поскольку надо что-то ещё вписать.
0
 Аватар для sly_foxx
8 / 8 / 3
Регистрация: 27.12.2015
Сообщений: 28
29.12.2015, 21:11
Ну хотя бы нарисуй структуру папок, как нарисовал Xenox, а то не понятно что там у тебя и чего хочешь)
0
6 / 6 / 4
Регистрация: 12.03.2015
Сообщений: 112
29.12.2015, 22:15  [ТС]
Вот сам сайт, как я и говорил, вот что в header.php(он у меня 1)
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include(''.$_SERVER['DOCUMENT_ROOT'].'/config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="<?php echo $design; ?>/new/style.css" rel="stylesheet" title="Style" />
    ....
    <title>Site</title>
</head>
<body>
    
    <div class="header">
        <?php include('[B]menu.php[/B]'); ?>
    </div>
<div class="main">
menu.php (входит в верхнею часть сайта(header.php))
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<div class="menu2">
    <div class="logo">
        <a href="index.php"><img src="default/new/images/logo.png"></a>
</div>
<a href="<?php echo $url_root; ?>" class="current">Главная</a>
<a href="<?php echo $url_root; ?>faq.php">Вопросы и ответы</a></li>
<a href="<?php echo $url_root; ?>blog.php">Блог</a></li>
    <div class="register">
        <img src="default/new/images/register.png">
        <div class="reg-text"><a href="register.php">Регистрация</a></div>
    </div>
    <div class="login-sep">
        <img src="default/new/images/login-sep.png">
    </div>
    <div class="login">
        <img src="default/new/images/login.png">
        <div class="log-text"><a href="login.php">Вход</a></div>
    </div>
 
</div>
Часть из 1 модуля(sait.com/user/settings.php), которая должна было подключить header.php, config.php, menu.php из корня сайта
HTML5
1
2
3
4
5
6
7
8
9
<?php
    require_once('../header.php');
?>
<div class="middle">
    
    <div class="content">
        <div class="left-center">
        <aside class="left-sidebar">
            <div class="mmorpg">
В config.php
PHP
1
$url_root = 'http://мой_ип/';
Не судите строго за бардак)
Миниатюры
Путь к файлам  
0
6 / 6 / 4
Регистрация: 12.03.2015
Сообщений: 112
31.12.2015, 13:47  [ТС]
Вообщем решил создать 2-ой header.php в папку user и таким образом уже легко решил проблему)
Всем спасибо за старание)
Тему можно закрыть)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.12.2015, 13:47
Помогаю со студенческими работами здесь

Как правильно задать путь к файлам?
Не уверен что это относится именно к php, но это с ними связано. Давайте сразу на примере. Есть файл в корне...

Задать путь к рабочим файлам локального сервера
Доброго времени суток,подскажите пожалуйста как путь к рабочим файлам в винде, стоит виртуалка Ubuntu,на ней php,nginx. Локальный сервер...

Если кому не трудно кинте php.ini или подскажите как указать в нем путь к файлам dlls?
Уже третий архив php катаю с инета и в каждом чего то не хватает. Если кому не трудно кинте php.ini или подскажите как указать в нем...

Путь к файлам
Доброго времени суток, форумчане. Есть метод: comparision(filters.for_paths(Dir)) который в качестве 'i' принимает...

Путь к файлам
Здравствуйте! =) Стоит компонент WebBrowser, путь к странице задается через ComboBox. Сами страницы(html) находятся в подкаталоге самой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru