Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Include problem z Foreach
Forum PHP.pl > Forum > Przedszkole
inomi13
W pliku index.php mam pętle z kilkoma folderami, natomiast w pliku function.php mam kod, który liczy ile zajmuje dany folder. Po przypisaniu na sztywno ścieżki danego folderu w pliku index.php za pomocą
  1. include_once "function.php";
kod jest zaczytywany i działa, natomiast nie wiem jak się zabrać aby w pliku function.php działała pętla, która znajduje się już w pliku index.php.

  1. $units = explode(' ', 'B KB MB GB');
  2. $disk_used = foldersize("../../../nazwaFolderu.pl");
  3.  
  4. echo format_size($disk_used);
  5.  
  6. function foldersize($path) {
  7. $total_size = 0;
  8. $files = scandir($path);
  9. $cleanPath = rtrim($path, '/'). '/';
  10.  
  11. foreach($files as $t) {
  12. if ($t<>"." && $t<>"..") {
  13. $currentFile = $cleanPath . $t;
  14. if (is_dir($currentFile)) {
  15. $size = foldersize($currentFile);
  16. $total_size += $size;
  17. }
  18. else {
  19. $size = filesize($currentFile);
  20. $total_size += $size;
  21. }
  22. }
  23. }
  24.  
  25. return $total_size;
  26. }
  27. function format_size($size) {
  28. global $units;
  29.  
  30. $mod = 1024;
  31.  
  32. for ($i = 0; $size > $mod; $i++) {
  33. $size /= $mod;
  34. }
  35.  
  36. $endIndex = strpos($size, ".")+3;
  37.  
  38. return substr( $size, 0, $endIndex).' '.$units[$i];
  39. }
  40.  
Szado
W pliku function.php masz kod w postaci funkcji. W index.php załączasz te funkcje i są one dostępne do użycia. W istniejącej pętli iterującej po ścieżkach do katalogów, wywołaj funkcję liczącą rozmiar dla każdego katalogu.
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.