codeigniter base_url在常量文件中

时间:2012-12-11 15:50:57

标签: php codeigniter codeigniter-2

目前我以下列方式显示图像:

<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 个答案:

答案 0 :(得分:6)

在config.php之前加载constants.php,所以你不能使用constants.php中的$config['base_url']

但你可以这样做:

<强> constants.php

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

<强>的config.php

$config['base_url'] = BASE_URL;

答案 1 :(得分:0)

您不能在常量文件中使用base_url(),因为首先加载常量文件,并且仅在您自动加载url帮助程序或每个控制器加载时加载base_url()。 / p>

这是一个建议,但您可以在控制器中定义它:

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

视图可以访问哪些内容。

答案 2 :(得分: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

答案 3 :(得分:0)

这是一个老问题,我仍然使用 @Override public void onResponse(JSONObject response) { Log.d(TAG, response.toString() + "Login responce"); hideDialog(); try { String errorMsg = response.getString("error"); Toast.makeText(getApplicationContext(),errorMsg, Toast.LENGTH_LONG).show(); int statusCode = response.getInt("status"); String exception = response.getString("exception"); String message = response.getString("message"); String path = response.getString("path"); // do whatever with this responses. }catch (JSONException e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Json error: " + e.getMessage(), Toast.LENGTH_LONG).show(); } } 克服了这个问题。 APPPATH在constants.php中运行。但它在应用程序文件夹中返回APPPATH路径,您可以将数据存储在新文件夹或var/www/html/projectfolder/application文件夹中。 在常量中,您可以定义为例如third_party