创建一个库文件如下面,包括在autoload.phpb
class Timezoneconvert
{
function set_timezone($timeZoneId='') {
$this->obj =& get_instance();
$this->obj->load->database();
if($timeZoneId!="")
date_default_timezone_set($timeZoneId);
$this->obj->db->query("SET SESSION time_zone = '".$timeZoneId."'");
}
}
}
库文件,您应该创建一个名为MY_Controller
,所有的家长控制你的其他控制器扩展。在该类的构造函数中,可以调用set_timezone
。通过此解决方案,时区将自动设置在所有子控制器中。
你MY_Controller
应存放在application/core
,应该是这个样子:
class MY_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->set_timezone();
}
function set_timezone($timeZoneId='')
{
// Your code
}
}
现在所有的其他控制器应扩大MY_Controller
而不是CI_Controller
。例如: -
class WelcomeController extends MY_Controller
{
function __construct()
{
// This will call the constructor of MY_Controller,
// which in turn sets the timezone:
parent::__construct();
}
// Rest of your functions...
}
可能创建新库,然后通过自动加载autoload.php它? – Nikitas 2013-03-22 06:14:47