Archive for the ‘php’ Category

 

ダイジェスト認証、ベーシック認証でログインしたときのユーザー名を取得 php python

5月 20th, 2013

php <?php  echo $_SERVER['REMOTE_USER']; python wsgi def application(environ, start_response):  status = “200 OK”  response_headers = [("Content-type", "text/plain")]  start_response(status, response_headers)  return [environ['REMOTE_USER']]

Read full article | コメントは受け付けていません。

PHP5 typehinting タイプヒンティング型指定

4月 7th, 2013

http://php.net/manual/ja/language.oop5.typehinting.php function( Array $hairetsu ){ } function( AnyInterface $ahaha ){ } みたいな、関数の引数に、インターフェイス、オブジェクト、配列、( callable 関数) を型指定。

Read full article | コメントは受け付けていません。

php strtotime fix

4月 4th, 2013

前月や次月の計算が strtotime(‘+1 month’); strtotime(‘-1 month’); のとき、30日±されるので、2月末や3月初旬にズレます。 そこで strtotime(date(‘Y-m-1′) . ‘+1 month’); strtotime(date(‘Y-m-15′).’-1 month’); とやるのが良いそうです。

Read full article | コメントは受け付けていません。

redis-ranking sorted set の sort order desc が機能しない。。。

3月 19th, 2013

( redis 2.4ではダメでしたが、2.6は問題なく動きました。) sorted set で スコア昇順に並んでいるので by nosort desc で取得出来ると思っていたらなぜかできない。 SORT sortedsetlist BY nosort SORT sortedsetlist BY nosort DESC どちらも同じ・・・ ZREVRANGE sortedsetlist 0 -1 WITHSCORES とかはちゃんとスコア降順になります。 by nosort DESCは絶対行けると思ってたけどダメだった。。。 zcount を調べてlimitで後ろから順に取るという裏技もあるけど・・・ ZCOUNT sortedsetlist -inf +inf scoreをマイナスで入れるというパターンもあるけど・・・ それが一番分かりやすいかな・・・ と思ったけど2.4じゃなくて 2.6 だと行けるっぽいので 2.6 にしてみました。 scoreでsortできました!ということで sorted setでsort *** get *** を使いたい場合は、2.6が良いみたいです。 predisの書き方。predisのsortの書き方があまりなかったので残しておきます。 predisのところだけ $this->redis = new […]

Read full article | コメントは受け付けていません。

PHP Reflectionクラスで、変数からインスタンス生成

1月 8th, 2013

http://php.net/manual/en/reflectionclass.newinstanceargs.php // フルパスのみ有効 useはx $classname = ‘\Data\Catspirng\Base'; $reflect  = new ReflectionClass($classname); $instance = $reflect->newInstanceArgs($args); PHP Reflection http://jp2.php.net/manual/ja/book.reflection.php

Read full article | コメントは受け付けていません。

javascript hash number key | messagepack

12月 26th, 2012

phpでmessagepackして msgpack( array( 1=>100, 2=>40 )); をjavascript で unpackすると var key = 2 x[key] = 50 と同じような感じで x = [50] となってしまうようです。

Read full article | コメントは受け付けていません。

lz4 or snappy | lz4 php,python

11月 8th, 2012

http://code.google.com/p/snappy/ http://code.google.com/p/lz4/ snappy wikipedia http://en.wikipedia.org/wiki/Snappy_(software) lz4 komiyaさんのslideshare http://www.slideshare.net/komiyaatsushi/dsirnlp-3-lz4 lz4のほうが速度は速いらしいです。 とりあえずlz4入れてみます。 php と pythonで確認してみます。 php用 https://github.com/kjdev/php-ext-lz4 # git clone https://github.com/kjdev/php-ext-lz4.git . # phpize # ./configure # make # make install Installing shared extensions:     /usr/lib64/php/modules/ Installing header files:          /usr/include/php/ # echo “extension=lz4.so” > /etc/php.d/lz4.ini python用 http://pypi.python.org/pypi/lz4 # python-pip install lz4 Successfully […]

Read full article | コメントは受け付けていません。

MessagePack + PHP

11月 7th, 2012

今回使いたい基本的なツールを一通り確認しておく。 http://msgpack.org/ $ mkdir msgpack && cd msgpack $ git clone https://github.com/msgpack/msgpack-php.git . Initialized empty Git repository in /opt/installer/php/msgpack/.git/ remote: Counting objects: 514, done. remote: Compressing objects: 100% (135/135), done. remote: Total 514 (delta 404), reused 484 (delta 374) Receiving objects: 100% (514/514), 158.56 KiB | 133 KiB/s, done. Resolving deltas: 100% (404/404), done. $ […]

Read full article | コメントは受け付けていません。

mixi アプリ iOS 6 safari 3rd party cookie対応 | mixi.jp以外はリダイレクトしないように。

10月 14th, 2012

http://developer.mixi.co.jp/appli/ns/touch/cookie_enable_api/ iframeを呼ぶときにcreated_atをつけてstartを呼ぶと設定可に変わるということのようですね。 基本そのままですが、1点 set cookie処理の所を if( preg_match( ‘/^http:\/\/.*mixi.jp/’, $_GET['callback_url'] ) ){      // set cookie      setcookie(“created_at”, time(), time() + 2592000);      header(“Location: ” . $_GET['callback_url']);      exit; }else{ // error fuck } 変なリダイレクトに利用されると困るので こんな感じでcallback_urlにmixi.jp以外は何もしないようにしました。

Read full article | コメントは受け付けていません。

文字列を適当な添字をつけてとってみると? php

10月 4th, 2012

$ret = “789”; echo $ret["_"].”\n”; echo $ret["_aho"].”\n”; echo $ret["aho"].”\n”; echo $ret[0].”\n”; echo $ret[1].”\n”; $ret["_aho"]= 321; echo $ret.”\n”; さてどうなるでしょう? 7 7 7 7 8 3 389 こうなりました。 文字列を適当な添字をつけてとってみると一文字目を指すということのようです。 知らなかった。。。 配列のつもりで isset($ret["aho"])をやって文字列だとtrueを返していたので、あんだこれと

Read full article | コメントは受け付けていません。