匹配中国人姓名(可以比检测少数名族的姓名带"·"那种)

最近系统需要校验少数名族姓名(就是少数名族带·的)

Read more   2020/06/11 10:50 上午 posted in  PHP PHP代码段

调用iconv和mb_convert_encoding会显示乱码或空白

比如“珺”字在单纯的调用iconv 和mb_convert_encoding会显示乱码或空白,解决办法:

$name = iconv("utf-8","gbk//IGNORE",$str);
2019/07/16 15:11 下午 posted in  PHP PHP代码段

PHP关于SSH和SFTP相关方法

php支持ssh和sftp推送,原生不支持,需要装pecl的ssh2扩展。

  1. 扩展安装:
  2. SSH使用:
extension_loaded('ssh2') #检查是否安装ssh2扩展模块
$conn = ssh2_connect(IP, PORT) #连接远程服务器,看是否网络通,返回连接资源
ssh2_auth_password($conn, $username, $password) #通过账号密码认证登陆远程远程服务
$ssh2_sft = ssh2_sftp($conn);# 获取sftp连接资源
ssh2_sftp_mkdir($ssh2_sftp, $path, 0777, true)#创建远程目录
ssh2_scp_send($conn, $localfile, $filename, 0777)#上传文件

在一些特殊情况下,比如在内网,外网主机被映射为内网一个内网ip时,ssh2_scp_send可能推送不出文件,并且还会一直发送,长时间不会返回上传状态,这个时候需要用使用sftp方式推送

2019/07/16 15:08 下午 posted in  PHP PHP代码段

PHP代码 ping 域名

在PHP代码中做ping

// ping 域名
function pingAddress($address,$proxy=false) {
    $status = -1;
        if (strcasecmp(PHP_OS, 'WINNT') === 0) {
            // Windows 服务器下
            $pingresult = exec("ping -n 1 {$address}", $outcome, $status);
        } elseif (strcasecmp(PHP_OS, 'Linux') === 0) {
            // Linux 服务器下
            $pingresult = exec("ping -c 1 {$address}", $outcome, $status);
        }elseif (strcasecmp(PHP_OS, 'Darwin') === 0){
            // MacOS 下
            $pingresult = exec("ping -c 1 {$address}", $outcome, $status);
        }
        if (0 == $status) {
            $status = true;
        } else {
            $status = false;
        }
    return $status;
}
2019/06/19 15:58 下午 posted in  PHP PHP代码段