Avatar billede 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
Avatar billede Slettet bruger
05. januar 2007 - 10:06 #1
Hvis jeg dividere med 1024 har jeg det i kbytes ikke?
Avatar billede Slettet bruger
05. januar 2007 - 10:13 #2
Hehe havde regnet med der var nogen der svarede rimelig hurtigt.
Ellers nemt spørgsmål..
Avatar billede dmdisco Nybegynder
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));
?>
Avatar billede 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];
        }
Avatar billede dmdisco Nybegynder
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?
Avatar billede Slettet bruger
05. januar 2007 - 10:33 #6
ja det lyder meget rigtigt
Avatar billede Slettet bruger
05. januar 2007 - 10:34 #7
så jeg kunne udskifte sign = "*"
Avatar billede dmdisco Nybegynder
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
Avatar billede Slettet bruger
05. januar 2007 - 10:49 #9
Men mit virkede ikke, men hvordan 'flipper' man et array omvendt?
Avatar billede Slettet bruger
05. januar 2007 - 10:50 #10
Det er somom at det er et ugyldigt tegn $sign, når den skal dividere
Avatar billede dmdisco Nybegynder
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
Avatar billede dmdisco Nybegynder
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
Avatar billede dmdisco Nybegynder
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
Avatar billede Slettet bruger
05. januar 2007 - 11:25 #14
Men mange tak for hjælpen.
Lægger du et svar?
Avatar billede dmdisco Nybegynder
05. januar 2007 - 13:13 #15
svar
Avatar billede Slettet bruger
05. januar 2007 - 15:06 #16
Det var bare superb!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging