Hostem Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 Есть ли функция подсчета количества файлов в папке на PHP? Т.е. нужно постоянно в скрипте подсчитывать кол-во фалов. Лучше бы встроеная была... Или если нету, то как выглядит самая оптимальная функция? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 Да кстати мне тоже интересно ! Есть такой скрип, чтоб его в папку кинуть, он подсчитал файлы, а потом путём вставки этого файла в страницу, мы видели число файлов ? Очень полезная штука ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Roix Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 TAPAKAH2 Конечно есть! Manlix dirs viewer v3.1 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 О спасибо ! Щас попробую в действии ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Roix Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 TAPAKAH2 Если это не то, то 100% есть, поисщи Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 Да это не то, но там есть такая функция ! Это переделывать под сайт просто нереально ! Надобы что-то другое ! Даже не знаю что искать если честно ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Valera Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 Работа с директориями, http://www.php.net/manual/en/function.readdir.php(данные примеры помогут вам самостоятельно сделать счетчик файлов) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 Почитаю ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 15 Июля 2004 Автор Жалоба Поделиться Опубликовано 15 Июля 2004 Вот: if ($handle = opendir('.')) { $k=0; while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && !is_dir($file)) { $k++; } } closedir($handle); echo "Количество файлов: $k";} Вроде работает и считает только файлы (без вложеных папок). Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Roix Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 TAPAKAH2 Так возьми код, той функции, и доработай под сайт... Добавлено в [mergetime]1089913372[/mergetime] Ну вот вам рабочий код<?php // Обратите внимание, что оператор !== не существовал до версии 4.0.0-RC2 if ($handle = opendir('/path/to/files')) { echo "Дескриптор каталога: $handle\n"; echo "Файлы:\n"; /* Именно этот способ чтения элементов каталога является правильным. */ while (false !== ($file = readdir($handle))) { echo "$file\n"; } /* Этот способ НЕВЕРЕН. */ while ($file = readdir($handle)) { echo "$file\n"; } closedir($handle); } ?> Софициального мануала php Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 15 Июля 2004 Автор Жалоба Поделиться Опубликовано 15 Июля 2004 А нет - папки тоже считает... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Roix Опубликовано 15 Июля 2004 Жалоба Поделиться Опубликовано 15 Июля 2004 А вот из кода Hostem,Что говорит это : $k=0; Добавлено в [mergetime]1089913889[/mergetime] А это тоже будет работать ?<?php$dir = '/tmp';$files = scandir($dir); print_r($files);?> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 16 Июля 2004 Жалоба Поделиться Опубликовано 16 Июля 2004 Попробую ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 16 Июля 2004 Жалоба Поделиться Опубликовано 16 Июля 2004 А можно сделать, чтобы файлы определённого формата считала ? Например *.exe а другие пропускала ???? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Roix Опубликовано 16 Июля 2004 Жалоба Поделиться Опубликовано 16 Июля 2004 TAPAKAH2 Да!<? function CheckExt($filename, $ext) { $passed = FALSE; $testExt = "\.".$ext."$"; if (eregi($testExt, $filename)) { $passed = TRUE; } return $passed; } //Define an array of common extensions. $exts = array("gif","jpg$|\\.jpeg","png","bmp"); echo "<b>Images in this folder:</b>"; $dir = opendir("."); $files = readdir($dir); while (false !== ($files = readdir($dir))) { foreach ($exts as $value) { if (CheckExt($files, $value)) { echo "<a href=\"$files\">$files</a>\n"; $count++; //Keep track of the total number of files. break; //No need to keep looping if we've got a match. } } } echo $count." image(s) found in this directory.\n"; echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Refresh</a>\n"; //Be a good script and clean up after yourself... closedir($dir); ?> Всё работает! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 16 Июля 2004 Жалоба Поделиться Опубликовано 16 Июля 2004 О спасибо щас попробую ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Hostem Опубликовано 16 Июля 2004 Автор Жалоба Поделиться Опубликовано 16 Июля 2004 Roix А вот из кода Hostem,Что говорит это :$k=0; Перед циклом обнуляем счетчик. А что? Добавлено в [mergetime]1089964313[/mergetime] Вот у меня если написать opendir('.'), то считает одни файлы, но в той директории где находится скрипт, а если opendir('название папки'), то считает и файлы и папки в папке 'название папки'. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 16 Июля 2004 Жалоба Поделиться Опубликовано 16 Июля 2004 Да ето делать надо ! Спасибо Roix всё пашет ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 16 Июля 2004 Жалоба Поделиться Опубликовано 16 Июля 2004 А можно сделать чтоб он ещё сколько мб считал ? Или это сложно ??? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Valera Опубликовано 16 Июля 2004 Жалоба Поделиться Опубликовано 16 Июля 2004 А можно сделать чтоб он ещё сколько мб считал ?тоже самое, но ты суммируешь размер всех файлов... а примеры ты можешь взять из уже приведенной мною ссылки. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TAPAKAH2 Опубликовано 16 Июля 2004 Жалоба Поделиться Опубликовано 16 Июля 2004 Попытаюсь ! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.