私は現在、PHP用の新しいきちんとしたCLIライブラリを作成していますが、それが実行されているコンソールの幅/高さを把握したいと思います。
$ _ENV、exec( "echo $ COLUMNS")などを掘り下げてみましたが、結果が得られませんでした。bashコマンドラインでecho $COLUMNSまたは$ROWSと入力すると、値がきれいに表示されます。
PHPからこの値にアクセスするには何をする必要がありますか?
私は次のような.shスクリプトを使用しています:
#!/usr/bin/php -q
<?php
require_once('lib.commandline.php');
class HelloWorld extends CommandLineApp {
public function main($args) {
echo('O, Hai.');
}
}
最終的な解決策を更新する:
public function getScreenSize() {
preg_match_all("/rows.([0-9]+);.columns.([0-9]+);/", strtolower(exec('stty -a |grep columns')), $output);
if(sizeof($output) == 3) {
$this->settings['screen']['width'] = $output[1][0];
$this->settings['screen']['height'] = $output[2][0];
}
}