За последние 24 часа нас посетили 20804 программиста и 1132 робота. Сейчас ищут 366 программистов ...

Вычисляем программно корень сайта

Тема в разделе "PHP для новичков", создана пользователем Вероломство, 18 ноя 2022.

  1. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    через http будет доступно все что в папке project/public
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Я знаю :)
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    603602185569304673.png
     
  4. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    @miketomlin

    include $_SERVER['DOCUMENT_ROOT'] . '/../'

    )))

    и где тут профит по вопросу? )))
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Еще раз: DOCUMENT_ROOT и указывает на корень сайта.
     
  6. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    нет))) и никогда не указывала
     
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Ну, ОК.
    --- Добавлено ---
    Значит, у нас чего-то не знают:
    PHP:
    1. define('ROOT', $_SERVER['DOCUMENT_ROOT']);
    или
    PHP:
    1. define('ROOT_PATH', $_SERVER['DOCUMENT_ROOT'].'/');
     
  8. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    DOCUMENT_ROOT - domain.name/public

    include $_SERVER['DOCUMENT_ROOT'] . '/../app/blablabla'; // что это за дичь - /../

    суть вопроса: программно вычислить корень сайта, чтобы получить:

    include программно_вычислили_корень_сайта . 'app/blablabla';
    --- Добавлено ---
    DOCUMENT_ROOT - domain.name/public

    include ROOT_PATH . 'app/blablabla'; // приветули ))) откуда я в public?
    --- Добавлено ---
    ггы
    --- Добавлено ---
    @miketomlin вот умники из Симфони в ядре ищут директорию, где лежит composer.json и от той директории подключают остальное, А ЕСЛИ блин нету у меня composer.json )))
     
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Это норм. Но если не нравится, используй dirname().

    И нафига для подключения из app вести отсчет от корня? Ты используешь «ссылку» на корень, когда в нем нужно что-то разместить или что-то из него прочитать. Для всего остального определяй более адекватные константы/конфигурационные переменные.
     
  10. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    @miketomlin использовал dirname(__DIR__), ok, переместил скрипт на уровень ниже, теперь нужно лезть и везде dirname(__DIR__) на dirname(__DIR__, 2) переписывать?

    ты суть вопроса не понял: не прописать путь к корню, а получить программно)
    --- Добавлено ---
    @miketomlin кстати с константой из вопроса - отбой, не работает, если хостом прописать D_R, так что вопрос повисает
     
  11. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Ты не понял ответы в теме. Или не захотел понять.
     
  12. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    @miketomlin ответы в теме мы с бабушкой в каменном веке с динозаврами уже знали :)

    последнее предложение из #33 прочитай
     
  13. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Ну, ОК. Тогда зачем задавать тупые вопросы?
     
  14. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    ок, пойду профи задам
     
  15. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Еще раз...

    Если фронт в корне:
    PHP:
    1. define('APP_PATH', dirname(__DIR__).'/app/');
    Если фронт над корнем:
    PHP:
    1. define('APP_PATH', __DIR__.'/app/');
    В других фронтах (cli- и т.п.) аналогично. Или определяй подобные константы через местоположение конфигурационного php-файла, а для доступа к нему подправляй пути.
    --- Добавлено ---
    ОК, потом расскажешь. Только не говори им, что DOCUMENT_ROOT НЕ указывает на корень сайта, а то засмеют ;)
     
  16. programmer007

    programmer007 Новичок

    С нами с:
    30 ноя 2022
    Сообщения:
    14
    Симпатии:
    3
    Видимых ошибок не обнаружил, должно работать. Удачи!