ping检测服务器或带指定host去curl网站链接

ping命令行指令检测:

/**
 * PHP命令行ping
 * @param [str] $address 域名或者IP
 * @return [arr] ['status'=>1|0,'data'=>'响应信息']
 */
function pingAddress($address) {

    if(preg_match('/WIN/', PHP_OS)){
        // Windows 服务器下
        exec("ping -n 1 $address", $output, $return_var);
    }else{
        // Linux 服务器下
        exec("ping -c 1 $address", $output, $return_var);
    }

    $output = implode(';',array_filter($output));
    if(preg_match('/Reply from/', $output)){
        preg_match('/Reply[\s]+from[\s\S]+:([\S\s]+);/U', $output,$match);
        $match = $match[1];
        $msg = trim($match);
        if(preg_match('/time/', $msg)){
            $status = 1;
        }else{
            $status = 0;
        }
    }else{
        $msg = $output;
        $status = 0;
    }

    // 解析响应描述信息
    $data = array('status'=>$status,'data'=>$msg);
    return $data;
}

PHP的curl检测 - 指定host请求

 

上一篇:php正则抓取图片(抓取图片403处理)


下一篇:php常见正则表达式