如何使用php将文件大小从KB更改为GB

如何使用php将文件大小从KB更改为GB,php,Php,我这里有一个代码,保存一个文件的大小是千字节,但我想一个文件的大小有一个到千兆字节的大小,但我不知道如何改变它。 我需要你的帮助,因为我是php的初学者,我不知道如何更改文件的大小,我想在我的数据库中保存一个视频 这是我的密码: <?php function output_file($file, $name, $mime_type='') { if(!is_readable($file)) die('File not found or

我这里有一个代码,保存一个文件的大小是千字节,但我想一个文件的大小有一个到千兆字节的大小,但我不知道如何改变它。 我需要你的帮助,因为我是php的初学者,我不知道如何更改文件的大小,我想在我的数据库中保存一个视频

这是我的密码:

       <?php
            function output_file($file, $name, $mime_type='') {
        if(!is_readable($file)) die('File not found or inaccessible!');

        $size = filesize($file);
        $name = rawurldecode($name);
        $known_mime_types=array(
        "pdf" => "application/pdf",
        "txt" => "text/plain",
        "html" => "text/html",
        "htm" => "text/html",
        "exe" => "application/octet-stream",
        "zip" => "application/zip",
        "doc" => "application/msword",
        "xls" => "application/vnd.ms-excel",
        "ppt" => "application/vnd.ms-powerpoint",
        "gif" => "image/gif",
        "png" => "image/png",
        "jpeg"=> "image/jpg",
        "jpg" => "image/jpg",
        "php" => "text/plain"
          );
       if($mime_type=='') {
             $file_extension = 
            strtolower(substr(strrchr($file,"."),1));

          if(array_key_exists($file_extension, $known_mime_types)) {
            $mime_type=$known_mime_types[$file_extension];
           } else {
                $mime_type="application/force-download";
           };
             }; 

            @ob_end_clean();


         if(ini_get('zlib.output_compression'))
         ini_set('zlib.output_compression', 'Off');
             header('Content-Type: ' . $mime_type);
         header('Content-Disposition: attachment; filename="'.$name.'"');
         header("Content-Transfer-Encoding: binary");
         header('Accept-Ranges: bytes');
          header("Cache-control: private");
          header('Pragma: private');
         header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
          if(isset($_SERVER['HTTP_RANGE']){
            list($a, $range) = explode("=",$_SERVER['HTTP_RANGE'],2);
          list($range) = explode(",",$range,2);
            list($range, $range_end) = explode("-", $range);
           $range=intval($range);
            if(!$range_end) {
                 $range_end=$size-1;
                       } else {
                       $range_end=intval($range_end);
                }
                    $new_length = $range_end-$range+1;
                         header("HTTP/1.1 206 Partial Content");
                            header("Content-Length: $new_length");
             header("Content-Range: bytes $range-$range_end/$size");
               } else {
                   $new_length=$size;
                        header("Content-Length: ".$size);
                   }
                  $chunksize = 1*(1024*1024);
                    $bytes_send = 0;
                if ($file = fopen($file, 'r') {
                   if(isset($_SERVER['HTTP_RANGE']))
                  fseek($file, $range);

               while(!feof($file) &&
                    (!connection_aborted()) &&
                                 ($bytes_send<$new_length)) {
                   $buffer = fread($file, $chunksize);
                    print($buffer);
                          flush();
                  $bytes_send += strlen($buffer);
                   }
                fclose($file);
                   } else

                  die('Error - can not open file.');
                     die();
                     }
                       set_time_limit(0);
                    $file_path='files/'.$_REQUEST['filename'];
                output_file($file_path, ''.$_REQUEST['filename'].'',
            'text/plain');
             ?>

对于千字节,将其除以1048576。你需要更复杂的东西吗


$sizeInKB=$sizeInKB/1048576

如何转换为GB?如果返回的文件大小为1048576kB,则为1gB;如果返回的文件大小为5048576kB,则为4.8147gB。只需将文件大小(kB)除以1048576即可