php - get tag name wordpress
Actualizar la salida de lĂnea de comandos, es decir, para el progreso (3)
Esto puede hacerse usando las Secuencias de escape de ANSI - vea aquí para obtener una lista.
En PHP, usará "/033"
cuando se indique ESC
en esa página.
En tu caso, podrías usar algo como esto:
echo "Progress : "; // 5 characters of padding at the end
for ($i=0 ; $i<=100 ; $i++) {
echo "/033[5D"; // Move 5 characters backward
echo str_pad($i, 3, '' '', STR_PAD_LEFT) . " %"; // Output is always 5 characters long
sleep(1); // wait for a while, so we see the animation
}
Me simplifiqué un poco, asegurándome de tener siempre 5 caracteres adicionales, y siempre mostrando la misma cantidad de datos, para siempre retroceder con el mismo número de caracteres ...
Pero, por supuesto, deberías poder hacer mucho más complicado, si es necesario ;-)
Y hay muchas otras secuencias de escape interesantes: los colores, por ejemplo, pueden mejorar bastante tu producción ;-)
Me gustaría poder mostrar un medidor de progreso en un simple script PHP en la línea de comando. En lugar de ver
Progress: 0%
Progress: 1%
etc...
Me gustaría simplemente cambiar el número y reemplazar el número anterior, al igual que hace git clone, por ejemplo Resolving deltas: 100% (8522/8522), done.
.
Mientras buscaba esto encontré la misma pregunta respondida en Perl , que es perfecta, pero no pude encontrarla en PHP. ¿Es posible? Si no, recurriré a C.
Gracias
Actualización: si alguien está interesado en la versión de C ++, está aquí .
Solo para el registro de un hilo antiguo: en lugar de utilizar la elegante secuencia de escape ANSI para mover el cursor hacia atrás, simplemente lo muevo al principio de la línea usando "/ r" en lugar de al principio de la siguiente línea "/ n" . Agregue algunos espacios después de su eco para sobrescribir todo lo que estaba allí anteriormente, como por ejemplo, así:
for ($i=0 ; $i<=100 ; $i++) {
echo "Progress: $i % /r";
sleep(1);
}
También puedes hacer algo como esto:
<?php
function showTextBasedProgress()
{
static $progress = ''-'';
echo chr(8) . $progress; // chr(8) = /b
switch ($progress)
{
case ''-'':
{
$progress = ''//';
break;
}
case ''//':
{
$progress = ''|'';
break;
}
case ''|'':
{
$progress = ''/'';
break;
}
case ''/'':
{
$progress = ''-'';
break;
}
}
}
Ejemplo de uso:
while(1)
{
showTextBasedProgress();
sleep(1);
}