タグ: PHP

  • PHPで、goo.glの短縮URLをゲット!

    @taikikenの「URLを短く by Google」ってエントリーに触発されての備忘録です。

    JSONでPOSTしないといけないってのがミソですな。

    以下ソース。

     array(
    		'method'  => 'POST',
    		'header'  => $header,
    		'content' => $json_data
    	)
    );
    
    echo file_get_contents('https://www.googleapis.com/urlshortener/v1/url', FALSE, stream_context_create($context));
    
  • Twitter APIの動作を確認できるtwitSandboxを公開しました。OAuthにも対応済み!!

    以前から「Twitter APIの動作確認が簡単にできるツール」ってことで、Twitter API Viewerというツールがあったんですけど、Twitter APIのBasic認証が廃止されてからの対応がストップしてたんですよね。

    なので、自分で作ってみました。

    twitSandbox <http://twitsandbox.com/>

    独自ドメインでの公開というところからも力の入り具合がわかりますwww

    (さらに…)

  • 「1 – (0.2 + 0.7 + 0.1) = 1.1102230246252E-16」ってなんじゃい(゚Д゚)ゴルァ!

    いやマジハマりました……。

    健康系のサイトの開発の最中。健康のためにはいろんな数値があるわけですよ、なんか知らんけど。なので、ぜーーーんぶ足しても1に満たなかったら警告だしてね、って。まぁ親切じゃないですか。

    でも、ピッタリ1なのに、警告が出る。

    -bash-3.2$ php -a
    Interactive shell
    
    php > echo 1 - (0.2 + 0.7 + 0.1);
    1.1102230246252E-16
    

    深ーーーく調べてみたら、PHPのバグなのね、ってどこぞの外人さんも困ってたようです。

    Bug #51518 [Bgs]: should add to zero, but gets 1.1102230246252E-16 instead

    Description:
    ————
    Math error for code that should be returning zero, but instead returns 1.1102230246252E-16 on multiple systems using multiple versions of PHP.

    苦手な英語で読み進めたんだけど、まぁようするに、「浮動小数点数をちゃんと理解しろ」とのこと。
    ハイ、すんませんでした。

    //8桁まで監視しときゃ大丈夫だろ!?
    $shorten = round($goal - $value, 8);

    ってところで急場を凌いてみたんだけど、大丈夫かしらん。

  • 携帯用XHTMLでテキストボックスの初期入力モードを指定するPHPのヘルパー関数、かな?

    携帯サイトを作る上で、キャリア判定っつーのは避けて通れないんですが、テキストボックスの入力モード(全角ひらがなとか半角英数とか)ってのは、このサイトの方法に、istyleの記述を追加して、今まで使ってたんですねー。

    で、今朝までそれが通用してたんですけど、クレームの電話。

    「○○コード入力のところで、英数入力から数字入力に切り替えできないので入力できません!!ソフトバンクです!!」

    って、(゚Д゚)ハァ??

    実機(パナソニック)で再現しないので、またオペレーションミスだろーと穿ってみたけど、あららホントでした。シャープ製ソフトバンク機種の一部では入力「制限」モードになるらしいっす。
    こちらのサイトでも指摘があったようで、追記されてました。)

    フムフム、結局キャリア別に記述を変えないと実装できないんですねー。なるほどー。

    誰か晒してるだろーと思って調べてみたけど、ボクのGoogle能力の低さでは調べられず。
    ってわけで、PHPの自前ヘルパー的な関数作ってみました。

    (さらに…)

  • 2011年前半のWP3.2ではPHP5.2がサポート範囲だそうで。

    いやぁ別にいいんですけどね。

    ボクが仕事でもプライベートでも使う大半のサーバはCentOS5なんですけど、そのパッケージ管理yumで(普通に)インストールできるのはPHP5.1.6なんすよねー。

    ロリポとかさくらなんかのメジャーな共有サーバは問題ないんだろーけどさ。

    業務用の専用サーバとかだとどーするんだろか。

  • いまさらやけど、EZwebは<input type=”image”>が使えないのな。(追記:iモードもダメなんじゃん)

    ハマったメモ。

    EZwebでは、画像の送信ボタン(<input type="image">)が使えないみたい。10年もこの仕事やってて知らなくて恥ずかしい。歳はとっても学ぶことが尽きないのが腹立たしい。穴があったら潜って生き埋めにしたい。鳥になりたい……。

    <?php if (isEZweb()): ?>
    <input type="submit" src="hoge.<?=ext();?>" alt="応募" style="background-color:transparent;"/>
    <?php else: ?>
    <input type="image" src="hoge.<?=ext();?>" alt="応募"/>
    <?php endif; ?>

    isEZweb()ext()はオレオレfunctionなので気になさらずに。

    つか、これでいいんか?ホントにいいんか?(追記:結局ダメ)

    (さらに…)

  • PHPで、bit.lyの短縮URLをゲット!

    はい、備忘録です。

    API使えばできるとはわかってたけど、まさかの1行とは・・・・・・。

    以下ソース。

    <?php
    define('LONG_URL',     'https://blog.motoo.net/');
    define('BITLY_LOGIN',  'ユーザー名');
    define('BITLY_APIKEY', 'APIキー');
    
    $req = 'http://api.bit.ly/v3/shorten?login='. BITLY_LOGIN. '&apiKey='. BITLY_APIKEY. '&longUrl='. LONG_URL. '&format=txt';
    echo file_get_contents($req);
  • PHP4でoAuth。Twitter APIでつぶやく。「マチルダさ~ん」

    はい、備忘録です。

    PHPでTwitter APIのアプリケーションを作成するにあたって、PHP5であればPEARやPECLを捏ねくり回してシャシャっとつぶやけるんだけど、PHP4となるとこれまた・・・・・・。オレのメインクライアント様の環境はPHP4なんだよなぁ。

    PEARのOAuthはPHP5だと云うし、ネットでさらされている各種モジュールもPHP5。しまいにゃSignatureを作るのに必要なHMAC-SHA1、というかhash_hmacまでPHP5。Compatにも入ってないし。

    とりあえずがんばって晒すテスト。

    以下ソース。
    (さらに…)

  • PHPでTwitter API。oAuthを使ってリクエストトークンを取得する。

    はい、備忘録です。

    Twitter APIでアプリケーションを作成するにあたって、PEARを使った方法はいろいろあるんだけど、なんとなく内容を把握せずに使うのも気がひける、っつーことで、素のPHPコードで試してみる。

    特に、リクエストトークンを取得するまでが超面倒なんで、そこの部分だけ晒してみるテスト。
    Product Advertising APIを触ってて良かった。

    以下ソース。
    (さらに…)

  • PHPで32文字16進数のユニークIDの作成すには?

    はい。備忘録です。

    uniqid() でユニークなIDを作成するにあたって、同一ミリ秒で作成されるIDが重複するのを避けるためにmt_rand() の乱数を引数にいれて、さらに32文字16進数のハッシュを作成するのにmd5() で整いました!

    $uid = md5(uniqid(mt_rand(), TRUE));