DataSize.php 999 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Convert;
  7. /**
  8. * Magento data size converter class
  9. */
  10. class DataSize
  11. {
  12. /**
  13. * Converts a size value to bytes
  14. * Example input: 100 (bytes), 10K (kilobytes), 13M (megabytes), 2G (gigabytes)
  15. *
  16. * @param string $size
  17. * @return integer
  18. */
  19. public function convertSizeToBytes($size)
  20. {
  21. if (!is_numeric($size)) {
  22. $type = strtoupper(substr($size, -1));
  23. $size = (int)$size;
  24. switch ($type) {
  25. case 'K':
  26. $size *= 1024;
  27. break;
  28. case 'M':
  29. $size *= 1024 * 1024;
  30. break;
  31. case 'G':
  32. $size *= 1024 * 1024 * 1024;
  33. break;
  34. default:
  35. break;
  36. }
  37. }
  38. return (int)$size;
  39. }
  40. }