Как получить размер каталога в PHP

Примерно так:

const model = {
 tiers:['a','b','c']
};

it('showRowSubView',()=>{
 const wrapper = shallow(<ShowRowSubView rowModel={model }/>);
 expect(wrapper).toMatchSnapshot();
});
54
задан halfpastfour.am 24 June 2017 в 04:55
поделиться

3 ответа

Следующее является другими решениями предлагаемый в другом месте :

, Если в Windows Host:

<?
    $f = 'f:/www/docs';
    $obj = new COM ( 'scripting.filesystemobject' );
    if ( is_object ( $obj ) )
    {
        $ref = $obj->getfolder ( $f );
        echo 'Directory: ' . $f . ' => Size: ' . $ref->size;
        $obj = null;
    }
    else
    {
        echo 'can not create object';
    }
?>

Еще, если на Хосте Linux:

<?
    $f = './path/directory';
    $io = popen ( '/usr/bin/du -sk ' . $f, 'r' );
    $size = fgets ( $io, 4096);
    $size = substr ( $size, 0, strpos ( $size, "\t" ) );
    pclose ( $io );
    echo 'Directory: ' . $f . ' => Size: ' . $size;
?>
38
ответ дан Álvaro González 7 November 2019 в 07:35
поделиться

Существует несколько вещей, которые Вы могли сделать для оптимизации сценария - но максимальный успех сделает его IO-bound, а не зависящий от ЦП:

  1. Вычисляют rtrim($path, '/') внешняя сторона цикл.
  2. делают if ($t<>"." && $t<>"..") внешний тест - ему не нужно к статистике, которую путь
  3. Вычисляет rtrim($path, '/') . '/' . $t однажды на цикл - внутри 2) и берущий 1) во внимание.
  4. Вычисляют explode(' ','B KB MB GB TB PB'); однажды, а не каждый вызов?
2
ответ дан Douglas Leeder 7 November 2019 в 07:35
поделиться

Это - самый простой алгоритм для обнаружения размера каталога независимо от языка программирования, который Вы используете. Для определенной реализации PHP. перейдите в: Вычисляют Размер Каталога в PHP | Объясненный с Алгоритмом | Работающий Код

0
ответ дан 7 November 2019 в 07:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: