Mailinglisten-Archive |
Hi Daniel, >Of Daniel Lorch >Sent: Friday, December 29, 2000 3:13 PM >was haltet ihr von diesen funktionen? Ich wenig, sorry, und auf solche Fragen gibts hier nur selten Antwort Mach die Happen kleiner, bzw. schilder ein Problem. Sich in frem(den) Code reindenken kostet Zeit Hier wenigstens zwei 'Lösungen': a) Modulo-operator war sonst immer '%' in PHP, also nach $a=6.7 % 5 sollte $a=1 sein. 'Modulo' ermittelt den _ganzzahligen_ Rest einer Division Deine Funktion Modulo >function modulo($a,$b) // needed for best_time() >{ > $tmp=floor($a/$b); > return $a-($b*$tmp); >} hat mit dem gleichlautenden mathematischen Begriff keine Gemeinsamkeit Wenn man sich Modulo 'basteln' wollte, sähe das (vielleicht) so aus: function mod($a,$b) { return floor($a-floor($a / $b)*$b); } b) Deine Funktion Filesize ist zu aufwendig und >// Outputs a filesize in best human readable unit >// (c) daniel lorch <daniel_(at)_lorch.cc>, 2000 > >function best_filesize($bytes) >{ > // intentionally used string keys, otherwise would exceed maximum array index > $units=array( > "1" => "Bytes", > "1024" => "KB", > (string)pow(1024,2) => "MB", > (string)pow(1024,3) => "GB", > (string)pow(1024,4) => "TB" > ); > > krsort($units); // big units first > > while(list($base,$title)=each($units)) > if(floor($bytes/$base) != 0) > { > if($base == 1) // Bytes > return $bytes." ".$title; > else > return number_format($bytes/$base, 1, ".", "'")." $title"; > } >} > ginge auch schon so, function bfs($z) { $p=array(' ','K','M','G','T','P','E'); for($n=0;($z1=$z/1024)>=1;$n++) $z=$z1; return round($z)." $p[$n]Byte"; } wenn ich richtig verstehe, was sie tun soll :-)) (aber irgendwie doch nicht ganz tut). Weiter kam ich nicht aus Zeitgründen nicht. Guten Rutsch Klaus Schmidt ----------------------------------- PHP 4 - Tutorial und Referenz © 2000 Klaus Schmidt Die Seite zum Buch: www.ksweb.de -----------------------------------
php::bar PHP Wiki - Listenarchive