[実験]エクセルのシフト表をGoogleカレンダーに反映[してみる]その4

乙です。
さて、今回はPHPでgoogleカレンダーへのデータ更新をします。
とりあえず、google-api-php-client-x.x.xを使用します。適当に設置してください。
あと、もろもろgoogleのapiを使用するためのことをしておいてください。

続きを読む

スポンサーリンク

[メモ]PHP7.2.xインストール[memo]

おはこんちは
そろそろ、PHP7.2.x系を入れようかなと思ってから一月くらい・・・
※かなりハマりまくった・・・orz

 

 

EPELレポジトリの追加

rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

remiレポジトリの追加

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

libzipインストール
yum –enablerepo=remi install libzip-last-devel
競合している場合、一旦yum remove libzip libzip-develを実行 続きを読む
スポンサーリンク

[メモ]祝日の取得[覚書]

お久しぶりです。

今回は、googleカレンダーから日本の祝日をプログラムで取得してみたいと思います。

実際は、cronなどで月一回程度の頻度でデータの取得を行い、新規データの登録と変更分の更新をする感じで行うと、毎年行っているような祝日のデータ登録を行う必要がなくなると思います。

続きを読む

スポンサーリンク

[メモ]libxl:PHP7でExcelを扱うphp_excelのインストール[libxlは有料]

LibXL

今回は有料のlibxlをPHP7で使うためにしたことのメモです。
※PHPExcelより全然メモリ喰わないし、グラフとかのオブジェクトもそのまま行けるのでちょーいいです。

ダウンロードページ
購入ページ(※1ライセンス$199)

今回ダウンロードしたのは現時点で最新のLinux版3.8.0です。

セットアップページのPHP extension (3rd-party, open-source)からPHPへのセットアップ方法のページへとび、そちらのページの「extension for PHP」のリンクからPHPのエクテンションのサイトへ行けます。
PHP extension (3rd-party, open-source)のページではPHP5でのセットアップ方法が書かれています。
最初この方法でexcel.soを作ってみましたがPHP7では上手く動きませんでした。

続きを読む

スポンサーリンク

[メモ]アニメーションgifのチェック[php]

おひさしぶりです。

タイトルの通り、チェック対象のファイルがアニメーションgifかそうじゃないかのチェックプログラムを・・・

で、とほほさんのGIFフォーマットの詳細を参考にしてみました。

/**
 * アニメーションGIFかチェック
 *
 * @params string $img_file   画像ファイル(画像ファイルまでのPATH付き)
 * @return bool               true:アニメーションGIF false:それ以外
 */
function checkAnimationGif($img_file) {
    if (!file_exists($img_file)) {
        // ファイルが無い
        return false;
    }
    if (!($fp = fopen($img_file, "rb"))) return false;
    $head = fread($fp, 6);
    if (!preg_match("/^GIF89a/", $head)) {
        // GIF89a 以外
        return false;
    }
    // カウント初期化
    $gce_cnt = 0;
    while (!feof($fp)) {
        if (bin2hex(fread($fp, 1)) != "21") continue;
        switch (bin2hex(fread($fp, 2))) {
            /*
            // 2014-11-06 削除
            case "ff0b": // Application Extension
                fclose($fp);
                return true;
                break;
            */
            case "f904": // Graphic Control Extension
                $gce_cnt++;
                if ($gce_cnt > 1) {
                    fclose($fp);
                    unset($gce_cnt);
                    return true;
                }
                break;
        }
    }
    fclose($fp);
    unset($gce_cnt);
    return false;
}

多分これで、チェックできるはず・・・

追記:2014-11-06
adobeのフォトショップで作成されたgifでApplication Extensionが含まれる通常のgifが作成されていることがわかりましたので
上記のソースを修正しました。

スポンサーリンク