<?php $directory="folder/"; { if(($file_name!=".")&&($file_name!="..")) { $file_path = $directory.$file_name; //pelna ścieżka do pliku array_push($files_tab, $file_tab); //dołączenie tablicy informacji o jednym pliku do tablicy wszystkich plików } } $suma = 0; for ($i=0; $i<count($files_tab); $i++) { $suma += $files_tab[$i][1]; } ?>
Problem polega na tym, że wszystkie rozmiary podawane są w bajtach.
Ja natomiast chcę zrobić taki system, że w zależności czy rozmiar pliku wynosi x bajtów, kilobajtów czy megabajtów liczba nie będzie przekraczać 1024. Natomiast format tej liczby to 2 miejsca po przecinku czyli 1024,00.
Czyli plik który ma rozmiar powyżej jednego bajta wyświetlany był w kilobajtach, a plik który ma rozmiar powyżej jednego kilobajta wyświetlany był w megabajtach.
Np. 140.04 KB, 1.40 MB,
ale nie 1249.08 KB
W pewnym sęsie problem rozwiązałem zamieniając bajty na kilobajty w powyższym kodzie, ale to najprostsze rozwiązanie i nie ma prawie nic wspólnego z tym czego ja chcę dokonać.
<?php //... //... ?>
No i jeszcze druga część problemu mianowicie każdej wyświetlonej liczbie trzeba przypisać odpowiednią nazwę w echo 'B', 'KB', 'MB', itd
<?php ?>
Ja znalazłem tali skrypt, ale nie mogę coś dać sobie rady z połączeniem tych dwóch skryptów.
<?php function decodeSize( $bytes ) { } ?>