3

現在、次の方法で画像を表示しています。

<img src="<?php echo base_url().USER_UPLOAD_URL.$post['userPhoto'] ?>" />

USER_UPLOAD_URL は application/config/constants.php 内で定義されています。

define('USER_UPLOAD_URL', "uploads/user_uploads/");

constants.php 内に base_url() を含める方法はありますか? このようにして、毎回 base_url() をビュー内に記述する必要はありません。代替アプローチはありますか?

tnx

4

4 に答える 4

8

constants.php は config.php の前に読み込まれるため、constants.php から使用することはできません$config['base_url']

しかし、あなたはそのようなことをすることができます:

定数.php :

define('BASE_URL', "http://mysite.com");
define('USER_UPLOAD_URL', BASE_URL."uploads/user_uploads/");

config.php

$config['base_url'] = BASE_URL;
于 2012-12-11T17:47:56.863 に答える
0

カスタムコントローラーを使用して@Daleの回答を補完します。まず、/application/core/GeneralController.php にコントローラーを作成します。

<?php
class GeneralController extends CI_Controller{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper('url');
        define('USER_UPLOAD_URL', base_url('uploads/user_uploads/'));
    }
}

が定義されているGeneralControllerため、CI_Controller の代わりにすべてのコントローラーを拡張できるようになりました。USER_UPLOAD_URL

于 2012-12-11T23:18:53.240 に答える
0

定数ファイルが最初にロードされ、url ヘルパーを自動ロードするか、コントローラーごとにロードするときにのみロードされるbase_url()ため、定数ファイルで使用することはできません。base_url()

ただし、コントローラーで定義することもできます。

public function __construct()
{
    $this->load->helper('url');
    define('USER_UPLOAD_URL', base_url('uploads/user_uploads/'));
}

その後、ビューにアクセスできるようになります。

于 2012-12-11T15:58:41.043 に答える