post

Verificando Tamanho das Pastas de um Servidor com PHP

Publicado em: 16/05/2024 / Atualizado em: 16/05/2024

Categorias: BlogPHP

É possível que chegue o dia em que o seu servidor de hospedagem está com pouco espaço, e você precisa saber quais são as pastas que estão armazenando os maiores arquivos.

Seria possível, tentar filtrar os arquivos mais pesados para entender e possivelmente removê-los ou otimiza-los porém eu criei este código com o intuito de localizar problemas, pois listando os diretórios e seus respectivos tamanhos em vez de ir atrás do arquivo em si, fica mais fácil saber se o seu site, principalmente se ele for WordPress, se ele está com algum plugin que está gerando uma sobrecarga de arquivos ou se tem alguma pasta muito pesada que não faz sentido terem seus servidor.

Segue código em PHP para subir para o seu servidor de hospedagem:

<?php

function getDirectorySize($path) {
    $bytestotal = 0;
    $path = realpath($path);
    if($path!==false && $path!='' && file_exists($path)){
        foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)) as $object){
            $bytestotal += $object->getSize();
        }
    }
    return $bytestotal;
}

function formatSize($bytes) {
    $types = array('B', 'KB', 'MB', 'GB', 'TB');
    for ($i = 0; $bytes >= 1024 && $i < (count($types) - 1); $bytes /= 1024, $i++);
    return( round($bytes, 2) . " " . $types[$i] );
}

function printDirectorySizes($path, $level = 0) {
    $folders = glob($path . '/*', GLOB_ONLYDIR);
    echo "<ul style='list-style-type: none;'>";
    foreach($folders as $dir) {
        $size = getDirectorySize($dir);
        $margin = $level * 20; // Aumenta a indentação para subpastas
        $color = ($level === 0) ? 'color:#000080;' : 'color:#008000;'; // Azul para pastas principais, verde para subpastas
        echo "<li style='margin-left: {$margin}px; {$color}'>" . basename($dir) . " = " . formatSize($size) . "</li>";
        printDirectorySizes($dir, $level + 1);
    }
    echo "</ul>";
}

// Usando __DIR__ para verificar a pasta onde o script está localizado
echo '<h2>Directory Sizes</h2>';
printDirectorySizes(__DIR__);

?>

Com este código PHP instalado no seu servidor raiz, é mais fácil entender quais são as pastas mais pesadas do seu servidor de hospedagem e assim depois você consegue analisar melhor os arquivos dentro da pasta para saber se são arquivos que devem permanecer ou devem ser removidos.

Crie um arquivo “.php” com qualquer nome no seu servidor raiz, que geralmente vai ser a pasta “public_html“, eu geralmente crio com o nome “size.php“, sendo assim, basta acessar agora o arquivo no navegador, exemplo: https://SEUSITE.com.br/size.php e pronto!

O arquivo vai listar os diretórios e seus tamanhos, assim você pode visualizar amplamente quais são as pastas que estão mais pesadas e entender o motivo.

Publicações recomendadas:


Inscreva-se em Nossa News:

Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.

Bruno Devs News


Link Curto para Compartilhamento

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.

bruno.art.br/pb/5251

ID de Referência: 5251

Sugira uma publicação

Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.

Clique aqui e entre em contato


Comentários