Blog / 阅读

kimsufi 4.99欧监控脚本 (php)

by admin on 2015-03-31 16:25:14 in ,



kimsufi 的机器很畅销,因为是不定时放货,人工监控很麻烦,转载一篇PHP监控脚本。
<?php
#!/usr/bin/php –q

//使用方法计划任务 每分钟执行一次  * * * * * /usr/bin/php /var/www/html/sms/kimsufi.php en > /dev/null 2>&1

$type = $_SERVER['argv'][1];

if($type == 'en'){
        $json_url = 'https://ws.ovh.com/dedicated/r2/ws.dispatcher/getAvailability2';
}else{
        $type = 'ca';
        $json_url = 'https://ws.ovh.ca/dedicated/r2/ws.dispatcher/getAvailability2';
}

function _curl_data($url){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        $return_data = curl_exec($curl);
        curl_close($curl);

        return $return_data;
}

$data = _curl_data($json_url);
$obj = json_decode($data);

if(!is_object($obj)){
        echo '返回值不正确';
        exit;
}

$check_ava = array('142cask9','150sk10');

if(!isset($obj->answer)){
        exit;
}

$answer = $obj->answer;
$availability = $answer->availability;

if(count($availability) <= 0){
        exit;
}

$ava_array = array();

foreach($availability AS $ava){
        $reference = $ava->reference;

        if(!in_array($reference,$check_ava)){
                continue;
        }

        $zones = $ava->zones;

        foreach($zones as $zone){
                if($zone->availability == 'unavailable' || $zone->availability == 'unknown'){
                        continue;
                }

                //有存货
                $ava_array[] = $type.' - '.$reference;
        }
}

if(count($ava_array) == 0){
        exit;
}

$message = implode(',',$ava_array);

//判断是否需要发送短信 每小时只发送一次,避免短信用的太快
$sms_log = '/var/www/html/sms/'.$type.'.sms.log';
$need_sms = false;
if(!is_file($sms_log)){
        $fp = fopen($sms_log,'w');
        fwrite($fp,time());
        fclose($fp);
        //需要发送
        $need_sms = true;
}else{
        $time = file_get_contents($sms_log);
        if(time() - $time > 3600){
                //需要发送
                $need_sms = true;
                $fp = fopen($sms_log,'w');
                fwrite($fp,time());
                fclose($fp);
        }
}

if($need_sms){
        /*
        //你可以给自己发送短信 或者邮件
        $phone = '13800138000';
        include('/var/www/html/sms/api/sms.inc.php');
        $mobile_phone = trim($phone);
        $mobile_code = rand(100000,999999);
        $today = date('Y-m-d');
        $create_time = time();
        $sms = new SMS();
        $msg = 'kim有货.'.$message.', 30分钟内有效.';
        $msg = iconv('UTF-8','GBK',$msg);
        $sms->sendSMS($mobile_phone,$msg,'',2);
        if($sms->getCode() == 2000) {
                echo 'Done';
        }else{
                echo 'Faild';
        }
        */
}


写评论

相关文章

上一篇:javascript 大数字运算结果总是错误

下一篇:php中对二维数组某个元素进行排序方法

评论

写评论

* 必填.

分享

栏目

赞助商


热门文章

Tag 云