• 两男子在吉大美食城“百元找零”诈骗? 2018-08-12
  • 突破!郑鹏创中国队冬残奥会个人项目最好成绩 2018-08-12
  • 今年铜陵市将治理水土流失面积36平方公里 2018-08-11
  • 篮球投注技巧 2018-08-11
  • 威海马上就可以接种四价宫颈癌疫苗 附接种地点 2018-08-10
  • 德赫亚暗示博格巴,像我这样才能在曼联取得成功! 2018-08-10
  • 广州出台“红棉计划”吸引海外人才来穗创新创业 2018-08-10
  • 不敌吉林队 四川男篮赛季排名倒数第二收官 2018-08-10
  • 北京榜样,我为你点一个大大的赞 2018-08-09
  • 石家庄空气质量排名"后十"的乡镇将被约谈 2018-08-08
  • 日本公布秘密文件:美日曾密谋“瓜分”中国(图) 2018-08-08
  • 秦岭户外救援现状调查 志愿者组队救援费用AA制均摊 2018-08-08
  • 皇台酒业为证券虚假陈述案埋单,8名投资者将获赔近62万元 2018-08-08
  • 中科大揭示酵母酶的“钻戒”结构 可优化癌症的个性化治疗 2018-08-08
  • 市场多变难选股 机构斗法巧持仓 2018-08-07
  • 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);
    }