PageRenderTime 48ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/bedita-app/vendors/_smartyPlugins/modifier.filesize.php

http://bedita.googlecode.com/
PHP | 52 lines | 24 code | 6 blank | 22 comment | 8 complexity | 1f437ac3ad4fae57d517f1384d90995e MD5 | raw file
Possible License(s): AGPL-1.0, AGPL-3.0, LGPL-3.0, LGPL-2.1, GPL-3.0
  1. <?php
  2. /*
  3. * Smarty plugin
  4. * -------------------------------------------------------------
  5. * Type: modifier
  6. * Name: filesize
  7. * Purpose: return size in Kilobyte, Megabyte, Gigabyte or Terabyte
  8. * -------------------------------------------------------------
  9. */
  10. /////////////////////////////////////////////
  11. function smarty_modifier_filesize($size) {
  12. /*
  13. // First check if the file exists.
  14. //if(!is_file("./".$file)) exit("File does not exist!");
  15. if(!is_file("./".$file)) {
  16. return $size."*fnp*";
  17. }
  18. */
  19. // Setup some common file size measurements.
  20. $kb = 1024; // Kilobyte
  21. $mb = 1024 * $kb; // Megabyte
  22. $gb = 1024 * $mb; // Gigabyte
  23. $tb = 1024 * $gb; // Terabyte
  24. //// Get the file size in bytes.
  25. //$size = filesize($file);
  26. //// If it's less than a kb we just return the size, otherwise we keep going until the size is in the appropriate measurement range. */
  27. if($size < $kb) {
  28. //return $size."b";
  29. $myfilesize = round($size/$kb,2)."KB";
  30. }
  31. else if($size < $mb) {
  32. $myfilesize = round($size/$kb,0)."KB";
  33. }
  34. else if($size < $gb) {
  35. $myfilesize = round($size/$mb,1)."MB";
  36. }
  37. else if($size < $tb) {
  38. $myfilesize = round($size/$gb,2)."GB";
  39. }
  40. else {
  41. $myfilesize = round($size/$tb,2)."TB";
  42. }
  43. return $myfilesize;
  44. }
  45. /////////////////////////////////////////////
  46. ?>