Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przeliczanie jednostek
Forum PHP.pl > Forum > PHP
felixk
Witam, mam pewien drobny kłopot. Zrobiłem sobie skrypt listujący zawartosc katalogu, podajacy rozmiary poszczegolnych el oraz calosci. To wszystko jest w bajtach. Czy wie ktos moze jak przerobic ponizszy kod aby pokazywal normalnie jednostki (poszczegolnych plikow oraz sumy wszystkich) np Kb, Mb itd ..

  1.  
  2. $directory="data/files/";
  3. $dir=opendir($directory);
  4.  
  5. $files_tab = array();
  6. while($file_name=readdir($dir))
  7. {
  8.  
  9. if(($file_name!=".")&&($file_name!=".."))
  10. {
  11. $file_path = $directory.$file_name;
  12. $file_tab = array ($file_name, filesize($file_path)); //tablica z informacjami o jednym pliku [0] -> nazwa; [1] -> rozmiar
  13. array_push($files_tab, $file_tab); //dołączenie tablicy informacji o jednym pliku do tablicy wszystkich plików
  14. }
  15. }
  16.  
  17. closedir($dir);
  18.  
  19.  
  20. $suma = 0;
  21. for ($i=0; $i<count($files_tab); $i++) {
  22. echo $files_tab[$i][0].' '.' - rozmiar <b>'.$files_tab[$i][1].'</b><br />';
  23. $suma += $files_tab[$i][1];
  24. }
  25.  
  26. $ilosc = count($files_tab);
  27.  
  28. echo "Ilość plików załadowanych: <b>$ilosc </b>";
  29. echo "o rozmiarze ogólnym: <b>$suma</b> <br />";
  30.  



Z góry dziękuję i pozdrawiam
Wilu88
Cytat(felixk @ 31.03.2011, 15:09:54 ) *
Witam, mam pewien drobny kłopot. Zrobiłem sobie skrypt listujący zawartosc katalogu, podajacy rozmiary poszczegolnych el oraz calosci. To wszystko jest w bajtach. Czy wie ktos moze jak przerobic ponizszy kod aby pokazywal normalnie jednostki (poszczegolnych plikow oraz sumy wszystkich) np Kb, Mb itd ..

  1.  
  2. $directory="data/files/";
  3. $dir=opendir($directory);
  4.  
  5. $files_tab = array();
  6. while($file_name=readdir($dir))
  7. {
  8.  
  9. if(($file_name!=".")&&($file_name!=".."))
  10. {
  11. $file_path = $directory.$file_name;
  12. $file_tab = array ($file_name, filesize($file_path)); //tablica z informacjami o jednym pliku [0] -> nazwa; [1] -> rozmiar
  13. array_push($files_tab, $file_tab); //dołączenie tablicy informacji o jednym pliku do tablicy wszystkich plików
  14. }
  15. }
  16.  
  17. closedir($dir);
  18.  
  19.  
  20. $suma = 0;
  21. for ($i=0; $i<count($files_tab); $i++) {
  22. echo $files_tab[$i][0].' '.' - rozmiar <b>'.$files_tab[$i][1].'</b><br />';
  23. $suma += $files_tab[$i][1];
  24. }
  25.  
  26. $ilosc = count($files_tab);
  27.  
  28. echo "Ilość plików załadowanych: <b>$ilosc </b>";
  29. echo "o rozmiarze ogólnym: <b>$suma</b> <br />";
  30.  



Z góry dziękuję i pozdrawiam



No to chyba podstawy matematyki się kłaniają:

kilobajty:
  1. $files_tab[$i][1]/1024
felixk
No dobra, ale musimy tak dobrnąć do Mb. Mógłbys mi to wplesc w kod, byłbym wdzieczny
Wilu88
No to analogicznie jak chcesz MB:
  1. $files_tab[$i][1]/1048576


Nie rozumiem jak mam ci to wpleść w kod, skoro podałem ci już na przykładzie nazwy której używasz w swoim kodzie, wiec pozostaje Ci tylko skopiować.
felixk
Cytat(wookieb @ 31.03.2011, 15:28:33 ) *


Wplótłbys mi to w mój kod. Bede wdzieczny
wookieb
A dlaczego MY mamy robić coś za CIEBIE skoro to tylko wstawienie jednego wywołania metody?
webdice
Cytat(felixk @ 31.03.2011, 15:35:13 ) *
Wplótłbys mi to w mój kod. Bede wdzieczny


Trochę samodzielności, zamykam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.