Ответ 1
Используйте FCPATH вместо BASEPATH для большей проверки этой ссылки.
Codeigniter - динамическое получение относительного/абсолютного пути вне папки приложения
Я создал папку в качестве пользователя в корневом каталоге.
Мой путь к базовому проекту:
/var/www/myproject/
Когда я хочу получить доступ к базовому пути как BASEPATH с контроллера, он показывает:
/var/www/myproject/system/
Но я хочу, чтобы путь был:
/var/www/myproject/
Я новичок в CodeIgniter. Как установить этот путь?
Используйте FCPATH вместо BASEPATH для большей проверки этой ссылки.
Codeigniter - динамическое получение относительного/абсолютного пути вне папки приложения
использовать base_url()
echo $baseurl=base_url();
если вам нужно передать URL-адрес функции, используйте site_url()
echo site_url('controller/function');
если вам нужен корневой путь, тогда FCPATH
..
echo FCPATH;
Ниже приведены встроенные константы , которые вы можете использовать в соответствии с вашими требованиями для получения путей в Codeigniter:
EXT: The PHP file extension
FCPATH: Path to the front controller (this file) (root of CI)
SELF: The name of THIS file (index.php)
BASEPATH: Path to the system folder
APPPATH: The path to the "application" folder
Спасибо.
У Codeigniter есть функция, которая извлекает ваш базовый путь, который:
FCPATH and BASEPATH i recommand use FCPATH.
для использования вашего базового URL:
<?=base_url()?>
если короткий тэг php отключен
<?php echo base_url(); ?>
например: если вы хотите связать файлы css, которые находятся в вашем базовом пути
<script src='<?=base_url()?>js/jquery.js' type='text/javascript' />
Очевидно, вы имеете в виду baseurl. Если да:
base url: URL-адрес вашего корня CodeIgniter. Обычно это будет ваш базовый URL, | С конечной косой чертой.
Корень в codeigniter специально означает, что позиция, в которой вы можете добавить ваш контроллер к вашему URL.
Например, если корень localhost/ci_installation/index.php/
, то для доступа к контроллеру mycont
вы должны перейти в localhost/ci_installation/index.php/mycont
.
Итак, вместо написания такой длинной ссылки вы можете (после загрузки "url" helper) заменить слово localhost/ci_installation/index.php/
на base_url()
, и эта функция вернет тот же строковый url.
ПРИМЕЧАНИЕ. Если вы не добавили index.php/
к вашему base_url
в config.php
, то, если вы используете base_url()
, он вернет что-то вроде этого localhost/ci_installation/mycont
. И это не сработает, потому что вам нужно получить доступ к своим контроллерам из index.php
, вместо этого вы можете поместить файл .htaccess
в свою позицию установки codeigniter. Удостоверьтесь, что приведенный ниже код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /imguplod/index.php/$1 [L]
И он должен работать:)
Измените свой контроллер по умолчанию, который находится в файле конфигурации.
i.e: config/routes.php
$route['default_controller'] = "Your controller name";
Надеюсь, это поможет.