В настоящее время я создаю новую аккуратную библиотеку CLI для PHP, и я хотел бы выяснить ширину / высоту консоли, в которой она работает.
Я пробовал много вещей, таких как копание в $ _ENV, exec ("echo $ COLUMNS") и т. Д., Но безрезультатно, хотя, если я введу echo $ COLUMNS или $ ROWS в командной строке bash, он аккуратно отобразит значение.
Что мне нужно сделать, чтобы получить доступ к этому значению из 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];
}
}