Как подсчитать количество файлов, которые уже существуют в папке

В управлении файлами для перемещения файлов в другую папку я пытаюсь подсчитать количество файлов, которые уже существуют в папке.

foreach($checkboxfiles as $checkboxfile) {
    $src_file = $checkboxfile;
    $fileName = basename($src_file);
    $new_dest = $_POST['cbdestination'];

    /* New path for this file */
    $dest_file = $MainFolderName.'/'. $new_dest . '/' . $fileName;

    echo count(file_exists($dest_file)); //this should give me the number of files which already exists

Поскольку 2 файла уже существуют, эхо выдает

11
11

как вывод. Как я могу получить число 2 в качестве вывода?

file_exists возвращает true или false. Какой смысл считать результат этого?
u_mulder 25.02.2019 11:10

Кроме того, вы, скорее всего, получите не число 11, а число 1, повторенное дважды.

Fabian 25.02.2019 11:12
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
227
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы используете count неправильно. file_exists возвращает true или false. count используется для счета arrays. Для достижения желаемого вы можете:

$count = 0;  
foreach($checkboxfiles as $checkboxfile) {
    $src_file = $checkboxfile;
    $fileName = basename($src_file);
    $new_dest = $_POST['cbdestination'];

    /* New path for this file */
    $dest_file = $MainFolderName.'/'. $new_dest . '/' . $fileName;
    if (file_exists($dest_file)){
        $count++;
    }
}
echo $count;

Вы можете подсчитать количество файлов в папке с помощью FilesystemIterator (требуется PHP 5 >= 5.3.0, PHP 7)

$fi = new FilesystemIterator('directory/location', FilesystemIterator::SKIP_DOTS);
printf("Number of files: %d ", iterator_count($fi));

Аккуратный метод, но не то, что хотел ОП. OP имеет список файлов и хочет проверить, сколько из них (если они есть) уже существуют в данном каталоге.

Fabian 25.02.2019 11:34

Другие вопросы по теме