Gå til innhold

Gjøre om Kb til Mb i skript


Anbefalte innlegg

Kan noen endre dette skriptet slik at den regner Mb istedet for Kb?

 

<?php
/*
By using this script you will be able to upload as many files as you want.
The code will check if file existes, limited extensions, file size, file selected ..etc.
*/

//upload directory.
//change to fit your need eg. files, upload .... etc.
$upload_dir = "upload/";
//number of files to upload.
$num_files = 20;
//the file size in bytes.
$size_bytes =10240000; //51200 bytes = 50KB.
//Extensions you want files uploaded limited to.
$limitedext = array(".gif",".jpg",".jpeg",".png",".txt",".nfo",".doc",".rtf",".htm",".dmg",".zip",".rar",".gz",".exe",".swf");


  //check if the directory exists or not.
  if (!is_dir("$upload_dir")) {
     die ("Error: The directory <b>($upload_dir)</b> doesn't exist");
  }
  //check if the directory is writable.
  if (!is_writeable("$upload_dir")){
     die ("Error: The directory <b>($upload_dir)</b> is NOT writable, Please CHMOD (777)");
  }


//if the form has been submitted, then do the upload process
//infact, if you clicked on (Upload Now!) button.
if (isset($_POST['upload_form'])){

      echo "<h3>Upload results:</h3>";

      //do a loop for uploading files based on ($num_files) number of files.
      for ($i = 1; $i <= $num_files; $i++) {

          //define variables to hold the values.
          $new_file = $_FILES['file'.$i];
          $file_name = $new_file['name'];
          //to remove spaces from file name we have to replace it with "_".
          $file_name = str_replace(' ', '_', $file_name);
          $file_tmp = $new_file['tmp_name'];
          $file_size = $new_file['size'];

          #-----------------------------------------------------------#
          # this code will check if the files was selected or not.    #
          #-----------------------------------------------------------#

          if (!is_uploaded_file($file_tmp)) {
             //print error message and file number.
             echo "File $i: Not selected.<br>";
          }else{
                #-----------------------------------------------------------#
                # this code will check file extension                       #
                #-----------------------------------------------------------#

                $ext = strrchr($file_name,'.');
                if (!in_array(strtolower($ext),$limitedext)) {
                   echo "File $i: ($file_name) Wrong file extension. <br>";
                }else{
                      #-----------------------------------------------------------#
                      # this code will check file size is correct                 #
                      #----------------------------------------------------------#

                      if ($file_size > $size_bytes){
                          echo "File $i: ($file_name) Faild to upload. File must be <b>". $size_bytes / 1024 ."</b> Kb. <br>";
                      }else{
                            #-----------------------------------------------------------#
                            # this code check if file is Already EXISTS.                #
                            #-----------------------------------------------------------#

                            if(file_exists($upload_dir.$file_name)){
                                echo "File $i: ($file_name) already exists.<br>";
                            }else{
                                  #-----------------------------------------------------------#
                                  # this function will upload the files.  :);) cool          #
                                  #-----------------------------------------------------------#
                                  if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) {
                                      echo "File $i: ($file_name) Uploaded.<br>";
                                  }else{
                                       echo "File $i: Faild to upload.<br>";
                                  }#end of (move_uploaded_file).

                            }#end of (file_exists).

                      }#end of (file_size).

                }#end of (limitedext).

          }#end of (!is_uploaded_file).

      }#end of (for loop).
      # print back button.
      echo "»<a href=\"$_SERVER[PHP_SELF]\">back</a>";
////////////////////////////////////////////////////////////////////////////////
//else if the form didn't submitted then show it.
}else{
   echo " <h3>Select files to upload!.</h3>
          Maks Fil størrelse = ". $size_bytes / 1024 ." Kb";
   echo " <form method=\"post\" action=\"$_SERVER[PHP_SELF]\" enctype=\"multipart/form-data\">";
          // show the file input field based on($num_files).
          for ($i = 1; $i <= $num_files; $i++) {
              echo "File $i: <input type=\"file\" name=\"file". $i ."\"><br>";
          }
   echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\">
          <input type=\"submit\" name=\"upload_form\" value=\"Upload Now!\">
          </form>";
}

 

Det som kommer fram nå er:

 

Maks Fil størrelse = 10000 KB

 

Jeg vil ha slik at den regner om det til Mb!

 

Edit: Kan godt få hele skriptet

Endret av BigJackW
Lenke til kommentar
Videoannonse
Annonse
Aha, da kan du vel ta denne:

Maks Fil størrelse = ". $size_bytes / 1024 ." Kb";

og gjøre om til:

Maks Fil-størrelse = ". $size_bytes / 1024000 ." MB";

 

btw: b = bit, B = byte. :)

5228513[/snapback]

 

Men 1024000 er 10 MB så da må jeg vel ta 102400 for at det skal bli 1 MB?

 

Edit: Fant ut at 10240000 er 10 Mb så da må jeg ta 1024000?

Endret av BigJackW
Lenke til kommentar

Faktisk så snakker kakkle og kennteh om det samme.

 

Det er vanlig å skille mellom binary og SI. I binary kan kB skrives med stor eller liten bokstav, men det er veldig mange som ønsker at SI skal skrives med liten k, mens binary skal skrives med stor K. Dette er det ingen god nok standard for desverre. Symbolet K for kelvin bygger på SI enheter.

 

Forskjellen mellom disse to systemen er hvordan man da regner seg mellom MB og KB. I SI til forskjellen være 1000 mens i binary er den på 1024.

 

