#php #codeigniter
#php #codeigniter
Вопрос:
Почему эта строка не работает в constants.php
:-
define('FILE_UPLOAD_VIRTUAL_DIR', base_url() . '/uploads/');
base_url()
работает во всех представлениях. Тогда почему не в constants.php ?
Ответ №1:
Вероятно, потому, что constants.php
включена до того, как библиотека, определяющая base_url()
is.
Я не знаю CI, но посмотрите, есть ли какой-либо шанс определить константу на более позднем этапе выполнения программы. Эксперт CI, возможно, сможет рассказать вам более подробно, где именно.
Ответ №2:
Попробуйте это так:
define('FILE_UPLOAD_VIRTUAL_DIR', $_SERVER['DOCUMENT_ROOT'] . '/uploads/');
если вы хотите определить путь к каталогу загрузки файла, вам не нужен URL, вам нужен path.
Комментарии:
1. Имейте в виду, что
$_SERVER['DOCUMENT_ROOT']
это не даст вам того же результата, чтоbase_url()
(определенный в приложении config.php ) !2. Да, это не совсем чистая практика. При создании приложения CI используйте функции CI.