baraja-core / cms

🛠️ Simple smart CMS for Nette and Vue.js
https://baraja.cz/cms
MIT License
16 stars 3 forks source link

Disk capacity #27

Open janbarasek opened 3 years ago

janbarasek commented 3 years ago

V rámci nastavení CMS by se hodilo uživateli zobrazovat, jak je na tom kapacitně jeho disk na serveru.

Zkus připravit třídu, která bude poskytovat informace o discích a jakou mají kapacitu. Představuji si to tak, že zavolám něco jako:

Disk::getOverview();

A jako response dostanu pole dostupných disků a kapacity. Pozor, pole disků se liší podle operačního systému (na Windows jsou disky A-Z, na Linuxu se tzv. mountují).

Možná response:

[
   // disk => [dostupná kapacita, použitá, celková],
   'c' => ['available' => int, 'used' => int, 'total' => int],
]

Pomocné funkce:

Na Windows teoreticky takto (nevyzkoušeno):

function getDisks(): array
{
    if (str_contains(PHP_OS_FAMILY, 'WIN')) {
        $return = [];
        foreach (range('A', 'Z') as $disk) {
            $return[$disk] = disk_total_space($disk . ':');
        }

        return $return;
    }

    return [
        '/' => disk_total_space('/')
    ];
}