这有点傻,但我之前想做的事情却永远无法理解。我有一个从命令行运行的PHP脚本。我想要一个小计时器动画让用户知道脚本仍然在运行。这就是我所拥有的:
while (1 == 1) {
echo '—';
usleep(100000);
echo '\';
usleep(100000);
echo '|';
usleep(100000);
echo '/';
}
但是如何让每个回显替换之前的角色?
答案 0 :(得分:1)
试试php ncurses扩展程序:
答案 1 :(得分:1)
您需要在每个字符前打印退格键,例如: -
echo '-';
usleep(100000);
echo "\b/";
请注意,您必须在此处使用双引号,否则转义序列将无效。
我相信你可以解决剩下的问题:)
如果“\ b”不起作用,请尝试: -
echo chr(8) . '/';
答案 2 :(得分:1)
您可以使用
echo "yourCharacter1\r";
usleep(100000);
echo "yourCharacter1\r";
或
echo "\ryourCharacter1\r";
usleep(100000);
echo "\ryourCharacter2\r";
\r
将光标发送回同一行的位置0。
你也可以尝试(在网上找到)
system("clear"); // before you echo new characters
或
passthru('clear'); // before you echo new characters