日志分类:CodeIgniter

codeigniter如何支持中文URL

2009/11/25 2:34 下午  |  分类:CodeIgniter

第一步把config.php中的

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

替换成

$config['permitted_uri_chars'] ='a-z 0-9~%.:_-u4e00-u9fa5';

第二步在application的libraries下增加一个My_URI.php文件,文件内容如下


class MY_URI extends CI_URI {
        function _filter_uri($str)
    {
        if ($str != '' AND $this->config->item('permitted_uri_chars') != '')
        {
            $str = urlencode($str);
            if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))
            {
                exit('The URI you submitted has disallowed characters.');
            }
            $str = urldecode($str);
        }
        return $str;
    }
}

Codeigniter的配置文件注释

2009/11/18 10:25 上午  |  分类:CodeIgniter

$config['base_url'] = “http://www.example.com/”

您网站的网址,codeigniter 会根据这个网址来生成链接、表单地址等。

$config['index_page'] = “index.php”

codeigniter 根目录下的 index.php 文件名,codeigniter 会使用它来生成链接地址。如果使用隐藏 index.php 的 URL,将其设置为空字符串:$config['index_page'] = “”。

$config['uri_protocol'] = “AUTO”

codeigniter 生成 URL 使用的格式,设置为“AUTO”自动探测。如果链接不能正常工作,可以尝试以下值:
PATH_INFO、QUERY_STRING、REQUEST_URI、ORIG_PATH_INFO。

$config['url_suffix'] = “”

全文阅读 »

让CodeIgniter支持$_GET[整理]

2009/11/18 10:18 上午  |  分类:CodeIgniter

需要传递get参数时一般直接 /参数一/参数二
详见手册说明:http://codeigniter.org.cn/user_guide/general/controllers.html#passinguri

但是有时候需要传递很长的复杂的url,比如常用的 http://www.nicewords.cn/index.php/controller/method/?backURL=http://baidu.com/blog/hi

这时 这种模式就行不通了。参数中本身的/会与默认的分隔符冲突

解决方案:

1) 在config.php 中,将‘uri_protocol’ 设置为 ‘PATH_INFO’

2) 在需要使用$_GET的页面之前加:parse_str($this->input->server(‘QUERY_STRING’), $getParams);

uri_protocol 设置了 uri 的解析方法,当开启了 rewrite 后,这里为 PATH_INFO,同时会 unset $_GET,我在给网站做支付的时候,因为支付平台那边在用户支付成功后会以 GET 的方式调用通知接口,因此必须读取 $_GET,有两个方法,最简单地,我们可以设置$config['enable_query_strings'] = TRUE;但这种方法会对整站产生效果,就是用户依然可以通过 GET 传入 Controller 和 Action 等参数!

ci logo2 解决CI下载函数force download在IE下文件名乱码问题
CodeIgniter 底下提供了 force_download 函数,让使用者可以直接下载档案,但是会遇到中文的问题,IE 底下开起来档名会是乱码,force_download(’filename’, ‘data’) 如果 filename 使用中文,测试 FireFox 跟 Chrome 都是没问题的,唯独 IE 开起来就是有问题,所以麻烦请修改 helpers/download_helper.php :
全文阅读 »

关于HMVC

2009/10/07 4:26 下午  |  分类:CodeIgniter

  放假前就和有个朋友在看HMVC这个模式!现在假期回来,也没联系他,不知道他有啥结果了吗?!不过GG和百度都没太多有用的结果!因为最近一直在看CI,HEX大有发过一帖,是他扩展的CI功能来实现HMVC!不过看不懂源码,毕竟连到底啥是HMVC都不知道,更别说代码了!!

  今天又搜索了一遍HMVC,结果是依然没什么眉目!不过HEX给的扩展能用!从给的例子看来,个人认为HMVC是MVC的彻底化~它把所有的组件也MVC化了,也可以说是控件~~比方说你的一个嵌套导航,表单,友情链接,头部,底部~乱七八糟的东东吧~反正它的作用就是让这些东西也以MVC的形式来存在!好处就是可以方便嵌套!不用再为了嵌套一个动态底部而在每个主控制器里都重复处理数据!这里说的主控制器是相对这些嵌套组件而言的!就比方说你的主页面!

  http://codeigniter.org.cn/forums/thread-1319-2-2.html这个链接是HEX的CI HMVC的扩展!很简单的下载覆盖就OK了!我现在看不懂他的源码,但是勉强会用!慢慢来吧!等一哈子的HMVC的教程出来看看是否能对它理解更多一些!

PHP框架 CodeIgniter v1.7.2

2009/09/13 12:50 下午  |  分类:CodeIgniter

CodeIgniter是一款强大的轻量级PHP框架,使用它可以大量减少开发时间,提高开发效率。
CodeIgniter v1.7.2 发布了。这是继七个月之后的再次更新,它给人们带来了惊喜 : )

更新如下:
1、兼容PHP 5.3.0
2、新增了Cart Class
3、改进Form helper
4、新增is_php() 函数
5、修改了show_error()函数
6、修正了多个bug

下载:CodeIgniter v1.7.2

CI的模型

2009/09/01 12:01 下午  |  分类:CodeIgniter

  什么是模型层?很复杂,我也不是很明白,所以就不解释了,学究们可以GG一下!在这篇文章,咱就只说CI的模型层!
  记得发过一篇说CI的MVC的post,CI对MVC并没有强求,所以模型层可有可无!但是,它肯定有存在的必要性!我觉得可能的话,最好存在!毕竟,M+V+C才能无敌!嘿嘿~
  模型类文件存放在 application/models/ 文件夹。 如果你愿意,可以在里面建立子文件夹。最基本的模型类必须像这样:

class Model_name extends Model {

    function Model_name()
    {
        parent::Model();
    }
}

类名的首字母必须大写,其他字母小写。并且确保你的类继承了基本模型类(Base Model Class),文件名应该是模型类名的小写版。例如上面的模型应该保存为:
application/models/model_name.php
全文阅读 »

Pages: 1 2 3 Next