• 3名中国游客在瑞典遭粗暴对待 外交部敦促瑞方重视中方关切 2018-10-21
  • 国足20-0大胜!女梅西6球,女C罗轰5球,男足才赢19-0 2018-10-21
  • 消协提醒:春节预订酒店有技巧 预付卡消费需谨慎 2018-10-20
  • 陈敏尔唐良智会见传化集团董事长徐冠巨 2018-10-20
  • 扫黑除恶利剑高悬 前8月榕查处违法采砂案件93起 2018-10-20
  • 不能让所谓的收视率愚弄观众 2018-10-18
  • 新希望!中超19岁新星半年增重十斤 曾戏耍恒大两国脚 2018-10-17
  • 迎丰收 晒丰收 庆丰收 2018-10-15
  • “捂脸表情”被注册成商标?申请人不认为商标侵权 2018-10-15
  • 战巡南海、绕岛巡航…空军有“飞出去”的主心骨 2018-10-14
  • 幼儿园要求家长写一万字读后感:不能这样玩家长|幼儿园|家长-教育时讯 2018-10-13
  • 中国故宫文物展在希腊举行 2018-10-13
  • 車·晓 第26期 車企官方降价真相幾何? 2018-10-12
  • 宝沃总裁杨嵩:曾和奔驰宝马同水平 已不能同日而语 2018-10-11
  • 新时代党员干部要有更大的担当和作为 2018-10-10
  • 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);
    }