как посчитать количество файлов, которые уже существуют в папке - PullRequest
0 голосов
/ 25 февраля 2019

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

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 в качестве вывода?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

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

$fi = new FilesystemIterator('directory/location', FilesystemIterator::SKIP_DOTS);
printf("Number of files: %d ", iterator_count($fi));
0 голосов
/ 25 февраля 2019

Вы используете 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...