Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Как правильно прописывать пути к файлам?

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет
Благодарил (а): 27 раз
Поблагодарили: 8 раз

Как правильно прописывать пути к файлам?

Сообщение mike2003 »

1 Расширение получает список файлов из 1-ой папки в images. Значит если в настройках указать это ИМЯ_ПАПКИ, то путь до папки будет {T_IMAGES_PATH} + ИМЯ_ПАПКИ?
Хотя в других пишут как images/header/

2 Потом картинка из папки прописывается в стиль.
Как прописать адрес, что бы он был не абсолютный и работал из разных мест?
images/header/01.jpg
А то получается что на главной конференции работает, а из других мест относительный путь уже не верен.
Я сделал руками /forum/images/header/01.jpg
но неправильно же прописывать forum
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: Как правильно прописывать пути к файлам?

Сообщение Anvar »

Какое расширение?
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет
Благодарил (а): 27 раз
Поблагодарили: 8 раз

Re: Как правильно прописывать пути к файлам?

Сообщение mike2003 »

пока никакое. сам себе пишу
Я нашел такое решения {T_IMAGES_PATH}{имя файла}
но получается что то типа "./../../файл"
или generate_board_url() . '/' . $имя файла
но тогда http://домен.ru/forum/images/папка/файл
а хочется проще от корня домена ./forum/папка/файл

или как вообще правильно то делать?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Как правильно прописывать пути к файлам?

Сообщение Sheer »

Правильно использовать объект шаблона ROOT_PATH объявленный в ./includes/functions.php

Код: Выделить всё

        'ROOT_PATH'            => $web_path, 
или T_IMAGES_PATH

Код: Выделить всё

        'T_IMAGES_PATH'            => "{$web_path}images/", 
то есть или

Код: Выделить всё

{ROOT_PATH}images/spacer.gif
или

Код: Выделить всё

{T_IMAGES_PATH}spacer.gif
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет
Благодарил (а): 27 раз
Поблагодарили: 8 раз

Re: Как правильно прописывать пути к файлам?

Сообщение mike2003 »

я пробовал $web_path, но путь выглядит как ./images/что то там ВСЕГДА
и он не работает с некоторых мест, так как относительный
Sheer писал(а): "{$web_path}images/",
Отправлено спустя 3 минуты :
Sheer писал(а): {T_IMAGES_PATH}
высчитает верное количество поднятий на уровень вложения адреса, но оно каждый раз разное получается
поэтому я и думал про корень домена, он то постоянны будет всегда!
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Как правильно прописывать пути к файлам?

Сообщение Sheer »

Это относительный путь. Я не знаю что там у вас и с каких мест не работает

Код: Выделить всё

    // Determine board url - we may need it later
    $board_url = generate_board_url() . '/';
    // This path is sent with the base template paths in the assign_vars()
    // call below. We need to correct it in case we are accessing from a
    // controller because the web paths will be incorrect otherwise.
    $phpbb_path_helper = $phpbb_container->get('path_helper');
    $corrected_path = $phpbb_path_helper->get_web_root_path();
    $web_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? $board_url : $corrected_path; 
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет
Благодарил (а): 27 раз
Поблагодарили: 8 раз

Re: Как правильно прописывать пути к файлам?

Сообщение mike2003 »

ROOT_PATH
все равно получается лестница
url('./../../images/header/header_02.jpg');

значит наказание самого пути до конференции от домена нельзя получить?
домен.ру/forum/
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Как правильно прописывать пути к файлам?

Сообщение Sheer »

Конструкция

Код: Выделить всё

<img src="{T_IMAGES_PATH}icons/misc/fire.gif">
приводит к такому результату
path.jpg
и никаких лестниц.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет
Благодарил (а): 27 раз
Поблагодарили: 8 раз

Re: Как правильно прописывать пути к файлам?

Сообщение mike2003 »

ну да
в ./ и есть проблема
если поставить например Pages, то оттуда путь будет лестницей как выше
потому что он берется от текущего места, а не корня
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Как правильно прописывать пути к файлам?

Сообщение Sheer »

Если честно, я так и не понял, в чем проблема.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет
Благодарил (а): 27 раз
Поблагодарили: 8 раз

Re: Как правильно прописывать пути к файлам?

Сообщение mike2003 »

уже не проблема, просто вопрос
mike2003 писал(а): как вообще правильно делать?
для СЕО не важен вид ссылки?
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет
Благодарил (а): 27 раз
Поблагодарили: 8 раз

Re: Как правильно прописывать пути к файлам?

Сообщение mike2003 »

возникла другая проблема - настоящая:
я получаю список изображений
glob("{$web_path}images/header/" . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
но эта конструкция {$web_path}images/header/ не работает, если я на странице не прямого доступа к папке изображений
http://домен.ru/forum/adm/index.php
потому что (я так понимаю) внутри папки ADM нет папки images/header/
как внутри самого скрипта php сослаться на нужный уровень вложений? т.е. попасть в корень форума images/header/ из скрипта forum/adm/index.php да еще автоматом!?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Как правильно прописывать пути к файлам?

Сообщение Sheer »

Ну поскольку я не вижу всего кода, то могу лишь предположить, что не определена переменная $web_path
Включаем debug
mike2003 писал(а): как... попасть в корень форума
Есть переменная

Код: Выделить всё

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
Если речь идет о файлах расширений, то

Код: Выделить всё

    //** @var string phpbb_root_path */
    protected $phpbb_root_path;
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет
Благодарил (а): 27 раз
Поблагодарили: 8 раз

Re: Как правильно прописывать пути к файлам?

Сообщение mike2003 »

Sheer писал(а): protected $phpbb_root_path;
да, я сделал так как в уроке про Страницы...
Создание страниц в стиле конференции
добавил ее в services.yml и в листенер и в итоге код стал таким

Код: Выделить всё

$images = glob("{$this->phpbb_root_path}images/header/" . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
Sheer писал(а): Включаем debug
а как это?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Как правильно прописывать пути к файлам?

Сообщение Sheer »

mike2003 писал(а): а как это
Так
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Ответить

Вернуться в «Для разработчиков»