Как я могу отображать изображения с фреймворком Codeigniter?

Как я могу отображать изображения с фреймворком Codeigniter?

Я хочу получить изображение из папки images внутри views.

Я использовал этот код в одном из файлов views php:

<img border="0" src="images/hed_05.jpg" width="61" height="133">

Но он не работает.

Ответ 1

Изображения, css, javascript, pdfs, xml... все, что разрешено для доступа напрямую, не должно проживать в вашем каталоге приложений. Вы можете это сделать, но вы действительно не должны. Создайте новую папку в корне вашего каталога для этих файлов, их не следует смешивать с вашим приложением, например: в папке views.

  • Скорее всего, вы используете файл .htaccess, который позволяет доступ к некоторым каталогам через http. Это очень хорошо по соображениям безопасности, вы хотите прекратить любую попытку напрямую обращаться к вашим контроллерам и моделям. Вот почему мы проверяем, существует ли BASEPATH в верхней части большинства файлов, а exit('No direct script access.'), если нет.
  • Чтобы получить правильный путь к этим ресурсам (js/css/images), вы не можете использовать относительные пути, потому что мы не используем обычную структуру каталогов. URL /users/login не загружает файлы из каталога /users/login, он, вероятно, даже не существует. Это просто сегменты uri, которые использует bootstrap, чтобы знать, какой класс, метод и параметры использовать.

Чтобы получить правильный путь, используйте либо косую черту (если ваше приложение и активы находятся в корневом каталоге, а не в подкаталоге):

<img src="/images/myimage.jpg" />

Или ваш лучший выбор, используйте абсолютный URL:

// References your $config['base_url']
<img src="<?php echo site_url('images/myimage.jpg'); ?>" />

Эквивалент:

<img src="http://mydomain.com/images/myimage.jpg" />

В CI встроены помощники, которые вы также можете использовать, но это действительно все, что вам нужно знать.

Ответ 2

Обратитесь к CI User Guide/HTML Helper img():

echo img('images/picture.jpg');
// gives <img src="http://site.com/images/picture.jpg" />

Ответ 3

Вы также можете просто установить base href в <head>:

<base href="<?php echo site_url(); ?>" />

Теперь любой образ, файл css и другие объекты будут относиться к вашему базовому URL.

<base href="http://site.com/" />

<img src="images/foo.jpg" />

действует

<img src="http://site.com/images/foo.jpg" />

Однако ваши изображения должны быть вне папки приложения (например, /images).

Ответ 4

Возможно, путь в атрибуте src неверен. Возможно, попробуйте

<img border="0" src="/images/hed_05.jpg" width="61" height="133">