您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

PHP Class Command Line Colors (bash,cmd)

来源:未知 责任编辑:责任编辑 发表时间:2014-04-20 03:36 点击:

 


 

color.class.php

<?php
 
    class Colors {
        private $foreground_colors = array();
        private $background_colors = array();
 
        public function __construct() {
            // Set up shell colors
            $this->foreground_colors['black'] = '0;30';
            $this->foreground_colors['dark_gray'] = '1;30';
            $this->foreground_colors['blue'] = '0;34';
            $this->foreground_colors['light_blue'] = '1;34';
            $this->foreground_colors['green'] = '0;32';
            $this->foreground_colors['light_green'] = '1;32';
            $this->foreground_colors['cyan'] = '0;36';
            $this->foreground_colors['light_cyan'] = '1;36';
            $this->foreground_colors['red'] = '0;31';
            $this->foreground_colors['light_red'] = '1;31';
            $this->foreground_colors['purple'] = '0;35';
            $this->foreground_colors['light_purple'] = '1;35';
            $this->foreground_colors['brown'] = '0;33';
            $this->foreground_colors['yellow'] = '1;33';
            $this->foreground_colors['light_gray'] = '0;37';
            $this->foreground_colors['white'] = '1;37';
 
            $this->background_colors['black'] = '40';
            $this->background_colors['red'] = '41';
            $this->background_colors['green'] = '42';
            $this->background_colors['yellow'] = '43';
            $this->background_colors['blue'] = '44';
            $this->background_colors['magenta'] = '45';
            $this->background_colors['cyan'] = '46';
            $this->background_colors['light_gray'] = '47';
        }
 
        // Returns colored string
        public function getColoredString($string, $foreground_color = null, $background_color = null) {
            $colored_string = "";
 
            // Check if given foreground color found
            if (isset($this->foreground_colors[$foreground_color])) {
                $colored_string .= "\033[" . $this->foreground_colors[$foreground_color] . "m";
            }
            // Check if given background color found
            if (isset($this->background_colors[$background_color])) {
                $colored_string .= "\033[" . $this->background_colors[$background_color] . "m";
            }
 
            // Add string and end coloring
            $colored_string .=  $string . "\033[0m";
 
            return $colored_string;
        }
 
        // Returns all foreground color names
        public function getForegroundColors() {
            return array_keys($this->foreground_colors);
        }
 
        // Returns all background color names
        public function getBackgroundColors() {
            return array_keys($this->background_colors);
        }
    }
 
?>

 

 

banner.php

<?php
include("color.class.php");

$colors = new Colors();

$a=$colors->getColoredString("   ##        ###       ", "light_red");

$x=$b=$colors->getColoredString("     c0d3b3:", "light_red","red");


$b=$colors->getColoredString("lost", "light_red","red");

$c=$colors->getColoredString("wolf      ", "light_red","red");
echo "\r\n";

echo  "                                                $x"."$b"."$c";

echo "\n\r\n\r\n\r\n\r\n";

echo  "                        ########                    #"."\n";
echo  "                    #################              #"."\n";
echo  "                  ######################          #"."\n";
echo  "                  #########################      #"."\n";
echo  "                ############################"."\n";
echo  "               ##############################"."\n";
echo  "               ###############################"."\n";
echo  "              ###############################"."\n";
echo  "              ##############################"."\n";
echo  "                              #    ########   #";
echo  "     \n               $a";echo"####   ##"."\n";
echo  "                                      ###   ###"."\n";
echo  "                                    ####   ###"."\n";
echo  "               ####          ##########   ####"."\n";
echo  "               #######################   ####"."\n";
echo  "                 ####################   ####"."\n";
echo  "                  ##################  ####"."\n";
echo  "                    ############      ##"."\n";
echo  "                       ########        ###"."\n";
echo  "                      #########        #####"."\n";
echo  "                    ############      ######"."\n";
echo  "                   ########      #########"."\n";
echo  "                     #####       ########"."\n";
echo  "                       ###       #########"."\n";
echo  "                      ######    ############"."\n";
echo  "                     #######################"."\n";
echo  "                     #   #   ###  #   #   ##"."\n";
echo  "                     ########################"."\n";
echo  "                      ##     ##   ##     ##"."\r\n\r\n";

?>

Colors class basic usage examples

<?php
 
    // Create new Colors class
    $colors = new Colors();
 
    // Test some basic printing with Colors class
    echo $colors->getColoredString("Testing Colors class, this is purple string on yellow background.", "purple", "yellow") . "\n";
    echo $colors->getColoredString("Testing Colors class, this is blue string on light gray background.", "blue", "light_gray") . "\n";
    echo $colors->getColoredString("Testing Colors class, this is red string on black background.", "red", "black") . "\n";
    echo $colors->getColoredString("Testing Colors class, this is cyan string on green background.", "cyan", "green") . "\n";
    echo $colors->getColoredString("Testing Colors class, this is cyan string on default background.", "cyan") . "\n";
    echo $colors->getColoredString("Testing Colors class, this is default string on cyan background.", null, "cyan") . "\n";
 
?>

All Foreground and background colors printed

 

 

 <?php
 
        // Create new Colors class
        $colors = new Colors();
 
        // Get Foreground Colors
        $fgs = $colors->getForegroundColors();
        // Get Background Colors
        $bgs = $colors->getBackgroundColors();
 
        // Loop through all foreground and background colors
        $count = count($fgs);
        for ($i = 0; $i < $count; $i++) {
            echo $colors->getColoredString("Test Foreground colors", $fgs[$i]) . "\t";
            if (isset($bgs[$i])) {
                echo $colors->getColoredString("Test Background colors", null, $bgs[$i]);
            }
            echo "\n";
        }
        echo "\n";
 
        // Loop through all foreground and background colors
        foreach ($fgs as $fg) {
            foreach ($bgs as $bg) {
                echo $colors->getColoredString("Test Colors", $fg, $bg) . "\t";
            }
            echo "\n";
        }
 
?>

//////////////////////////////////////////////////////////

ANSI Command Line Colors under Windows

 

Having colored text in the command line is a great help for spotting error or success messages. Unfortunately, those of us developing under Windows do not have this feature by default. Here’s how to enable it:

  1. Download ANSICON from http://adoxa.110mb.com/ansicon/index.html
  2. Extract the proper files (Depending on if you have a 32 or 64 bit machine) to c:\ansicon\ (For example). I have a 32 bit machine and hence I extracted the files from inside the x86 folder.
  3. Open a command line prompt and go to c:\ansicon, and then type “ansicon -i” without the quotes
  4. Done

You can now enjoy the colored output of PHPUnit for example.

 

 

摘自 lostwolf's blog

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • PHP测试
  • 十天学会php之第六天
  • 几种显示数据的方法的比较
  • 使用xmlhttp为网站增加域名查询功能
  • PHP+MYSQL+Javascript数据库查询结果的动态显示
  • 查找数组中指定键名的值
  • 用redis实现跨服务器session
  • 用新浪微博接口发送图片微博失败的原因
  • smarty局部缓存技术[源码分析]
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1