コピペのスニペ・PHP「CLIのクエリ連動」

2015年3月7日

PHP プログラミング

バッチ処理でPHPを直接実行させる場合や、コマンドラインでPHPプログラムを実行する時に、argsをrequestクエリとして受け取る処理をすることで、CLIでもapacheでもどちらでも使えるハイブリッド・プログラムになる。 僕は仕事でよく使うので、メモっておきます。

コード

//CLIの場合を判定する if(!isset($_SERVER['SCRIPT_URI'])){ //argsを全てrequestに挿入する for($i=0,$c=count($argv);$i<$c;$i++){ if(!$argv[$i]){continue;} //各クエリの分解 $q = explode("=",$argv[$i]); //「key=value」形式になっていない場合は処理しない if(count($q)<2){continue;} //keyがブランクの場合は処理しない if($q[0]==''){continue;} //requestに格納 $key = $q[0]; $val = join("=",array_slice($q,1)); $_REQUEST[$key]=$val; } }

注意点

CLIを実行するので、requestにはデータが入っていないはずですが、もしも入っている状態であれば、keyが被った場合は、上書きされてしまうので、気になる人は、上書き禁止のcontinueを挿入してください。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