Commit b5c2b014b397140d14e88a93b95fae5f9aba4dce

Authored by Elena.Budnik
1 parent 4a75227e

uploaded_max_filesize conversion to bytes

Showing 1 changed file with 26 additions and 4 deletions   Show diff stats
php/uploadFile.php
... ... @@ -49,7 +49,23 @@
49 49  
50 50 return $ContentLength;
51 51 }
  52 +
  53 + function return_bytes($val) {
  54 + $val = trim($val);
  55 + $last = strtolower($val[strlen($val)-1]);
  56 + switch($last) {
  57 + // Le modifieur 'G' est disponible depuis PHP 5.1.0
  58 + case 'g':
  59 + $val *= 1024;
  60 + case 'm':
  61 + $val *= 1024;
  62 + case 'k':
  63 + $val *= 1024;
  64 + }
52 65  
  66 + return $val;
  67 + }
  68 +
53 69 /**
54 70 * Main
55 71 */
... ... @@ -59,8 +75,7 @@
59 75  
60 76 // error_reporting(E_ERROR | E_WARNING | E_PARSE);
61 77  
62   - if (!isset($_POST['sessionID']))
63   - {
  78 + if (!isset($_POST['sessionID'])) {
64 79 $response = array( 'success' => false, 'error' => ': Check that uploaded file size is less than '.ini_get('upload_max_filesize'));
65 80 die(json_encode($response));
66 81 }
... ... @@ -70,8 +85,14 @@
70 85 define('USERWSDIR', USERPATH."/".$_POST['sessionID']."/WS/");
71 86 define('USERWORKINGDIR', USERPATH."/".$_POST['sessionID']."/RES/");
72 87 define('ATTACHMENTDIR', DATAPATH."/Feedback/Attach/");
73   - define('maxSize',$_POST['MAX_FILE_SIZE'] < ini_get('upload_max_filesize'));
74 88  
  89 + $upload_max_filesize = return_bytes(ini_get('upload_max_filesize'));
  90 +
  91 + if ($upload_max_filesize > $_POST['MAX_FILE_SIZE'])
  92 + define('maxSize',$_POST['MAX_FILE_SIZE']);
  93 + else
  94 + define('maxSize',$upload_max_filesize); // NEVER !
  95 +
75 96 if (!is_dir(USERTEMPDIR)) mkdir(USERTEMPDIR.'/', 0755, true);
76 97 if (!is_dir(ATTACHMENTDIR)) mkdir(ATTACHMENTDIR.'/', 0755, true);
77 98  
... ... @@ -157,7 +178,8 @@
157 178  
158 179 if ($fileSize > maxSize)
159 180 {
160   - $response = array( 'success' => false, 'error' => 'The uploaded file exceeds '.maxSize);
  181 + $maxMB = maxSize/1000000;
  182 + $response = array( 'success' => false, 'error' => 'The uploaded file exceeds '.$maxMB.'MB');
161 183 die(json_encode($response));
162 184 }
163 185  
... ...