GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere la console Linux $ COLUMNS e $ ROWS da PHP cli?

$COLUMNS e $LINES probabilmente non viene esportato nel tuo programma. Puoi eseguire export LINES COLUMNS prima di eseguire la tua app, oppure puoi ottenere queste informazioni direttamente:

$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);

Un'altra opzione della shell che non richiede analisi è tput :

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

Non so, perché uno dovrebbe mai aver bisogno di grep per analizzare stty output:ha un'opzione separata per riportare "il numero di righe e colonne secondo il kernel".

Una riga, nessuna gestione degli errori:

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

Una riga, supponi che entrambe le righe/colonne siano 0 in caso di problemi e sopprimere qualsiasi output di errore:

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

Usa il PHP ncurses_getmaxyx funzione.

ncurses_getmaxyx (STDSCR, $Height, $Width)

PRECEDENTE:

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

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

Il modo "corretto" è probabilmente chiamare il TIOCGSIZE ioctl per avere un'idea del kernel sulla dimensione della finestra, oppure chiama il comando stty -a e analizza i risultati per rows e columns


Linux
  1. Linux:come ottenere il tempo di caricamento della pagina remota con un comando dal terminale?

  2. Come inviare un'e-mail con allegato e corpo da Linux

  3. Come installare e configurare Nginx dal sorgente su Linux

  4. Come risolvere il problema del protocollo SSL TLS Curl da CLI e codice PHP

  5. Come ottenere netmask da bash?

Come ottenere il nome del file dal percorso completo in Linux

Come installare e configurare la Console Web Cockpit su un sistema Linux

Come installare e utilizzare WP CLI su Linux

Come installare LAMP su Ubuntu 15.10 (Linux, Apache, MySQL e PHP)

Come installare e configurare Angular CLI su distribuzioni Linux

Come installare e utilizzare PHP Composer su distribuzioni Linux