• 节后最先胖哪里?分分钟回小腰精的绝招在这里。 2018-02-25
  • 加强基层法官履职保障 2018-02-25
  • 以合法形式掩盖非法目的的合同效力 2018-02-25
  • 乐视生死局,老孙缺席涨停后的股东会,乐视的未来在哪里? 2018-02-25
  • 品书香 看电影 十堰市民过了个名副其实的“文化年” 2018-02-24
  • 人民网驻阿尔及利亚记者报道集 2018-02-24
  • 党务问答:党组与党委有何区别? 2018-02-24
  • 泽贡高等级公路2日起临时封闭 2018-02-23
  • 外媒称中国元素成为国际时尚:旗袍成经典服装 2018-02-23
  • 广东清远垃圾收集点火灾致9人死亡 系烟花爆竹引起 2018-02-22
  • 党务问答:党组与党委有何区别? 2018-02-21
  • 杨浦区贯彻实施长护险 春节加班满足老人护理需求 2018-02-21
  •  “不打烊”不等于“全配送” 快递如何保障春节网购 2018-02-21
  • 冬奥观察:奥林匹克在“云”间 2018-02-20
  •  “不打烊”不等于“全配送” 快递如何保障春节网购 2018-02-20
  • Kevensuu's Blog

    Laravel 框架使用

    1、安装
    1)、安装方法

    2)、项目目录结构
    

    2、路由

    1)、指向控制器

    2)、传递参数

    3)、指向视图

    3、控制器

    创建控制器:php artisan make:controller Home/IndexController

    1)、DB操作

    2)、指向视图、传递数据给视图

    4、视图

    1)、公共部分 怎么共用

    2)、数据传递给所有视图

    5、发布

    PHP 控制 API 接口请求频率限制

    这里我们使用 redis 来实现这个功能:

    方法1:

    function limit_api_call_1()
    {
        $redis = new Redis();
        $redis->connect('127.0.0.1', 6379);
    
        $key = "rate_control";
    
        // 判断请求次数是否超限    
        $rate_value_current = $redis->get($key);
        if($rate_value_current > 10)
        {
            return false;
        }
    
        // 请求次数+1
        $rate_value = $redis->incr($key);
        
        // 设置KEY有效期
        if($rate_value == 1)
        {
            $redis->expire($key, 1);
        }
    
        return $rate_value;
    
    }
    

    方法2:

    PHP 加解密函数

    PHP 加密

    function string2secret($str, $key)
    {
       $td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
       $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
       $ks = mcrypt_enc_get_key_size($td);
    
       $key = substr(md5($key), 0, $ks);
       mcrypt_generic_init($td, $key, $iv);
       $secret = mcrypt_generic($td, $str);
       mcrypt_generic_deinit($td);
       mcrypt_module_close($td);
       return base64_encode($secret);
    }
    

    PHP 解密

    function secret2string($sec, $key)
    {
       $sec = base64_decode($sec);
       $td = mcrypt_module_open(MCRYPT_DES,'','ecb','');
       $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
       $ks = mcrypt_enc_get_key_size($td);
    
       $key = substr(md5($key), 0, $ks);
       mcrypt_generic_init($td, $key, $iv);
       $string = mdecrypt_generic($td, $sec);
       mcrypt_generic_deinit($td);
       mcrypt_module_close($td);
       return trim($string);
    }
    

    注意:这里需要 php ???mcrypt 支持

    CodeIgniter 框架 出现 Access denied 错误

    在使用 CI 框架过程中会遇到 Access denied 的错误提示,出现这个错误的问题主要是 PHP 路径配置问题

    解决方法,修改 php 配置文件

    cgi.fix_pathinfo = 1
    

    composer 安装 Laravel 框架

    Composer 作为 PHP 管理依赖(dependency)关系的工具,在使用 Laravel 框架中使用得较为广泛。

    这里我们就来介绍一下通过 Composer 来安装 Laravel 框架的方法。


    安装 Composer

    curl -sS http://www.rocksun.cn/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
    

    PHP 防并发 insert 多条记录

    方式1:通过 redis get|set 来实现

    if($this->user_baby_model->get_lock($params['uid'], $params['bbtype']))
    {
        $this->my_send_log->add(100012, array('add_baby_concurrent', date('Ymd-H:i:s'), $params), 1);
        return $this->error('Err.Unknown_error', 'the same request has exist');
    }
    else
    {
        $this->user_baby_model->set_lock($params['uid'], $params['bbtype']);
    }
    
    public function set_lock($uid, $bbtype)
    {
        $key = $this->set_lock_key($uid, $bbtype);
        return $this->my_redis->save_string('redis_bcache', $key, 1, 10);
    }
    
    public function get_lock($uid, $bbtype)
    {
        $key = $this->set_lock_key($uid, $bbtype);
        return $this->my_redis->get_string('redis_bcache', $key);
    }
    
    public function set_lock_key($uid, $bbtype)
    {
        return md5($uid.$bbtype);
    }