Slettet bruger
05. januar 2007 - 10:04
Der er
15 kommentarer og 1 løsning
Omregning af bytes til mb
Hej eksperter. Ja nu bliver jeg squ i tvivl, da jeg ikke kan huske hvordan og hvorledes. Jeg har mit array her: [upfil] => Array ( [name] => css_quiz.JPG [type] => image/pjpeg [tmp_name] => /tmp/php7yGTua [error] => 0 [size] => 136314 ) Hvor mange gange er det jeg skal dividere med 1024? Like this right: (136316 / 1024) / 1024
Annonceindlæg fra Deloitte
Slettet bruger
05. januar 2007 - 10:06
#1
Hvis jeg dividere med 1024 har jeg det i kbytes ikke?
Slettet bruger
05. januar 2007 - 10:13
#2
Hehe havde regnet med der var nogen der svarede rimelig hurtigt. Ellers nemt spørgsmål..
05. januar 2007 - 10:14
#3
jo der ligger denne funktion inde på php.net som du måske kan bruge til noget <? function size_hum_read($size){ /* Returns a human readable size */ $i=0; $iec = array("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"); while (($size/1024)>1) { $size=$size/1024; $i++; } return substr($size,0,strpos($size,'.')+4).$iec[$i]; } // Usage : size_hum_read(filesize($file)); ?>
Slettet bruger
05. januar 2007 - 10:23
#4
Okay men tænkte på om jeg ikke bare kunne gøre sådan her og kører den modsatte vej også. public function size_hum_read($size, $sign = "/"){ $i=0; $iec = array("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"); while (($size . $sign . 1024)>1) { $size=$size . $sign . 1024; $i++; } return substr($size, 0, strpos($size,'.') + 4).$iec[$i]; }
05. januar 2007 - 10:30
#5
med modsatte vej mener du at du vil have hvis du har en værdi som 1,2 MB vil du gerne have den til at blive til 1228,8 KB?
Slettet bruger
05. januar 2007 - 10:33
#6
ja det lyder meget rigtigt
Slettet bruger
05. januar 2007 - 10:34
#7
så jeg kunne udskifte sign = "*"
05. januar 2007 - 10:48
#8
nej sådan vil den ikke virke så skal du lave array om og burde være nok bare at flippe rækkefølgen
Slettet bruger
05. januar 2007 - 10:49
#9
Men mit virkede ikke, men hvordan 'flipper' man et array omvendt?
Slettet bruger
05. januar 2007 - 10:50
#10
Det er somom at det er et ugyldigt tegn $sign, når den skal dividere
05. januar 2007 - 10:51
#11
array_reverse() men det vil ikke virke så du bliver nok nødt til at skrive en aden funktion måske hvor du angiver hvad den skal omregne fra og til der er jo forskel på 1,2 GB og 1,2 MB
05. januar 2007 - 10:54
#12
<? function size_hum_read($size){ /* Returns a human readable size */ $i=0; $iec = array("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"); array_reverse($iec); while (($size*1024)<1048575.8976) { $size=$size*1024; $i++; } return substr($size,0,strpos($size,'.')+4).$iec[$i]; } // Usage : size_hum_read(filesize($file)); print size_hum_read(1.2) ?> vil delvist virke men 1048575.8976 er bare et skøn på en max af 1023,9999
05. januar 2007 - 11:22
#13
hmm 1048576 ville måske være lettere hvis du kun vil have den til at omregne ned 1 gang
Slettet bruger
05. januar 2007 - 11:25
#14
Men mange tak for hjælpen. Lægger du et svar?
05. januar 2007 - 13:13
#15
svar
Slettet bruger
05. januar 2007 - 15:06
#16
Det var bare superb!
Vi tilbyder markedets bedste kurser inden for webudvikling