skillup

技術ブログ

PHP

PHPでのコンソール入力に関して

投稿日:2015年10月19日 更新日:

PHPはほとんどの場合、ブラウザでURLをたたいてWEBサーバーから呼び出されるパターンがほとんどです。

ところが、コンソールから使いたい場合などもあるでしょう。

コンソールから入力する場合、なんらかの引数を入力するとなると、標準入力を使って対話形式で読み込む方法と引数を直接渡す方法があります。

プログラム自体はものすごくシンプルなのでリンクの紹介をします。

標準入力の場合

PHPで標準入力を行う方法

PHPで標準入力

注意点としては何度も読み込む場合はwhileなどでループさせましょう。

ループ回数と出力メッセージタイミングをそろえるのが意外と難しい・・・

引数を使用する場合

PHPでコマンドライン実行時のパラメータ(引数)取得 - $argv、$argc

注意点としては

インデックスが1からスタート

$argvはインデックスが0ではなく1から始まります。

区切り

引数は半角スペースで自動的に区切られます。

sample.php  hoge  foo

とした時点で$argv[1]=hoge , $argv[2]=fooになります。

引数を入力するときはクオートを付けると1つの引数とみなされます。

sample.php  ”hoge  foo ”とやってしまうと $argv[1]=”hoge foo” になってしまいます。

-PHP

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ロケール情報について

本日、csvファイルを読み込む処理を行っていたんですが、コンソールからコマンドを打つと化けずに、ウェブ上で見ると化けるという現象が発生。 csv,プログラムともに文字コードがutf8で統一していること …

no image

インメモリデータベース redis

インメモリデータベースのredis(レディース)について。 キャッシュとして以前はmemcachedを使っていましたが、いろいろ多機能ということでredisをちょっと触ってみようかと。 Content …

no image

ob_startを使ったバッファリング出力

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_start …

no image

cakePHPのSSL設定+jQueryのError Loading Page

cakeで作ったアプリの認証画面でhttps環境だとError Loading Pageというエラーメッセージがでてしまい、ログインできないという事象が発生。 最初はSSLが原因かとおもっていたんです …

no image

CakePHP2系でのテスト処理

cakePHP2系でのテストの処理について。 PHPでのテストといえばphpunitが有名かと思います。cakePHPでも標準でphpunitがはいっており、ユニットテストを行うことができます。 Co …