Location: PHPKode > scripts > Console > console/console.class.php
<?php
class console 
{
	const TARGET_OUTPUT = "php://output";
	const TARGET_STDOUT = "php://stdout";
	const TARGET_STDERR = "php://stderr";
	const TARGET_STDIN  = "php://stdin";
    
    protected static $color = array(
        'gray'          => 30,
        'black'         => 30,
        'red'           => 31,
        'green'         => 32,
        'yellow'        => 33,
        'blue'          => 34,
        'magenta'       => 35,
        'cyan'          => 36,
        'white'         => 37,
        'default'       => 39
    );
    
    protected static $bgcolor = array(
        'gray'       => 40,
        'black'      => 40,
        'red'        => 41,
        'green'      => 42,
        'yellow'     => 43,
        'blue'       => 44,
        'magenta'    => 45,
        'cyan'       => 46,
        'white'      => 47,
        'default'    => 49,
    );
    
    protected static $style = array( 
        'default'           => '0',
    
        'bold'              => 1,
        'faint'             => 2,
        'normal'            => 22,
        
        'italic'            => 3,
        'notitalic'         => 23,
        
        'underlined'        => 4,
        'doubleunderlined'  => 21,
        'notunderlined'     => 24,
        
        'blink'             => 5,
        'blinkfast'         => 6,
        'noblink'           => 25,
        
        'negative'          => 7,
        'positive'          => 27,
    );
    
   	private $text			=  "";
    
    // Outputing
    public function draw($text='')
    {
    	echo $this->text.$text;
    	$this->text = '';
    	return $this;
    }
    
    // Input
    public function readNumeric()
    {
    	$stdin = fopen('php://stdin', 'r');
    	$line = trim(fgets($stdin));
    	fscanf($stdin, "%d\n", $number);
  		return $number;
    }
    public function readString()
    {
    	$stdin = fopen('php://stdin', 'r');
    	$line = trim(fgets($stdin));
  		fscanf($stdin, "%s\n", $string);
  		return $string;
    }
    
    // Sound
    public function beep()							{ echo "\007"; return $this; }
    public function setSoundHerz($herz=100)			{ echo "\033[10;{$herz}]"; return $this; }
    public function setSoundLong($milliseconds=500)	{ echo "'033[11;{$milliseconds}]"; return $this; }
    
    // Cursor position
	public function toPos( $row = 1, $column = 1 )	{ echo "\033[{$row};{$column}H"; return $this; }
    public function cursorUp($lines=1)				{ echo "\033[{$lines}A"; return $this; }
    public function cursorDown($lines=1)			{ echo "\033[{$lines}B"; return $this; }
    public function cursorRight($columns=1)			{ echo "\033[{$columns}C"; return $this; }
    public function cursorLeft($columns=1)			{ echo "\033[{$columns}D"; return $this; }
    
    // Text colors
    public function setStyle($style='default')		{ $this->text .= "\033[".$this->style[$style]."m"; return $this; }
    public function setColor($color='default')		{ $this->text .= "\033[".$this->color[$color]; return $this; }
    public function setBgColor($color='default')	{ $this->text .= "\033[".$this->bgcolor[$color]; return $this; }
    
    // Application
    public function setAppName($name='')			{ echo "\033]0;{$name}\007"; return $this; }
    public function setTitle($name='')				{ echo "\033]2;{$name}\007"; return $this; }
    public function setIcon($name='')				{ echo "\033]1;{$name}\007"; return $this; }
    
    // Other
    public function clear()							{ echo "\033c"; return $this; }
    public function console($num=1)					{ echo "\033[12;{$num}]"; return $this; }
}
?>
Return current item: Console