Codeigniter, PHP чем отличается echo base_url() от base_url()?

#php #css #codeigniter

#php #css #codeigniter

Вопрос:

Я в замешательстве. echo используется, когда вы хотите показать это спереди. но я предполагаю, что импорт URL-адреса css-файла не нужен для отображения спереди, потому что вы просто ссылаетесь на местоположение URL.


Иногда, импортируя css без echo, он работает нормально.

 <link rel="stylesheet" type="text/css" href="<?php base_url();?>css/animate.css">
  

но иногда, если я не использовал echo, это не будет работать.

 <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/style.css">
  

Что это значит?

Ответ №1:

base_url вызывает функцию, echo впереди означает отображение выходных данных функции.

Я считаю, что причина, по которой это работает «иногда», заключается в том, что файл, который работает, находится на том же уровне, что и сама папка css. Значение вашего index.php будет работать, однако переход к {somefolder}/somefile.php не сработает, так как это тоже будет искать свою собственную папку css внутри {somefolder}.

Обычно то, что я делаю, это помещаю косую черту перед самим путем, что устраняет необходимость использовать функцию для начала, и это также означает, что независимо от того, сколько у вас вложенных папок, она всегда будет загружать один и тот же файл style.css.

 <link rel="stylesheet" type="text/css" href="/css/style.css">
  

Использование этого гарантирует, что оно работает на всех страницах, которые у вас могут быть, если у вас есть папка css в папке public_html или корневом каталоге веб-сайта.

Комментарии:

1. Я забыл сказать вам, что если я использую echo, это тоже гарантирует работу.

2. Вы уверены, что абсолютный путь гарантирует загрузку стиля?

3. уверен на 100%, я всегда помещаю папку css в корневой каталог и просто использую косую черту. Работает каждый раз.