Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как посчитать количество файлов на сайте

7.7K
17 марта 2006 года
realcoding
52 / / 09.02.2006
Помогите, как посчитать и вывести на страницу количество rar архивов со всего сайта, а не с отдельного каталога?
583
17 марта 2006 года
#define
150 / / 03.12.2002
Сканировать директорию на сервере с рекурсией для подкаталогов и считать встречающиеся rar-файлы. Это при помощи скриптов, выполняющихся на стороне сервера, например таких как PHP.
12
17 марта 2006 года
alekciy
3.0K / / 13.12.2005
Цитата:
Originally posted by realcoding
Помогите, как посчитать и вывести на страницу количество rar архивов со всего сайта, а не с отдельного каталога?


Если говорить про PHP и иметься версия 5, то есть функция scandir:

Описание
array scandir ( string directory [, integer sorting_order] )


Возвращает array, содержащий имена файлов и каталогов, расположенных по пути, переданном в параметре directory. Если directory не является таковым, функция возвращает логическое значение FALSE и генерирует сообщение об ошибке уровня E_WARNING.

По умолчанию, сортировка производится в алфавитном порядке по возрастанию. Если указан необязательный параметр sorting_order (равен 1), сортировка производится в алфавитном порядке по убыванию.

7.7K
18 марта 2006 года
realcoding
52 / / 09.02.2006
Речь идет о PHP4 нужен алгоритм. Необходимо получить лишь количество файлов rar. Имена не обязательно
583
18 марта 2006 года
#define
150 / / 03.12.2002
Код:
$count++;

$phandle = opendir($dir);
readdir($phandle); readdir($phandle);

while($pfile = readdir($phandle))
if(ereg(".rar$",$dir.$pfile))
{
  $count++;
}

closedir($phandle);
Типа того. Ну еще рекурсию добавить для подкаталогов.
7.7K
18 марта 2006 года
realcoding
52 / / 09.02.2006
Цитата:
Originally posted by #define
Код:
$count++;

$phandle = opendir($dir);
readdir($phandle); readdir($phandle);

while($pfile = readdir($phandle))
if(ereg(".rar$",$dir.$pfile))
{
  $count++;
}

closedir($phandle);
Типа того. Ну еще рекурсию добавить для подкаталогов.



Спасибо! Подскажи как реализовать поиск в подкаталогах если у меня каталоги идут в три уровня.

12
18 марта 2006 года
alekciy
3.0K / / 13.12.2005
Цитата:
Originally posted by realcoding
Спасибо! Подскажи как реализовать поиск в подкаталогах если у меня каталоги идут в три уровня.


Помниться когда только ещё взял PHP в руки такую функцию набросал (потому как тоже 4-ая версия пыха):

Код:
function scan_dir ($path) {
    $dir=@dir ($path);
    if ($dir == FALSE) {
        return;
    };
    $dir_cont=array();
    while (false !== ($file = $dir->read())) {
        $path_dir="$path/$file";
        if (is_dir($path_dir)) {
            if ($file != "." && $file != "..") {
                $dir_cont[$file]='yes';
            };
        };
        if (preg_match ("/(jpg)$|(gif)$|(png)$/i", $file) == 1) {
            $dir_cont[$file]='no';
        };
    };
    $dir->close();
    return $dir_cont;
};

Планировалось, что она будет искать файлы в движке фото галереи. Надеюсь сообразишь, что к чему.
583
18 марта 2006 года
#define
150 / / 03.12.2002
В моем коде в 1ой строке имелось в виде не $count++, а $count = 0 :) оЧепятался.

Моя ф-ия с рекурсией:
Код:
function CountRars($dir) {
  if($dir[strlen($dir)-1]!='/') $dir.='/';
 
  $phandle = opendir($dir);
  readdir($phandle); readdir($phandle);

  while($pfile = readdir($phandle)) {
    if(is_dir($dir.$pfile)) @$count += CountRars($dir.$pfile);
    else if(ereg(".rar$",$dir.$pfile)) @$count++;
  }
 
  closedir($phandle);
  return ($count);
}

echo CountRars('test');
7.7K
19 марта 2006 года
realcoding
52 / / 09.02.2006
Огромное С П А С И Б О ! ! ! тем, кто помогал. А делаю я электронную библиотеку, если кому интересен проект, то в личку
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог