web-dev-qa-db-ja.com

Codeigniter phpフレームワークで画像を表示するにはどうすればよいですか?

Codeigniter phpフレームワークで画像を表示するにはどうすればよいですか?

images内のviewsフォルダーから画像を取得したい。

私はこのコードをviewsphpファイルの1つで使用しました。

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

しかし、それは機能していません。

11
Buffon

画像、css、javascript、pdfs、xml ...アクセスが許可されているものはすべて直接アプリケーションディレクトリに存在してはなりません。あなたはそれを行うことができますが、実際にはすべきではありません。これらのファイル用にディレクトリのルートに新しいフォルダを作成します。たとえば、viewsフォルダ内にアプリケーションに混在させないでください。

  1. おそらく、.htaccessファイルを使用しているため、http経由で特定のディレクトリにのみアクセスできます。これはセキュリティ上の理由から非常に優れています。コントローラーとモデルに直接アクセスする試みをすべて停止する必要があります。これが、ほとんどのファイルの先頭にBASEPATHが定義されているかどうかを確認し、定義されていない場合はexit('No direct script access.')を確認する理由でもあります。
  2. これらのリソース(js/css/images)への正しいパスを取得するには、通常のディレクトリ構造を使用していないため、相対パスを使用できません。 URL /users/loginディレクトリからファイルをロードしていません/users/login、おそらく存在すらしていません。これらは、bootstrapが使用するクラス、メソッド、およびパラメーターを知るために使用するURIセグメントです。

正しいパスを取得するには、次のようにスラッシュを使用します(アプリとアセットがサブディレクトリではなくルートディレクトリにあると仮定します)。

<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に組み込まれていますが、実際に知っておく必要があるのはこれだけです。

22
Wesley Murch

CIユーザーガイド/ HTMLヘルパー img()タグを参照してください。

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

_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_)。

2
Ross

おそらく、src属性のパスが正しくありません。多分試してみてください

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