一時間に一回だけAPIを実行するPHPのオブジェクトファイル

2020.01.10

Logging

あるユーザーが公開しているプログラミングを参考にして
オブジェクト化してみた。
参考にしたサイトのリンクは下記になります。
phpでapiを切りの良い時刻までキャッシュする

尚、動作環境はPHP5.6以上になります、と言いつつ
動作テストは行っていないので、もしかしたらエラーで動かないかも?
動作内容はJSONファイルの更新時間( hour )と
サーバの 時間 ( hour ) を比べ差異があれば
APIを呼び出し結果をJSONファイルとして上書き保存します。
そのため、一時間に一回だけ更新処理が走ります。
(※CRONで設定していれば)

結果がJSONで返ってこない場合などは可変して頂いて構いません。
もともと自分の案でもないので…。

PHPファイルのダウンロードはこちらから
https://zip358.com/tool/timeKeeper/timeKeeper.zip

ソースコードはこちらになります(* ̄(エ) ̄*)

<?php
class timeKeeper{
    public static $json_filename = "abc.json";
    public static $json_api_url = "https://example.com/api/?v=1.333";
    public static function judge(){
        $server_timestamp = time();
        $server_time = date('Y/m/d H',$server_timestamp);
        $json_timestamp = filemtime(self::$json_filename);
        $json_time = date('Y/m/d H',$json_timestamp);
        return $server_time === $json_time ? true : false;
    }
    public static function api_run($opts=null){
        if(is_null($opts))return false;
        $context = stream_context_create($opts);
        $json = file_get_contents(self::$json_api_url, false, $context);
        $fp = fopen(self::$json_filename, "w");
        fwrite($fp,$json);
        fclose($fp);
        return self::json_load();
    }
    public static function json_load(){
        $json = file_get_contents(self::$json_filename);
        return json_decode($json, true);
    }
    public static function check(){
        if(file_exists(self::$json_filename)){
            return self::judge();
        }
        return false;
    }
}
///使用例
if(timeKeeper::check()){
   $json = timeKeeper::json_load();
}else{
    $opts = array(
        "http"=>array(
        "method" => "POST",
        "header" => "User-Agent: php"
        )
    );
    $json = timeKeeper::api_run($opts);
}

タグ

5.6, API, class, cron, hour, json, lt, php, public, timeKeeper, エラー, オブジェクト, キャッシュ, コード, こちら, サーバ, サイト, ソース, ダウンロード, ため, テスト, ファイル, プログラミング, ユーザー, リンク, , 上書き, 下記, 保存, 公開, 内容, 処理, 動作, 参考, 場合, 実行, 差異, 時刻, 時間, 更新, , 環境, 結果, 自分, 設定,

datetimepicker-master::でぃーたたいむぴっかーマスター!!日本語化

2017.10.14

Logging


datetimepicker-masterが日本語化できない。時刻だけ表示したい、カレンダーだけ表示したいなどに
実は対応しているのだけど、バージョンがアップしてからそのやり方が変わっていて
ググってもそのやり方が出てこないので、じぶんが記載してみました。
ソースを読まないと見えてこないものが有るですが、ぶっちゃけ他人のソースを読むのは面倒くさいでもプラグインは使用したい方。
下記のコードで日本語化可能です。
カレンダー非表示可能です。
時刻非表示可能です。
ちなみにソースを見るとdefault_options(でふぇるとおぷしょん)のオブジェクトで
その他、操作も可能ですのでソースを読みたい人は読んでみてください。
ちなみにちなみにdatetimepicker-masterプラグインはこちらからダウンロード可能です。
https://github.com/xdan/datetimepicker
サンプルプログラムはこちらです。
https://zip358.com/tool/datetimepicker

<!doctype html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>zip358.com:datetimepicker日本語</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=10.0, user-scalable=yes">
  <link rel="stylesheet" href="./datetimepicker-master/jquery.datetimepicker.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="./datetimepicker-master/build/jquery.datetimepicker.full.js"></script>
  <script>
      $(function(){
          $.datetimepicker.setLocale("ja");//にほんご
          $("#dtp").datetimepicker({
              format:"Y/m/d H:i",
              formatTime:"H"//時間だけ(分:非表示)
          });
          $("#dtp2").datetimepicker({
              format:"Y/m/d",
              timepicker:false//時刻非表示
          });
          $("#dtp3").datetimepicker({
              format:"H:i",
              datepicker:false//カレンダー非表示
          });
      });
  </script>
