PHP CLI Fortschrittsbalken
18. Dezember 2011
Hin und wieder führt man PHP-Skripte direkt auf der Kommandozeile (CLI) aus. Das hat den Vorteil, dass man nicht den Umweg über den Webserver gehen muss, wenn man ihn garnicht braucht. Außerdem lässt sich das Skript leicht mit STRG+C abbrechen, den Webserver hingegen müsste man bei einer Endlosschleife neu starten.
Der aktuelle Fortschritt lässt sich auch ganz einfach mit echo ausgeben - kein (ob_)flush notwendig.
Wenn man mit echo einen Carriage Return ("\r"
) ausgibt, wird der Cursor auf den Anfang der Zeile zurückgestellt und man kann eine bereits ausgegebene Zeile überschreiben. Perfekt also für einen Fortschrittsbalken!
$total = 10 ;
$bar_length = 20 ;
$spinner = '-\\|/' ;
for ( $i = 1 ; $i <= $total ; $i ++ ) {
usleep ( 1000000 ) ;
$spin = $spinner [ $i % strlen ( $spinner ) ] ;
$cur = sprintf ( '%' . strlen ( $total ) . '.d' , $i ) ;
$percent = $i / $total * 100 ;
$progress_len = floor ( $bar_length * $percent / 100 ) ;
$progress = str_repeat ( '=' , $progress_len ) ;
if ( $progress_len < $bar_length ) {
$progress .= '>' ;
$progress .= str_repeat ( '-' , $bar_length - $progress_len - 1 ) ;
}
echo " $cur /$total $spin [$progress ] $percent %\r " ;
}
Kommentare
15.07.2020 20:39
service agreement https://paperwriterasq.com/ - check my essay resume writing services <a href="https://paperwriterasq.com/#">write my essay for me</a> best resume writing service
07.03.2021 18:38
cyclosporine <a href="http://cyclosporineopthalmicemulsion.com/buy">cyclosporine ophthalmic</a>
18.07.2020 14:24
diploma online https://paperhelpvetz.com/ - professional resume service essay writing service <a href="https://paperhelpvetz.com/#">п»їresume help</a> do my homework
20.07.2020 08:47
viagra https://lexedtop.com/ - viagra online viagra pills <a href="https://lexedtop.com/#">generic viagra</a> viagra
24.07.2020 09:30
viagra for men https://lovepharmza.com/ - viagra online viagra generic <a href="https://lovepharmza.com/#">viagra cost</a> viagra and alcohol
31.07.2020 23:57
viagra connect http://cheapvirgaraonline.com/ - what is viagra female viagra <a href="http://cheapvirgaraonline.com/#">generic viagra online for sale</a> viagra sale
01.08.2020 17:47
viagra http://cheapgogenvia.com/ - viagra dosage otc viagra <a href="http://cheapgogenvia.com/#">п»їgeneric viagra</a> how does viagra work
04.08.2020 10:57
viagra http://buyviagenonline.com/ - buy viagra online side effects of viagra <a href="http://buyviagenonline.com/#">viagra for sale</a> cheap viagra
10.08.2020 03:17
trusted online pharmacy reviews https://pharmacy-onlineasxs.com/ - cvs online pharmacy costco online pharmacy <a href="https://pharmacy-onlineasxs.com/#">pharmacy online</a> best online pharmacy
10.08.2020 16:04
best canadian online pharmacy https://pharmacyonlinevfr.com/ - online canadian pharmacy modafinil online pharmacy <a href="https://pharmacyonlinevfr.com/#">costco online pharmacy</a> humana online pharmacy
Schreibe einen Kommentar!