关于这篇文章,我想将css,images和js添加到我的codeigniter应用程序中.我的问题是在你的头文件添加路径后,你href="<?php echo base_url();?>css/moorainbow.css"在哪里实际放置你的文件,是在系统,应用程序,视图还是控制器?到目前为止,我发现有10篇文章解释了相同的程序,但是没有人在讨论应该保留实际文件的位置?任何人都可以帮我这个吗?谢谢
我正在使用CodeIgniter的表单助手和表单验证库来构建我的表单.我无法将下拉列表设置为"粘性"并找到合适的验证规则.
这就是我填充drodown的方式:
foreach($events as $event){
$options[$event->event_title] = $event->event_title;
}
$firstItem = '<option>Please select one...</option>';
echo form_dropdown('events', $options, '', $firstItem);
Run Code Online (Sandbox Code Playgroud)
这是从存储在数据库中的事件构建选项.表单看起来很好,并正确填充所有字段.
但是,当我提交表格时,下拉列表没有保留所选的值?此外,我应该如何验证它,我想让它成为必需但我也想确保我除了下拉列表中的第一个选项'请选择一个......'
提前致谢.
干杯,加兹
我严格按照Phil Sturgeon的方法文章来扩展基本控制器.但我仍然有一些错误.
我的3个班:
// application/libraries/MY_Controller.php
class MY_Controller extends Controller{
public function __construct(){
parent::__construct();
}
}
// application/libraries/Public_Controller.php
class Public_Controller extends MY_Controller{
public function __construct(){
parent::__construct();
}
}
// application/controllers/user.php
class User extends Public_Controller{
public function __construct(){
parent::__construct();
}
}
Run Code Online (Sandbox Code Playgroud)
致命错误:第2行的/srv/www/xxx/application/controllers/user.php中找不到"Public_Controller"类
好奇的是,如果我直接扩展,以下代码片段正在工作MY_Controller:
// application/controllers/user.php
class User extends MY_Controller{
public function __construct(){
parent::__construct();
}
}
Run Code Online (Sandbox Code Playgroud)
我通过__autoload()或手动加载了控制器.控制器成功加载.
CI版本:1.7.3
我正在尝试向用户提供大型zip文件.当有2个并发连接时,服务器内存不足(RAM).我将内存量从300MB增加到4GB(Dreamhost VPS)然后它工作正常.
我需要允许超过2个并发连接.实际的4GB将允许20个并发连接(太糟糕).
好吧,我正在使用的当前代码需要内存的两倍,然后是实际的文件大小.这太糟糕了.我希望将文件"流式传输"给用户.所以我分配的不仅仅是为用户提供的块.
以下代码是我在CodeIgniter(PHP框架)中使用的代码:
ini_set('memory_limit', '300M'); // it was the maximum amount of memory from my server
set_time_limit(0); // to avoid the connection being terminated by the server when serving bad connection downloads
force_download("download.zip", file_get_contents("../downloads/big_file_80M.zip"));exit;
Run Code Online (Sandbox Code Playgroud)
force_download函数如下(CodeIgniter默认帮助函数):
function force_download($filename = '', $data = '')
{
if ($filename == '' OR $data == '')
{
return FALSE;
}
// Try to determine if the filename includes a file extension.
// We need it in order to set the MIME type
if …Run Code Online (Sandbox Code Playgroud) 我想知道用Code Igniter制作面包屑的最佳方法是什么.
1:使用URL检索字符串
例如: $this->uri->segment(2)
2:你知道另一种方式吗?
我真的很想得到你的意见
路由配置中的default_controller设置为"home.php".
我有一个控制器的子目录,我们称之为"文件夹".所以,如果我访问http://mysite.com/folder/,应该调用默认控制器"folder/home.php"吗?
但由于某种原因,这不起作用,我得到404.访问http://mysite.com/folder/home或http://mysite.com/folder/home/index按预期工作.除此之外,默认控制器在根目录中工作(http://mysite.com加载home.php).
任何想法,有没有其他人经历过这个?我无法理解它 - 它似乎是一个CI问题,但我找不到其他人有同样的问题.
从我至少理解的方式来看,文档表明这应该可以正常工作:http://codeigniter.com/user_guide/general/controllers.html#subfolders
将默认控制器设置为"folder/home.php"意味着http://mysite.com/folder/正常工作.除了我希望默认控制器只是"home.php" - 无论是在根目录还是在子目录中,都应该加载该目录中的home.php,如文档所示.
干杯
我有一个名为的控制器home.php,其中有一个名为的函数podetails.我想在另一个控制器中调用此函数user.php.
有可能这样做吗?我HMVC在CI中已经阅读过,但我想知道是否可以不使用hmvc?
我需要获取数据库表的表结构.所以我使用以下代码.
class Some_model extends CI_Model{
public $DB1;
function __construct(){
parent::__construct();
$this->DB1 = $this->load->database('default',TRUE);
}
function getTableStructure($tableName){
echo $tableName; //this Outputs my table Name that i pass in the function
return $this->DB1->field_data($tableName) ; //this gives error for some tables
}
}
Run Code Online (Sandbox Code Playgroud)
我收到了数据库错误
要获取字段,需要将表的名称作为参数.
注意:此函数适用于某些表,但我在其他几个表上得到此错误.我正在检查的表是"admin_user"
更新:
我检查了system/database文件夹中DB_driver.php文件中的field_data函数.
当我打印返回对象即
echo "<pre">;print_r($query->field_data());die();
//return $query->field_data(); commented this line print's the object
Run Code Online (Sandbox Code Playgroud)
然而,
//echo "<pre">;print_r($query->field_data());die(); comment this line shows error.
return $query->field_data();
Run Code Online (Sandbox Code Playgroud) 我想json在控制器中以格式显示响应,并且不希望在视图中移动.所以,请让我以任何方式让我能够表达json回应.
这是我想添加json标题的代码.
$result = $this->mod_doc->get_list();
echo json_encode($result);
Run Code Online (Sandbox Code Playgroud) 我一直在敲我的头5个小时,我终于解决了问题,但我不知道原因就睡不着.我先解释一下这个问题.
我使用了codeigniter HMVC扩展并将ion_auth安装为一个单独的模块.
|-modules
|--auth
|---config
|-----ion_auth.php
|---controllers
|-----auth.php
|---models
|-----ion_auth_model.php
|---views
Run Code Online (Sandbox Code Playgroud)
当我试图获得用户的组时,我开始遇到有线SQL错误.然后我缩小了问题,并发现文件config/ion_auth.php中没有加载项目ion_auth_model.php.
ERROR - 2016-02-24 20:09:26 - >查询错误:您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在'as
id,'附近使用正确的语法.name,.description加入.=.id在哪里 第1行='2' - 无效查询:SELECT.作为id,.name,.description加入.=.id在哪里 ='2'
然后我尝试了几个东西,当我'ion_auth'从ion_auth_model.php一切方法调用中删除索引时,一切都开始起作用了.
我变了
$this->tables = $this->config->item('tables', 'ion_auth');
$this->join = $this->config->item('join', 'ion_auth);
Run Code Online (Sandbox Code Playgroud)
至
$this->tables = $this->config->item('tables');
$this->join = $this->config->item('join');
Run Code Online (Sandbox Code Playgroud)
谁能告诉我它为什么有效?