GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo obtener la consola de Linux $ COLUMNS y $ ROWS desde PHP cli?

$COLUMNS y $LINES probablemente no se esté exportando a su programa. Puedes ejecutar export LINES COLUMNS antes de ejecutar su aplicación, o puede obtener esta información directamente:

$fp=popen("resize", "r");
$b=stream_get_contents($fp);
preg_match("/COLUMNS=([0-9]+)/", $b, $matches);$columns = $matches[1];
preg_match("/LINES=([0-9]+)/", $b, $matches);$rows = $matches[1];
pclose($fp);

Otra opción de shell que no requiere análisis es tput :

$this->settings['screen']['width'] = exec('tput cols')
$this->settings['screen']['height'] = exec('tput lines')

No sé, por qué uno debería necesitar grep para analizar stty salida:tiene una opción separada para informar "el número de filas y columnas según el kernel".

De una sola línea, sin manejo de errores:

list($rows, $cols) = explode(' ', exec('stty size'));

En una sola línea, asuma que ambas filas/columnas son 0 en caso de problemas y elimine cualquier salida de error:

list($rows, $cols) = explode(' ', @exec('stty size 2>/dev/null') ?: '0 0');

Usa PHP ncurses_getmaxyx función.

ncurses_getmaxyx (STDSCR, $Height, $Width)

ANTERIORMENTE:

http://php.net/manual/en/function.getenv.php

$cols = getenv('COLUMNS');
$rows = getenv('ROWS');

La forma "correcta" es probablemente llamar al TIOCGSIZE ioctl para obtener la idea del kernel del tamaño de la ventana, o llame al comando stty -a y analice los resultados para rows y columns


Linux
  1. Cómo obtener su geolocalización desde la línea de comandos en Linux

  2. Cómo instalar y configurar Nginx desde el origen en Linux

  3. Cómo solucionar el problema del protocolo Curl TLS SSL desde CLI y código PHP

  4. Cómo obtener el ancho de la ventana de la consola de Linux en Python

  5. ¿Cómo usar sched_getaffinity y sched_setaffinity en Linux desde C?

Cómo obtener el nombre de archivo de la ruta completa en Linux

Cómo instalar y configurar la consola web de Cockpit en un sistema Linux

Cómo instalar y usar WP CLI en Linux

Cómo instalar LAMP en Ubuntu 15.10 (Linux, Apache, MySQL y PHP)

Cómo instalar y configurar CLI angular en distribuciones de Linux

Cómo instalar y usar PHP Composer en distribuciones de Linux