我刚刚意识到,如果我将特定记录添加到我的MySQL数据库中 - 它将具有服务器的日期/时间而不是特定用户以及它们所在的位置,这意味着我按日期搜索功能是无用的!因为当他们在时区中添加它而不是在服务器时区中添加时,他们将无法搜索.
Codeigniter中是否有一种方法可以全局设置特定于用户位置的时间和日期(可能使用其IP),并且每次调用date()或time()时都会使用用户时区.
我实际要求的可能是如何使我的应用程序依赖于每个用户时区?
也许最好将每个用户时区存储在他们的个人资料中并有一个标准时间(服务器时间),然后将时间转换为每个用户?
谢谢大家
我在所有观看中 使用$ data$this->load->view('my_view', $data);
但是我希望将$ data全局化,因为views有一个侧栏对整个项目来说是常量,并显示通过自动加载控制器中的db获取的信息
目前我必须为每个人手动编写$ data ['todo']并从自动加载模型中获取信息.
谢谢.
假设您构造一个始终只返回单个值的activerecord查询,您如何仅处理该单个值而不是获取数组?例如,我使用ActiveRecord查询返回单个列的SUM,它只返回这一个SUM,而不必解析数组是否有办法将值赋值为函数返回等于该值得到一个数组?
我想要一个具有三个条件的表中的Codeigniter选择查询.
1. wrk_fld_exc = 140
2. wrk_cs_sts = Open
3. wrk_dlvrd_sts = Delivered OR wrk_cl_sts = Success
Run Code Online (Sandbox Code Playgroud)
第三个条件是AND条件包含OR条件.第一和第二是和条件.
我想创建库,会写在"错误"的消息database,我不认为我能写PHPs错误,也没有,但我可以写我自己的"错误"类似CodeIgniters
$this->error->write("User is not allowed to go in here");
我知道有一个错误处理已经内置CodeIgniter在所有的顶部它只支持写入errors/infos/debugs的文件不是数据库.
真正的问题是:如何获得controller被调用的函数.
让我说我在控制器 - > ./admin/settings.php和错误ocures,代码将调用我的库,我希望它存储调用它的控制器.(我可能被迫将其作为参数发送,但我不想手动编写它fcn("error text", "/settings.php");
假设输出:控制器调用/controllers/admin/settings.php内部的某个地方class.
在我的系统中使用了一点点(25分钟 - 1.5小时)之后,用户会受到一些冲击.出于某种原因,我的会议有点染色.我认为客户端的cookie以某种方式丢失会话ID并创建一个新的.我正在保存我的会话数据Database.
这是我的会议conf:
$config['sess_cookie_name'] = 'v2Session';
$config['sess_expiration'] = 32400; //session will be 9 hours, for a shift.
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Run Code Online (Sandbox Code Playgroud)
现在,当我查看数据库时,我看到每个用户有多个会话.每次踢都意味着一个新会话,旧会话在到期之前不会被删除.当会话"分离"时,用户需要再次登录.
任何帮助进行故障排除将不胜感激.
编辑:
因此经过一些研究后我发现会话因为session_id保存在会话中而死,cookie并且session_id会保存在database不匹配的会话中.我怀疑当用户在不同的选项卡/窗口上加载2个页面时会发生这种情况.一个加载发生在会话更新session_id和第二个加载(杀死会话)时session_id.系统在中查找会话database但未找到.结果:从系统+疯狂用户中踢出.
有没有人经历过这个?有没有人知道如何解决这个问题?
我有一个带有自定义配置文件的codigniter项目
application/config/my_config_variables.php:
Run Code Online (Sandbox Code Playgroud)
这包含
<?php
$config['days'] = 20;
Run Code Online (Sandbox Code Playgroud)
在:
application/config/autoload.php
Run Code Online (Sandbox Code Playgroud)
我已经添加:
$autoload['config'] = array('my_config_variables');
Run Code Online (Sandbox Code Playgroud)
当我尝试使用以下命令在我的控制器中访问它时:
echo $this->$config['new_daily_contacts'];
Run Code Online (Sandbox Code Playgroud)
我明白了:
Fatal error: Cannot access empty property.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
附录:
在我的控制器中,我添加了:
// An alternate way to specify the same item:
$my_config = $this->config->item('my_config_variables',true);
var_dump($my_config);
Run Code Online (Sandbox Code Playgroud)
这输出FALSE - 为什么?
我想在存储在我们服务器上的浏览器上显示PDF文件.这是我的代码: -
$path = $_SERVER['DOCUMENT_ROOT'].folder_name.'/resources/uploads/pdf/pdf_label_'.$order['id'].'.pdf';
$filename = 'pdf_label_'.$order['id'].'.pdf';
$file = $path;
$filename = $filename;
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
@readfile($file);
Run Code Online (Sandbox Code Playgroud)
但它在浏览器上返回低于输出:
%PDF-1.4 % 5 0 obj >stream
Run Code Online (Sandbox Code Playgroud)
PDF文件显示:

我在codeignter看来这样做.
我做错了什么?请帮帮我.提前致谢
编辑: -
我做的事情如下:
foreach($orders as $order){
$path = $_SERVER['DOCUMENT_ROOT'].folder_name.'/resources/uploads/pdf/pdf_label_'.$order['id'].'.pdf';
$filename = 'pdf_label_'.$order['id'].'.pdf';
$file = $path;
$filename = $filename;
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
echo file_get_contents($file);
}
Run Code Online (Sandbox Code Playgroud)
那么如何在浏览器上显示多个文件?
编辑2: -
因此,根据下面的答案,我必须使用phpmerger合并多个PDF文件并显示到浏览器中.我浏览了这个网站http://pdfmerger.codeplex.com/但无法用于codeignter.任何人都可以帮我在我的编码器中使用这个phpmerger
我用codeigniter创建了一个登录页面,但是我收到了php消息.
Message: ini_set(): A session is active. You cannot change the session module's ini settings at this time
怎么解决这个问题?
查看(login.php)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Admin Login</title>
<link rel="stylesheet" href="../css/normalize.css">
<link rel="stylesheet" href="../css/admin-style.css">
</head>
<body>
<?php echo form_open('Verify_login', ['id'=>'loginForm', 'name'=>'loginForm', 'method'=>'post']) ?>
<div class="login">
<div class="log-box">
<h3>Login</h3>
<div >
<input id="username" name="username" placeholder="User Name" value="" type="text" >
<?php echo form_error('username'); ?>
<input id="Password" name="password" placeholder="Password" required type="password">
<?php echo form_error('password'); ?>
<div class="remember-me">
<input id="checkBox" type="checkbox">
<label for="checkBox">Remember …Run Code Online (Sandbox Code Playgroud) 我希望页面中的每一行都能显示3个缩略图,但它会堆叠成一行.
如何管理循环?谢谢...
<?php
foreach ($rows as $row){
?>
<div class="col-md-3">
<div class="thumbnail">
<img src="user_file/<?php echo $row->foto; ?>">
</div>
</div>
<?php
}
?>
Run Code Online (Sandbox Code Playgroud)
此代码生成堆叠的缩略图.如何为每3列生成一行?
这个截图是我从代码中获得的:
这是我想要得到的:
codeigniter ×10
php ×9
session ×2
activerecord ×1
apache2 ×1
datetime ×1
html ×1
pdf ×1
sql ×1
timezone ×1