Progress in PHP 07. May 2008 um 18:24 Uhr / Programming

Eingestellt am 07. May 2008 um 18:24 Uhr » Programming

Ab und zu muss man Skripte bauen die eine längere Zeit laufen. Da ist es gut sehen zu können wie weit so ein Script ist. Ich habe hier mal eine kleine PHP-Funktion dafür gebastelt.

/**
 * $i ist die Zahl bei welchem durchlauf man gerade ist
 * $max ist die maxanzahl der Durchläufe
 */
function progress($i, $max=0) {
	$message = "Done: %d";
	(int)$percent = 100 / $max * $i;
	(int)$old_percent = 100 / $max * ($i -1);
	$old_strlen = strlen((string)$old_percent) + strlen($message) -1;
	if($i>0) echo str_repeat(chr(8), $old_strlen);
	printf($message, $percent);
	print("%");
}
$max = 200;
for($i=0; $i<$max; ++$i) {
 sleep(1);
 progress($i, $max);
}

Das gibt auf der konsole einfach eine Prozentzahl aus wo sich das Script gerade befindet.

Übrigens falls bei jemandem das mit chr(8) nicht funktionieren sollte, der kann mal bei PEAR nachgucken, da herunterscrollen bis zur Methode erase().


Kommentare

Die Kommentare sind für diesen Eintrag geschlossen.