深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 38|回复: 2
打印 上一主题 下一主题

在cmd里执行php脚本时,可不可以让输出变颜色?

[复制链接]

228

主题

466

帖子

2184

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2184
跳转到指定楼层
楼主
发表于 2025-3-14 00:16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[size=16.002px]在CMD中执行PHP脚本时,可以通过ANSI转义序列来改变输出颜色。以下是一个简单的示例:
php
[backcolor=rgba(var(--ds-rgba-transparent))]复制




<?php// 定义颜色代码define('COLOR_RED', "\033[31m");define('COLOR_GREEN', "\033[32m");define('COLOR_YELLOW', "\033[33m");define('COLOR_BLUE', "\033[34m");define('COLOR_RESET', "\033[0m");// 输出带颜色的文本echo COLOR_RED . "这是红色文本" . COLOR_RESET . PHP_EOL;echo COLOR_GREEN . "这是绿色文本" . COLOR_RESET . PHP_EOL;echo COLOR_YELLOW . "这是黄色文本" . COLOR_RESET . PHP_EOL;echo COLOR_BLUE . "这是蓝色文本" . COLOR_RESET . PHP_EOL;?>

说明:
  • \033[ 是ANSI转义序列的开始。
  • 31m 到 34m 分别代表红色、绿色、黄色和蓝色。
  • \033[0m 用于重置颜色。

注意事项:
  • CMD默认不支持ANSI转义序列,需Windows 10及以上版本,并启用“启用虚拟终端处理”功能。
  • 在较旧版本的Windows中,可能需要使用第三方工具(如ANSICON)来支持ANSI转义序列。

启用虚拟终端处理(Windows 10及以上):
  • 打开CMD或PowerShell。
  • 执行以下命令:
    cmd
    [backcolor=rgba(var(--ds-rgba-transparent))]复制




    reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1
  • 重启CMD或PowerShell。

[size=16.002px]启用后,ANSI转义序列将生效,输出文本可以显示颜色。
回复

使用道具 举报

228

主题

466

帖子

2184

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2184
沙发
 楼主| 发表于 2025-3-14 00:17:00 | 只看该作者
reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1
回复 支持 反对

使用道具 举报

228

主题

466

帖子

2184

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2184
板凳
 楼主| 发表于 2025-3-14 00:20:13 | 只看该作者
CMD执行PHP脚本输出颜色设置方法
在ANSI转义序列中,可以通过不同的代码来设置文本颜色和背景颜色。以下是常见的颜色代码:

文本颜色(前景色)
代码        颜色
30        黑色
31        红色
32        绿色
33        黄色
34        蓝色
35        品红(紫色)
36        青色
37        白色
39        默认颜色(终端默认前景色)
背景颜色
代码        颜色
40        黑色
41        红色
42        绿色
43        黄色
44        蓝色
45        品红(紫色)
46        青色
47        白色
49        默认颜色(终端默认背景色)
亮色(高亮文本颜色)
在文本颜色代码的基础上加 1(或使用 90 到 97 的代码):

代码        颜色
90        亮黑色
91        亮红色
92        亮绿色
93        亮黄色
94        亮蓝色
95        亮品红
96        亮青色
97        亮白色
亮色背景
在背景颜色代码的基础上加 10(或使用 100 到 107 的代码):

代码        颜色
100        亮黑色背景
101        亮红色背景
102        亮绿色背景
103        亮黄色背景
104        亮蓝色背景
105        亮品红背景
106        亮青色背景
107        亮白色背景
组合使用
可以将文本颜色和背景颜色组合使用。例如:

php
复制
echo "\033[31;42m红色文本,绿色背景\033[0m";
重置颜色
使用 \033[0m 重置所有颜色和样式。

完整示例
php
复制
<?php
// 文本颜色
echo "\033[31m红色文本\033[0m" . PHP_EOL;
echo "\033[32m绿色文本\033[0m" . PHP_EOL;
echo "\033[33m黄色文本\033[0m" . PHP_EOL;
echo "\033[34m蓝色文本\033[0m" . PHP_EOL;

// 背景颜色
echo "\033[37;41m白色文本,红色背景\033[0m" . PHP_EOL;
echo "\033[30;46m黑色文本,青色背景\033[0m" . PHP_EOL;

// 亮色文本
echo "\033[91m亮红色文本\033[0m" . PHP_EOL;
echo "\033[94m亮蓝色文本\033[0m" . PHP_EOL;

// 亮色背景
echo "\033[97;101m亮白色文本,亮红色背景\033[0m" . PHP_EOL;
?>
注意事项
兼容性:确保终端支持ANSI转义序列(如Windows 10及以上版本的CMD或PowerShell)。

重置颜色:使用 \033[0m 重置颜色,避免后续输出受到影响。

通过这些代码,你可以在CMD中为PHP脚本的输出添加丰富的颜色效果!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-4 21:30 , Processed in 0.028589 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表