예제 #1
0
 /**
  * Maximum upload size as limited by PHP
  * Used with permission from Moodle (http://moodle.org) by Martin Dougiamas
  *
  * this section generates $max_upload_size in bytes
  *
  * @return void
  */
 function checkUploadSize()
 {
     if (!($filesize = ini_get('upload_max_filesize'))) {
         $filesize = "5M";
     }
     if ($postsize = ini_get('post_max_size')) {
         $this->set('max_upload_size', min(PMA_getRealSize($filesize), PMA_getRealSize($postsize)));
     } else {
         $this->set('max_upload_size', PMA_getRealSize($filesize));
     }
 }
예제 #2
0
 *
 * @param string $size size
 *
 * @return integer $size
 */
function PMA_getRealSize($size = 0)
{
    /*    
        if (! $size) {
            return 0;
        }
    */
    $scan['gb'] = 1073741824;
    //1024 * 1024 * 1024;
    $scan['g'] = 1073741824;
    //1024 * 1024 * 1024;
    $scan['mb'] = 1048576;
    $scan['m'] = 1048576;
    $scan['kb'] = 1024;
    $scan['k'] = 1024;
    $scan['b'] = 1;
    foreach ($scan as $unit => $factor) {
        if (strlen($size) > strlen($unit) && substr($size, strlen($size) - strlen($unit)) == $unit) {
            return substr($size, 0, strlen($size) - strlen($unit)) * $factor;
        }
    }
    return $size;
}
$in = user_input();
echo PMA_getRealSize($in) . "\n";
예제 #3
0
 public function testUnspecified()
 {
     $this->assertEquals(1024, PMA_getRealSize('1024'));
 }
 /**
  * Test for
  *
  * @param string $size     Size
  * @param int    $expected Expected value
  *
  * @return void
  *
  * @dataProvider provider
  */
 public function testNull($size, $expected)
 {
     $this->assertEquals($expected, PMA_getRealSize($size));
 }