Innen data bruker vi binary, siden alt bygger nettopp på dette, eller 1 og 0. En kilobyte tilsvarer da 2^10.

 

Håper dette klarerte litt, hvis ikke:

Så lenge det er snakk om fil størrelse, bruk 1024 for å gå mellom kB(KB) og MB, eller for å gå mellom MB og GB, og så videre.

Lenke til kommentar
10.240.000B er 10.000KB, 10.000KB er 10MB, derfor vil det stemme. Du må bare fjerne en null på variabelen jeg nevnte i første post for å få den ned til 1MB, for nå står den på 10MB. :)

5228558[/snapback]

10MB = 10 240 kB = 10 485 760 B = 83 886 080 b

 

Til trådstarter; Koden nedenfor er justert til å vise MB, samt sette begrensningen til 1MB.

<?php
/*
By using this script you will be able to upload as many files as you want.
The code will check if file existes, limited extensions, file size, file selected ..etc.
*/

//upload directory.
//change to fit your need eg. files, upload .... etc.
$upload_dir = "upload/";
//number of files to upload.
$num_files = 20;
//the file size in bytes.
$size_bytes =1048576;
//Extensions you want files uploaded limited to.
$limitedext = array(".gif",".jpg",".jpeg",".png",".txt",".nfo",".doc",".rtf",".htm",".dmg",".zip",".rar",".gz",".exe",".swf");


 //check if the directory exists or not.
 if (!is_dir("$upload_dir")) {
    die ("Error: The directory <b>($upload_dir)</b> doesn't exist");
 }
 //check if the directory is writable.
 if (!is_writeable("$upload_dir")){
    die ("Error: The directory <b>($upload_dir)</b> is NOT writable, Please CHMOD (777)");
 }


//if the form has been submitted, then do the upload process
//infact, if you clicked on (Upload Now!) button.
if (isset($_POST['upload_form'])){

     echo "<h3>Upload results:</h3>";

     //do a loop for uploading files based on ($num_files) number of files.
     for ($i = 1; $i <= $num_files; $i++) {

         //define variables to hold the values.
         $new_file = $_FILES['file'.$i];
         $file_name = $new_file['name'];
         //to remove spaces from file name we have to replace it with "_".
         $file_name = str_replace(' ', '_', $file_name);
         $file_tmp = $new_file['tmp_name'];
         $file_size = $new_file['size'];

         #-----------------------------------------------------------#
         # this code will check if the files was selected or not.    #
         #-----------------------------------------------------------#

         if (!is_uploaded_file($file_tmp)) {
            //print error message and file number.
            echo "File $i: Not selected.<br>";
         }else{
               #-----------------------------------------------------------#
               # this code will check file extension                       #
               #-----------------------------------------------------------#

               $ext = strrchr($file_name,'.');
               if (!in_array(strtolower($ext),$limitedext)) {
                  echo "File $i: ($file_name) Wrong file extension. <br>";
               }else{
                     #-----------------------------------------------------------#
                     # this code will check file size is correct                 #
                     #----------------------------------------------------------#

                     if ($file_size > $size_bytes){
                         echo "File $i: ($file_name) Failed to upload. File must be <b>". $size_bytes / 1048576 ."</b> MB. <br>";
                     }else{
                           #-----------------------------------------------------------#
                           # this code check if file is Already EXISTS.                #
                           #-----------------------------------------------------------#

                           if(file_exists($upload_dir.$file_name)){
                               echo "File $i: ($file_name) already exists.<br>";
                           }else{
                                 #-----------------------------------------------------------#
                                 # this function will upload the files.  :);) cool          #
                                 #-----------------------------------------------------------#
                                 if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) {
                                     echo "File $i: ($file_name) Uploaded.<br>";
                                 }else{
                                      echo "File $i: Faild to upload.<br>";
                                 }#end of (move_uploaded_file).

                           }#end of (file_exists).

                     }#end of (file_size).

               }#end of (limitedext).

         }#end of (!is_uploaded_file).

     }#end of (for loop).
     # print back button.
     echo "»<a href=\"$_SERVER[PHP_SELF]\">back</a>";
////////////////////////////////////////////////////////////////////////////////
//else if the form didn't submitted then show it.
}else{
  echo " <h3>Select files to upload!.</h3>
         Maks Fil størrelse = ". $size_bytes / 1048576 ." MB";
  echo " <form method=\"post\" action=\"$_SERVER[PHP_SELF]\" enctype=\"multipart/form-data\">";
         // show the file input field based on($num_files).
         for ($i = 1; $i <= $num_files; $i++) {
             echo "File $i: <input type=\"file\" name=\"file". $i ."\"><br>";
         }
  echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\">
         <input type=\"submit\" name=\"upload_form\" value=\"Upload Now!\">
         </form>";
}

Dersom du skal forandre på størrelsen, endrer du på følgende del helt i starten av scriptet;

//the file size in bytes.
$size_bytes =1048576;

Der multipliserer du 1048576 med antall MB du skal ha som begrensning.

 

1048576 * 1 = 1048576 = 1MB

1048576 * 2 = 2097152 = 2MB

1048576 * 3 = 3145728 = 3MB

 

osv...

Endret av jallakim
Lenke til kommentar

er det ikke bare og skifte

 echo "File $i: ($file_name) Faild to upload. File must be <b>". $size_bytes / 1024 ."</b> Kb. <br>";

 

til:

 echo "File $i: ($file_name) Faild to upload. File must be <b>". $size_bytes / 1024 / 1024 ."</b> MB. <br>";

?

Endret av Lasso5000
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...