目前我以下列方式显示图像:
<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
答案 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