PHP批量删除小于10K的文件实例

<?php
function get_allfiles($path,&$files) {  
    if(is_dir($path)){  
        $dp = dir($path);  
        while ($file = $dp ->read()){  
            if($file !="." && $file !=".."){  
                get_allfiles($path."/".$file, $files);  
            }  
        }  
        $dp ->close();  
    }  
    if(is_file($path)){  
        $files[] =  $path;  
    }  
}  
     
function get_filenamesbydir($dir){  
    $files =  array();  
    get_allfiles($dir,$files);  
    return $files;  
}  
     
$filenames = get_filenamesbydir("./hotels/hotelimg");  
//删除指定文件
foreach ($filenames as $value) {  
    $filesize=abs(filesize($value));
    if($filesize<10240){    //小于10K
        echo $value."<br />";//输出被删除的文件名
        unlink($value);
    }
}  

微信开发之获取用户详细信息

    public function wxlogin($code = null)
    {
        //判断是否微信浏览器打开,并判断是否登录
        if ((strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger')) !== false && empty($_SESSION['openid']) || empty($_SESSION['userid']) || empty($_SESSION['username'])) {
       //引导用户进入授权页面同意授权,获取code
            if ($code !== null) {
                //获取openID
                $url = 'https://api.weixin.qq.com/sns/oauth2/access_token?';
                $params = array(
                    'appid'     => '',
                    'secret'    => '',
                    'code'      => $code,
                    'grant_type'=> 'authorization_code',
                );
                $openId = json_decode(file_get_contents($url . http_build_query($params)), true);
                if(!isset($openId['openid'])) $openId['openid'] = -1;
                //设置session
                $_SESSION['openid']  = $openId['openid'];
                //判断数据库是否存在该用户信息
                $url = 'http://'.SITE_DOMAIN.'user/isuser?';
                $params = array(
                    'openid'     => $openId['openid'],
                    'token'      => md5('cunzaiganit.com'),
                );
                $user = json_decode(file_get_contents($url . http_build_query($params)), true);
                //如果数据库没有该用户信息
                if($user['result']){
                    //获取用户信息
                    $url = 'https://api.weixin.qq.com/sns/userinfo?';
                    $params = array(
                        'access_token' => $openId['access_token'],
                        'openid' => $openId['openid'],
                        'lang' => 'zh_CN'
                    );
                    $info = json_decode(file_get_contents($url . http_build_query($params)), true);

                    //将信息存数据库
                    $url = 'http://'.SITE_DOMAIN.'user/adduser?';
                    $params = array(
                        'openid'     => $info['openid'],
                        'name'     => $info['nickname'],
                        'login_name'     => $info['nickname'],
                        'sex'     => $info['sex'],
                        'province'     => $info['province'],
                        'city'     => $info['city'],
                        'country'     => $info['country'],
                        'headlink'     => $info['headimgurl'],
                    );
                    $rows = json_decode(file_get_contents($url . http_build_query($params)),true);
                    $_SESSION['userid']  = $rows['id'];
                    $_SESSION['username']  = $rows['name'];
                } else {
                    //如果有该用户
                    $_SESSION['userid']  = $user['id'];
                    $_SESSION['username']  = $user['name'];
                }
            } else {
                $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?';

                $params = array(
                    'appid'         => '',
                    'redirect_uri'  => 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'],
                    'response_type' => 'code',
                    'scope'         => 'snsapi_userinfo',
                    'state'         => md5('baidu.com') . '#wechat_redirect'
                );
                die(header('Location:'.$url . http_build_query($params)));
            }
        }
    }

微信开发之模板消息实例


public function test()
{
        //获取token
        $wxtoken = $this->jssdks->getToken();
        //拼接URL
        $url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$wxtoken;
        //发送需要发送的模板信息内容
        $params = json_encode(array(
            'touser' => "openid",//接收者的OpenId
            'template_id' => '',//模板ID,可去微信公众号后台查看
            "url" => "http://".STYLE_DOMAIN,//用户接收到信息,点击后挑战的地址
            'topcolor' => "#FF0000",
            'data' => array(
                //以下内容可参考微信公众号后台填写
                'first' => array(
                    "value" => "业务到期提示",
                    "color" => "#173177"
                ),
                'type' => array(
                    "value" => "到期提示",
                    "color" => "#173177"
                ),
                'date' => array(
                    "value" => date('Y-m-d'),
                    "color" => "#173177"
                ),
                'remark' => array(
                    "value" => '本业务将在月底自动取消。如需续用,请您在到期前点击链接,根据指引办理业务。感谢您的体验!',
                    "color" => "#173177"
                ),
            )
            )
        );
        //调用封装好的Curl发送数据。
        $result = $this->getapi->get_json_decode($params,$url);
 }

MYSQL直接获取本月所有数据的SQL语句

原本时间存储于数据库都使用的时间戳格式,最近和一个JAVA对接,他们数据库不是时间戳格式,而是:2016-12-5 11:16:11这种形式储存,所以感觉挺繁琐。

需要查询一下本月的数据,百度的方法:

select count(ID) from tb where month(时间字段) = month(getdate());

可是这个SQL语句,需要用到MYSQL的ROOT权限,我出于安全考虑,一般都不动用ROOT权限的,所以运行之后会报错:

1370 - execute command denied to user 'weixin'@'%' for routine 'datatest.getdate'

最后给出MYSQL直接获取本月所有数据的sql语句:

select name from 表名 where date_format(时间字段名,'%Y-%m')=date_format(now(),'%Y-%m');

PHPStorm进行SVN提交报客户端版本太旧的解决方案

前段时间同事使用PHPStorm中的subversion进行SVN提交的时候,总是报一个错;

Cannot checkout from svn: svn: E155021: This client is too old to work with

可是我的却没报任何错。很奇怪,直到后来重新调整SVN我也出现这种情况,才明白。。。。

刚开始我以为是我本机的SVN版本太低,但是最后发现是1.9的,最新版!然后看subversion的版本是1.7.

原因:

由于本机的SVN客户端是1.9版本太高,而PHPStorm中的subversion是1.7,然后先用SVN客户端拉取后,再用PHPStorm来拉取就会提示客户端版本过低了。    

解决方案:

方法一:不要使用SVN客户端进行拉取和更新,全程使用PHPStorm中的subversion。

方法二:如果已经使用SVN客户端进行拉取了,然后又想使用PHPStorm来进行管理,可将目录下的隐藏目录.svn删除,然后再用PHPStorm中的subversion拉取更新。