使用CodeIgniter,我试图通过删除任何空格和大写后续单词来修改上传文件的名称为camelCase.
我很确定我可以使用move_uploaded_file的第二个参数重命名该文件,但我甚至不知道在哪里查找如何将名称修改为camelCase.
提前致谢!乔恩
我如何在PHP中编写一个函数(使用CodeIgniter)来合并具有类似商店开放时间的日子.例如,如果我们有:
Mon 9am-5pm
Tue 9am-5pm
Wed 9am-5pm
Thu 9am-5pm
Fri 9am-5pm
Sat 9am-7pm
Sun 9am-7pm
Run Code Online (Sandbox Code Playgroud)
我希望代码将其简化为:
Mon-Fri 9am-5pm
Sat-Sun 9am-7pm
Run Code Online (Sandbox Code Playgroud)
如果没有if/else或case ifs的长列表,我该怎么做?我正在使用CodeIgniter ..
我的codeigniter应用程序中有一个控制器"user".该控制器具有以下功能logged_user_only():
public function logged_user_only()
{
$is_logged = $this -> is_logged();
if( $is_logged === FALSE)
{
redirect('user/login_form');
}
}
Run Code Online (Sandbox Code Playgroud)
由于此函数调用另一个被调用的函数is_logged(),它仅检查会话是否已设置,如果是,则返回true,否则返回false.
现在,如果我将此函数放在同一控制器内的任何函数的开头,它将检查用户是否未被记录,它将重定向到login_form否则继续.这很好用.例如,
public function show_home()
{
$this -> logged_user_only();
$this->load->view('show_home_view');
}
Run Code Online (Sandbox Code Playgroud)
现在我想logged_user_only()在另一个控制器的函数中调用此函数来检查用户是否已登录?
PS.如果无法做到这一点,或者不推荐,我应该在多个控制器中将此功能放在哪里?谢谢.
免责声明:我是网络开发的新手
场景:我正在构建一个使用ion_auth管理所有用户/管理员信息(使用MySQL数据库)的Web应用程序,每个用户都有自己的数据库(MySQL也是如此)用于核心应用程序.我在CodeIgniter中的applicaton/config/database.php文件中自动加载了我用于ion_auth的数据库.我使用的是标准MVC格式(与每个数据库相关的单个模型).
问题:我需要知道如何在CodeIgniter中轻松有效地使用多个数据库.我是否需要将两个数据库模式链接在一起,或者CodeIgniter会为我做这个吗?是否有任何资源可以解决这个问题(我在寻找一个问题时遇到了麻烦)?
非常感谢你的帮助!
我有一个数据库,我想只拉出某些日期在指定范围内的行.我不确定如何在活动记录中正确地做到这一点.现在看起来我正在活动记录查询中运行标准的mysql查询.我希望这可以让你了解我在寻找什么.
我希望能够在今天之前获得任何行,包括今天和未来3天.
$query = $this->db->query("SELECT * FROM 'topics_list' . 'topic date' WHERE DATE(order_datetime) BETWEEN '2012-10-01' AND '2012-10-3'");
Run Code Online (Sandbox Code Playgroud) 我必须每周向用户发送报告.我正在使用视图中的电子邮件模板.我在控制器中的代码是
function sendWeeklyMail(){
if(!$this->session->userdata('some'))
redirect('admin/admin','refresh');
$data=$this->admin_model->getUserData();
foreach($data as $u){
$this->email->clear();
$this->email->to($u->Email);
$this->email->from('your@example.com');
$this->email->subject('Here is your info '.$name);
$this->email->message('email/report',$data,'true');
$this->email->send();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何发送数据,以便我可以向用户显示消息正文中的一些数据.通常codeigniter将数据作为$ data ['user_data']
所以我正在使用PHP框架CodeIgniter(http://ellislab.com/codeigniter)开发一个项目,在其中,我们使用了很多各种CSS/JS文件,这些文件在我们的头文件中被调用.
我之前在WordPress网站和其他项目上使用了Minify工具,并在GitHub上运行了这个库以获取CodeIgniter(https://github.com/ericbarnes/ci-minify),并且我想在我的项目中使用它.
它工作得很好,但很遗憾,我正在压缩如此多的CSS和JS文件,当页面加载时,如果我没有使用它会更快.
这是代码在我的控制器中的样子:
// minify css
$cssfiles = array('assets/css/normalize.css', 'assets/css/hook-new.css', 'assets/css/hook.css', 'assets/css/components.css', 'assets/css/rtl.css', 'assets/css/global.css', 'assets/css/body.css', 'assets/css/mediaqueries.css', 'assets/select2-3.4.3/select2.css', 'assets/jquery_bootstrap/css/custom-theme/jquery-ui-1.9.2.custom.css');
$cssfile = $this->minify->combine_files($cssfiles);
$csscontents = $this->minify->css->min($cssfile);
$this->minify->save_file($csscontents, 'assets/css/all.css');
// minify js
$jsfiles = array('assets/js/application/js_config.js', 'assets/js/bootstrap.min.js', 'assets/js/custom.js', 'assets/select2-3.4.3/select2.js', 'assets/js/startup.js', 'assets/ckeditor/ckeditor.js', 'assets/js/jquery.validationEngine-en.js', 'assets/js/jquery.validationEngine.js', 'assets/js/scripts.js', 'assets/js/application/js_timer.js');
$jsfile = $this->minify->combine_files($jsfiles);
$jscontents = $this->minify->js->min($jsfile);
$this->minify->save_file($jscontents, 'assets/js/all.js');
Run Code Online (Sandbox Code Playgroud)
所以我正在使用这些大量的CSS和JS文件,压缩它们,然后将它们保存到一个大文件中.但有没有更好,更有效的方法呢?
我知道我可以手工合并它们,但是当我处理事情时,我会有大量文件来筛选.不仅如此,我还喜欢Minify能够摆脱不必要的空白并真正压缩代码.
那么关于如何有效地实现这一目标的任何想法?
谢谢!
背景资料
我刚刚安装了CI的新副本并修改了欢迎控制器以包含url Helper,因此我可以调用该方法base_url.然后我尝试从这个方法调用home.php
问题: 我收到以下错误消息:
Message: Undefined property: Welcome::$load
Filename: controllers/welcome.php
Run Code Online (Sandbox Code Playgroud)
码:
这就是我的欢迎控制器现在的样子:
class Welcome extends CI_Controller {
public function __construct()
{
$this->load->helper('url');
}
public function index()
{
$this->load->view('home');
}
}
Run Code Online (Sandbox Code Playgroud)
该视图如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<meta charset="utf-8">
<meta name="viewport" content="width = device-width">
<meta name="description" content="">
<!-- Le styles -->
<title>test site</title>
<script>
var BASEPATH = "<?php echo base_url(); ?>";
</script>
<link href="<?php echo base_url('assets/css/bootstrap.min.css')?>" rel="stylesheet">
<link href="<?php echo base_url('assets/css/navbar.css')?>" rel="stylesheet">
</head>
Run Code Online (Sandbox Code Playgroud)
系统在控制器构造函数中的行上死亡,我尝试加载库... …
我正在使用codeigniter 2.1.4
我正在使用form_validation库进行表单验证.
当我尝试运行该功能时,我得到以下错误
无法加载请求的语言文件:language/en/form_validation_lang.php
我扫描了所有文件.我没有在任何文件中使用或调用此语言文件,我收到此错误.
function insert(){
$this->load->library('form_validation');
$this->form_validation->set_rules('username_field', 'username', 'required');
$this->form_validation->set_rules('firstname_field', 'firstname', 'required');
$this->form_validation->set_rules('lastname_field', 'lastname', 'required');
$this->form_validation->set_rules('email_field', 'email', 'required|valid_email|callback_isEmailExist');
if ($this->form_validation->run() == FALSE) {
$this->create();
}
}
function isEmailExist($email) {
$this->load->library('form_validation');
$is_exist = $this->users->isEmailExist($email);
if ($is_exist) {
$this->form_validation->set_message(
'isEmailExist', 'Email address is already exist.'
);
return false;
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
这是什么解决方案?
当我尝试使用CI加密库加密字符串时,返回的字符串非常大,大约178个字符长.是否有任何方法可以减少字符串的长度.默认密码是:AES-128.
假设:$data=$this->encryption->encrypt("welcome to ooty");
它返回178长度的字符串值..我需要它减少到20以下
更新:当我加密一个数字时,比如6,它返回178个长字符串.
php encryption cryptography codeigniter encryption-symmetric
codeigniter ×10
php ×8
mysql ×2
cryptography ×1
css ×1
email ×1
encryption ×1
javascript ×1
minify ×1
sql ×1
templates ×1
url ×1