format('Y-m-d'); // $json_date = date_i18n('Y-m-d'); //$url='http://202.6.247.117/api/v1/infos?open_day='.$json_date; $url = 'http://13.112.199.58/json/updata.json'; //$url = 'http://zipcloud.ibsnet.co.jp/api/search?zipcode=6168173'; $option = [ CURLOPT_RETURNTRANSFER => true, //文字列として返す CURLOPT_TIMEOUT => 3, // タイムアウト時間 CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_CUSTOMREQUEST => 'GET' ]; $ch = curl_init($url); curl_setopt_array($ch, $option); $json = curl_exec($ch); $info = curl_getinfo($ch); $errorNo = curl_errno($ch); // OK以外はエラーなので空白配列を返す if ($errorNo !== CURLE_OK) { // 詳しくエラーハンドリングしたい場合はerrorNoで確認 // タイムアウトの場合はCURLE_OPERATION_TIMEDOUT // var_dump($errorNo); return []; } // 200以外のステータスコードは失敗とみなし空配列を返す if ($info['http_code'] !== 200) { // var_dump($info['http_code']); return []; } // 文字列から変換 $jsonArray = json_decode($json, true); //$filepaths = file_search(JSON_DATA_BASE_DIR); //ファイル名 $sFileName = 'updata.json'; //ファイルパス $sPath = JSON_DATA_BASE_DIR.'/'.$sFileName; //ディレクトリ確認 // if(file_exists(JSON_DATA_BASE_DIR.'/')){ // //echo '・指定ファイルが既に存在しております。'; // //exit; // }else{ // //echo '・ファイルの存在確認完了。
'; // mkdir(JSON_DATA_BASE_DIR.'/', 0775); // //各二実に変更 // chmod(JSON_DATA_BASE_DIR.'/', 0775); // } //ファイルの存在確認 if(file_exists($sPath)){ //echo '・指定ファイルが既に存在しております。'; //exit; //ファイルをオープン if($filepoint = fopen($sPath,"w")){ //echo '・ファイルオープン完了。
'; }else{ //echo '・ファイルオープン失敗。
'; exit; } //ファイルのロック if(flock($filepoint, LOCK_EX)){ //echo '・ファイルロック完了。
'; }else{ //echo '・ファイルロック失敗。
'; exit; } //ファイルへ書き込み $sWriteContents = $json; fwrite($filepoint,$sWriteContents); }else{ //echo '・ファイルの存在確認完了。
'; //ファイルを作成 if(touch($sPath)){ //echo '・ファイル作成完了。
'; }else{ //echo '・ファイル作成失敗。
'; exit; } //ファイルのパーティションの変更 if(chmod($sPath,0755)){ //echo '・ファイルパーミッション変更完了。
'; }else{ //echo '・ファイルパーミッション変更失敗。
'; exit; } if($filepoint = fopen($sPath,"w")){ //echo '・ファイルオープン完了。
'; }else{ //echo '・ファイルオープン失敗。
'; exit; } //ファイルのロック if(flock($filepoint, LOCK_EX)){ //echo '・ファイルロック完了。
'; }else{ //echo '・ファイルロック失敗。
'; exit; } //ファイルへ書き込み $sWriteContents = $json; fwrite($filepoint,$sWriteContents); } //ファイルのアンロック if(flock($filepoint, LOCK_UN)){ //echo '・ファイルアンロック完了。
'; }else{ //echo '・ファイルアンロック失敗。
'; exit; } //ファイルを閉じる if(fclose($filepoint)){ //echo '・ファイルクローズ完了。
'; }else{ //echo '・ファイルクローズ失敗。
'; exit; } // ////本番用の複製//// // $sPath = '../wp/json/'.$sFileName; // if(file_exists($sPath)){ // //echo '・指定ファイルが既に存在しております。'; // //exit; // //ファイルをオープン // if($filepoint = fopen($sPath,"w")){ // //echo '・ファイルオープン完了。
'; // }else{ // //echo '・ファイルオープン失敗。
'; // exit; // } // //ファイルのロック // if(flock($filepoint, LOCK_EX)){ // //echo '・ファイルロック完了。
'; // }else{ // //echo '・ファイルロック失敗。
'; // exit; // } // //ファイルへ書き込み // $sWriteContents = $json; // fwrite($filepoint,$sWriteContents); // }else{ // //echo '・ファイルの存在確認完了。
'; // //ファイルを作成 // if(touch($sPath)){ // //echo '・ファイル作成完了。
'; // }else{ // //echo '・ファイル作成失敗。
'; // exit; // } // //ファイルのパーティションの変更 // if(chmod($sPath,0755)){ // //echo '・ファイルパーミッション変更完了。
'; // }else{ // //echo '・ファイルパーミッション変更失敗。
'; // exit; // } // if($filepoint = fopen($sPath,"w")){ // //echo '・ファイルオープン完了。
'; // }else{ // //echo '・ファイルオープン失敗。
'; // exit; // } // //ファイルのロック // if(flock($filepoint, LOCK_EX)){ // //echo '・ファイルロック完了。
'; // }else{ // //echo '・ファイルロック失敗。
'; // exit; // } // //ファイルへ書き込み // $sWriteContents = $json; // fwrite($filepoint,$sWriteContents); // } // // //ファイルのアンロック // if(flock($filepoint, LOCK_UN)){ // //echo '・ファイルアンロック完了。
'; // }else{ // //echo '・ファイルアンロック失敗。
'; // exit; // } // //ファイルを閉じる // if(fclose($filepoint)){ // //echo '・ファイルクローズ完了。
'; // }else{ // //echo '・ファイルクローズ失敗。
'; // exit; // } echo ""; } add_action ( 'jsonsave_auto_function_cron', 'jsonsave_auto_function' ); // cron登録処理 add_filter( 'cron_schedules', 'cron_add_30min' ); function cron_add_30min( $schedules ) { $schedules['30min'] = array( 'interval' => 1*60, 'display' => __( 'Once every 30 minutes' ) ); return $schedules; } if ( !wp_next_scheduled( 'jsonsave_auto_function_cron' ) ) { // 何度も同じcronが登録されないように date_default_timezone_set('Asia/Tokyo'); wp_schedule_event( time(), '30min', 'jsonsave_auto_function_cron' ); } function json_load_Func($sr,$sya,$waku){ $filepaths = file_search(JSON_DATA_BASE_DIR); $json = file_get_contents($filepaths[0]); // $json_date = $price = preg_replace('/[^0-9]/', '', $sr); // $json_date = substr($json_date, 0,8); // $day = new DateTime($json_date); // $json_date = $day->format('Y-m-d'); // $url='http://202.6.247.117/api/v1/infos?open_day='.$json_date; // $option = [ // CURLOPT_RETURNTRANSFER => true, //文字列として返す // CURLOPT_TIMEOUT => 5, // タイムアウト時間 // CURLOPT_SSL_VERIFYPEER => false, // CURLOPT_SSL_VERIFYHOST => false, // CURLOPT_CUSTOMREQUEST => 'GET' // ]; // $ch = curl_init($url); // curl_setopt_array($ch, $option); // $json = curl_exec($ch); // $info = curl_getinfo($ch); // $errorNo = curl_errno($ch); // // OK以外はエラーなので空白配列を返す // if ($errorNo !== CURLE_OK) { // // 詳しくエラーハンドリングしたい場合はerrorNoで確認 // // タイムアウトの場合はCURLE_OPERATION_TIMEDOUT // // var_dump($errorNo); // return []; // } // // 200以外のステータスコードは失敗とみなし空配列を返す // if ($info['http_code'] !== 200) { // // var_dump($info['http_code']); // return []; // } // 文字列から変換 $obj = json_decode($json , true); $SRdata = null; $racer_status = array(); foreach ($obj as $key1 => $value1) {//ここ会場ごと $jyo = sprintf('%02d', $value1['vel_code']); $cancel_race = $value1['cancel_race_num']; foreach ($value1['races'] as $key2 => $value2) {//ここレースごと $race_no = sprintf('%02d', $value2['race_num']); $date = new DateTime($value2['race_start_at']); $race_date = $date->format('Ymd'); foreach ($value2['athletes'] as $key3 => $value3) {//ここ車番ごと $SRdata = "SR".$race_date.$jyo.$race_no; if($sr === $SRdata && $sya == $value3['sha_num'] && $waku == $value3['waku_num']){ $racer_status = array('欠車'=>$value3['entry_status'],'ギア'=>$value3['gear_ratio']); } } } } //curl_close($ch); echo ""; return $racer_status; } function json_cancelracelist_Func($sr){ $filepaths = file_search(JSON_DATA_BASE_DIR); $json = file_get_contents($filepaths[0]); $obj = json_decode($json , true); $cancel_list = ''; return $cancel_list; } //処理稼働時間9時~23時フラグ function NowTimeFlag_Func(){ $flag = NULL; date_default_timezone_set('Asia/Tokyo'); $date = new DateTime('now'); $date = $date->format('H:i:s');//06:00:00 if(strtotime($date) >= strtotime('09:00:00') && strtotime($date) <= strtotime('23:00:00')){ //9時~23時 $flag = "ok"; }else{ $flag = "no"; } return $flag; } ////////////////////////////////////////////////////////////////// ?>