PHP。 fputs(STDOUT, 'some short text')
!
有没有办法获得启动php脚本的终端的char长度?
如何使用fputs(STDOUT, "Some Error\n");
打印带有红色全线背景的文字?
答案 0 :(得分:2)
这将输出一行填充整个终端线的“=”字符。将适用于基于Linux的系统。
// 'tput cols' is a shell command which returns
// the number of chars to fill up the whole
// line of the current terminal.
$colCount = shell_exec('tput cols');
// Create the string filling the whole line
$string = str_repeat("=", intval($colCount));
// This is the way to print out text with coloured background
// 48, 5, 160 representing 256-colour of red, green and blue.
fputs(STDOUT, "\e[48;5;160m".$string."\e[0m");
哪些可以压缩到一行
fputs(STDOUT, "\e[48;5;160m".str_repeat("=", intval(shell_exec('tput cols')))."\e[0m");
Here's a script如果您想了解有关在终端上显示颜色的更多信息,请使用支持256色调色板的XTerm / ANSI兼容终端中的ANSI颜色代码。
答案 1 :(得分:1)
您可以使用Symfony \ Console,因为它具有完全符合您需要的Terminal
类:
composer require symfony/console
index.php
<?php
require __DIR__ . '/vendor/autoload.php';
$terminal = new Symfony\Component\Console\Terminal;
$terminalWidth = $terminal->getWidth();
var_dump($terminalWidth);
$ php index.php
int(80)