Attachment Mod Version 2.3.9 komplette Dateigrösse auf index

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Berndte
Mitglied
Beiträge: 491
Registriert: 13.07.2004 21:04
Wohnort: Oyten
Kontaktdaten:

Attachment Mod Version 2.3.9 komplette Dateigrösse auf index

Beitrag von Berndte »

Hallo,

habe oben genannten Mod erfolgreich und problemlos am laufen.

Ich fände es aber ganz nett, wenn ich irgendwo auf der index.php sowas wie "Der Uploadordner ist mit ***MB von ***MB gefüllt."

Es reicht schon aus, wenn dieser Satz unter "Diese Daten zeigen an, wer in den letzten 5 Minuten online war." ganz unten angezeigt wird.

Das muss doch eigentlich ganz einfach zu realisieren sein, da ja die Werte schon im ACP vorhanden sind.

Optional auch ein Balkendiagramm wie auch schon im Profil.

Gruss Bernd
Zuletzt geändert von Berndte am 15.07.2004 21:01, insgesamt 1-mal geändert.
Berndte
Mitglied
Beiträge: 491
Registriert: 13.07.2004 21:04
Wohnort: Oyten
Kontaktdaten:

Beitrag von Berndte »

und nochmal nach oben schubs.... hat denn echt keiner ne Idee???
Benutzeravatar
Elvis
Mitglied
Beiträge: 3373
Registriert: 26.05.2003 22:39

Beitrag von Elvis »

Berndte
Mitglied
Beiträge: 491
Registriert: 13.07.2004 21:04
Wohnort: Oyten
Kontaktdaten:

Beitrag von Berndte »

hmm, auch nicht so direkt, was ich suche,

vielleicht hat ein modder mal Zeit sich dem anzunehmen, wäre auch ein gutes Feature find ich
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Nicht unbedingt das sauberste, sollte aber funktionieren:
functions.php
Suche

Code: Alles auswählen

//
// Get Userdata, $user can be username or user_id. If force_str is true, the username will be forced.
//
Füge davor ein

Code: Alles auswählen

function get_dir_size($dir, $size = 0) { 
    $handle = opendir($dir); 

    while ($file = readdir($handle)) { 
        if ($file == '.' || $file == '..') continue; 

        $full_path = $dir.$file; 

        if (is_dir($full_path)) { 
            $size = get_dir_size($full_path.'/', $size); 
        } else { 
            $size += round(filesize($full_path)  / 1048576 * 100) / 100; 
        } 
    } 

    closedir($handle); 

    return $size; 

}
index.php
Suche

Code: Alles auswählen

//
// Start output of page
//
Füge davor ein

Code: Alles auswählen

$path = "./UPLOADORDNER/"; // anpassen
$size = get_dir_size($path);
Suche

Code: Alles auswählen

'FORUM_LOCKED_IMG' => $images['forum_locked'],
Füge danach ein

Code: Alles auswählen

'L_DIR_SIZE' => $size,
templates/xxx/index_body.tpl
Suche

Code: Alles auswählen

<td align="left" valign="top"><span class="gensmall">{L_ONLINE_EXPLAIN}</span></td>
</tr>
Füge danach ein

Code: Alles auswählen

<tr>
	<td align="left" valign="top"><span class="gensmall">Der Uploadordner ist mit {L_DIR_SIZE} MB gefüllt</span></td>
</tr>
Berndte
Mitglied
Beiträge: 491
Registriert: 13.07.2004 21:04
Wohnort: Oyten
Kontaktdaten:

Beitrag von Berndte »

Danke dir... funktioniert einwandfrei!

ich habe die Anzeige mit in das Fenster eingebaut... auch kein Problem

Demo: www.opel4x4.de und dann ins Forum ;) und runterscrollen
Berndte
Mitglied
Beiträge: 491
Registriert: 13.07.2004 21:04
Wohnort: Oyten
Kontaktdaten:

Beitrag von Berndte »

wollte das soeben erweitern um auch die grösse des Avatarordners anzeigen zu lassen:

funktions.php

Code: Alles auswählen

function get_dir_size($dir, $avatarsize = 0) { 
    $handle = opendir($dir); 

    while ($file = readdir($handle)) { 
        if ($file == '.' || $file == '..') continue; 

        $full_path = $dir.$file; 

        if (is_dir($full_path)) { 
            $avatarsize = dir_size($full_path.'/', $avatarsize); 
        } else { 
            $avatarsize += round(filesize($full_path)  / 1048576 * 100) / 100; 
        } 
    } 

    closedir($handle); 

    return $avatarsize; 

}

function get_dir_size($dir, $uploadsize = 0) { 
    $handle = opendir($dir); 

    while ($file = readdir($handle)) { 
        if ($file == '.' || $file == '..') continue; 

        $full_path = $dir.$file; 

        if (is_dir($full_path)) { 
            $uploadsize = dir_size($full_path.'/', $uploadsize); 
        } else { 
            $uploadsize += round(filesize($full_path)  / 1048576 * 100) / 100; 
        } 
    } 

    closedir($handle); 

    return $uploadsize; 

}
index.php

Code: Alles auswählen

$uploadsize = get_dir_size("./files/");
$avatarsize = get_dir_size("./images/avatars/gallery/");
wo ist der Denkfehler? Bin ein absoluter PHP Neuling und verfahre nach lerning-by-doing
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Die Funktion darf nicht immer den selben Namen haben ;)
function get_dir_size
und
$avatarsize = get_dir_size($full_path.'/', $avatarsize);
Diese Werte jeweils anpassen.
Berndte
Mitglied
Beiträge: 491
Registriert: 13.07.2004 21:04
Wohnort: Oyten
Kontaktdaten:

Beitrag von Berndte »

Funktioniert!

Auch auf die Gefahr hin, dass ich nerve, kann man auch die Anzahl an Dateien im Ordner anzeigen lassen?
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

includes/functions.php
Finde

Code: Alles auswählen

//
// Get Userdata, $user can be username or user_id. If force_str is true, the username will be forced.
//
Füge davor ein

Code: Alles auswählen

function count_files($dir) 
    { 
    if(is_dir($dir)) 
      { 
      $count_files[file] = 0; 

      chdir($dir); 
      $handle = opendir("."); 
      while($file = readdir($handle)) 
        { 
        if(is_dir($file) && $file != "." && $file != "..") 
          { 
           $count_files[file] += $y[file]; 
          }  
        if(is_file($file)) 
            { 
          $count_files[file]++; 
            } 
          } 

    if(stristr($dir,"../")) chdir($_SERVER["DOCUMENT_ROOT"].substr($_SERVER["PATH_INFO"],0,strrpos($_SERVER["PATH_INFO"],"/"))); 
      elseif($dir != ".") chdir("../"); 

      closedir($handle); 
      } 

    return $count_files; 
    }
index.php
Finde

Code: Alles auswählen

//
// Start output of page
//
Füge davor ein

Code: Alles auswählen

$count_files = count_files($path);
(Setzt die Änderung von vorhin voraus, da $path dort bereits bestimmt ist.)
Finde

Code: Alles auswählen

$template->assign_vars(array(
Füge danach ein

Code: Alles auswählen

'L_COUNT_FILES' => $count_files[file],
Im Template selbst (index_body.tpl) zeigt {L_COUNT_FILES} die Dateien an (bspw. Im Ordner befinden sich {L_COUNT_FILES} Dateien.)
Antworten

Zurück zu „phpBB 2.0: Mod Support“