- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
На сервере, в папке files лежит несколько папок с файлами. Как посчитать их общее количество? Кто нибудь может накидать простенький php код счётчика? Интересует только одна цифра - общее количество файлов находящихся в папках директории files.
__________________Все посетители живые, не боты. (http://livesurf.ru/promo/80271)
На баше:
find /path/to/folder/ -type f | wc -l
Можно, в принципе, ПХП скриптом это выполнять. Либо полностью реализовывать на ПХП с рекурсией, гугл в помощь
$iz=0; //Счётчик на 0
function spider($path)
{
global $iz;
$dir = opendir($path);
while($d = readdir($dir))
{
if ($d == '.' || $d == '..') continue;
if (is_file($path.'/'.$d))
{
$iz++;
}
}
else if (is_dir($path.'/'.$d)) spider($path.'/'.$d);
}
}
spider('/НАША ПАПКА С ФАЙЛАМИ/');
echo 'У нас файлов в папке: '.$iz.' шт.';
$iz=0; //Счётчик на 0
function spider($path)
{
global $iz;
$dir = opendir($path);
while($d = readdir($dir))
{
if ($d == '.' || $d == '..') continue;
if (is_file($path.'/'.$d))
{
$iz++;
}
}
else if (is_dir($path.'/'.$d)) spider($path.'/'.$d);
}
}
spider('/НАША ПАПКА С ФАЙЛАМИ/');
echo 'У нас файлов в папке: '.$iz.' шт.';
Пишет ошибку в этой сточке
else if (is_dir($path.'/'.$d)) spider($path.'/'.$d);
ошибка
Parse error: syntax error, unexpected T_ELSE in /var/www/..../info.php on line 16
<?
$iz=0; //Счётчик на 0
function spider($path)
{
global $iz;
$dir = opendir($path);
while($d = readdir($dir))
{
if ($d == '.' || $d == '..') continue;
if (is_file($path.'/'.$d))
{
$iz++;
}
else if (is_dir($path.'/'.$d)) spider($path.'/'.$d);
}
}
spider('/НАША ПАПКА С ФАЙЛАМИ/');
echo 'У нас файлов в папке: '.$iz.' шт.';
?>
<?
$iz=0; //Счётчик на 0
function spider($path)
{
global $iz;
$dir = opendir($path);
while($d = readdir($dir))
{
if ($d == '.' || $d == '..') continue;
if (is_file($path.'/'.$d))
{
$iz++;
}
else if (is_dir($path.'/'.$d)) spider($path.'/'.$d);
}
}
echo 'У нас файлов в папке: '.$iz.' шт.';
?>
Сработало. Одна тонкость... нужно убрать из кода слеши (косые черты) в строчке
spider('/НАША ПАПКА С ФАЙЛАМИ/');
А вообще, спасибо. Не первый раз помогаете.
PS. Плюсануть не получилось. Видать здесь нужно 50 человек прокликать, чтоб добавить одному и тому же человеку второй плюс. Странности настроек форума (forbidden to discuss)... :D
Используйте лучше функцию glob (или scandir если нужно учитывать скрытые файлы), вместо конструкций opendir/readdir. Код понятнее будет.
А этот не по фэн-шую? :D
А этот не по фэн-шую? :D
Нет, с ним всё нормально :)
Но без всех этих проверок ($d == '.' || $d == '..') и открытия директории, он станет ещё фэн-шуйнее.
Используйте лучше функцию glob (или scandir если нужно учитывать скрытые файлы), вместо конструкций opendir/readdir. Код понятнее будет.
И так работает нормально. За секунду обходит 30 папок и пересчитывает около 200K файлов.
И так работает нормально. За секунду обходит 30 папок и пересчитывает около 200K файлов.
Ну физически он их не "обходит"