</head>
<body>
    <input id="dtp" type="text">
    <input id="dtp2" type="text">
    <input id="dtp3" type="text">
    <div id="ana">
    </div>
</body>
</html>

タグ

com, datetimepicker, datetimepicker-master, default, github, https, options, xdan, アップ, オブジェクト, カー, カレンダー, コード, こち, こちら, サンプル, じぶん, ソース, その他, タイム, ダウンロード, バージョン, ふぇると, プラグイン, プログラム, マスター, もの, やり方, 下記, , 他人, 使用, 可能, 対応, 操作, , 日本語化, 時刻, 表示, 記載,

大阪の観光地へ行ってきた!!

2016.10.12

Logging

先日、大阪の観光地を巡ってきました。
どこもコミコミなので人混みに酔うひとは要注意。
三連休の中休みともあって混み具合はまぁまぁ混んでいた方だと
思います。今回、巡った箇所は通天閣、道頓堀、心斎橋、かに道楽とかです。
この中で要注意があるとすれば、通天閣の展望台へいくことです。
女子同士とか男同士とかで行くと「まじでぇ?」って事になるので
必ず、男女混合かカップルで行くことをおすすめします。
まぁ行けばわかります。
ちなみにお気に入りの景色は、道頓堀だったりします。
なんか良かったです。
大阪は今回で3回目ぐらいしか足を運んでいないのですが
一つ気付いた事が・・・
電車が東京の電車に比べて横揺れが少ない・・・なっていう感じがしました。
なんか電車の乗り心地が良いなって思いました。
東京と高知の汽車を比べると断然、東京のほうが乗り心地は良いです。
東京は本数が多い分、時刻に合わすためガンガンいこうぜ!
って具合になっている感じがしますが、大阪は安全重視ぽっい気がしましたね。
最後にiPhoneで撮影した写真を載せときます。

タグ

, iPhone, おすすめ, お気に入り, カップル, かに道楽, こと, コミコミ, ため, どこ, ひと, まし, 一つ, 三連, , 中休み, 乗り心地, , 人混み, 今回, , 先日, 具合, , 同士, 大阪, 女子, 安全, 展望台, 心斎橋, 感じ, , 時刻, 景色, 最後, 本数, 東京, 横揺れ, , 汽車, 注意, 混合, 男同士, 男女, 箇所, 観光地, , 通天閣, 道頓堀, 重視, 電車, 高知,

Windows10のコンピューターが毎日特定の時刻にスリープ状態から復帰するよ!?なぜ

2016.03.12

Logging

Windows10のコンピューターが毎日特定の時刻にスリープ状態から復帰するよ!?なぜ
ANSWER

Windows Media Center の更新機能が自動的に開始されるときに発生します。ということです。

この問題を解決するには下記のURLをクリックして、手順に従ってスケジューラから変更等を行ってください。

https://support.microsoft.com/ja-jp/kb/979878

このようにスリープ状態から勝手に起動するようなソフトがインストールされている場合があるので注意してください。今回は、マイクロソフト社のソフトでしたが他のソフトでもこのような設定になっている場合があるので、気をつけてください。また、スケジュールに設定する事によって起動時にソフトを起動することや曜日によってソフトを起動するなどの設定するなどの設定を追加することも可能です。

タグ

10, 979878, ANSWER, Center, com, https, ja-jp, kb, media', microsoft, support, url, Windows, インストール, クリック, こと, コンピューター, スケジューラ, スケジュール, スリープ, ソフト, とき, マイクロソフト社, 下記, , 今回, , 勝手, 可能, 問題, 場合, 変更等, 復帰, 手順, 時刻, 曜日, 更新, 機能, 毎日, , 注意, 特定, 状態, 発生, 解決, 設定, 起動, 追加, 開始,