В настоящее время я создаю новую опрятную библиотеку 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];
}
}