• RecursiveIteratorIterator: exclude file

    From SupaPlex@21:1/5 to All on Mon May 2 13:32:49 2022
    --- CODE ---
    function main($dir, $md5ContainerFilename) {
    $elements = iterator_to_array(
    new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($dir)
    )
    );

    $records = [];
    foreach ($elements as $element) {
    if (is_dir($element)){
    continue;
    }

    $record = md5($element) . ' ' . $element;

    array_push($records, $record);
    }

    $recordsStr = implode(PHP_EOL, $records);

    file_put_contents($md5ContainerFilename, $recordsStr);
    }

    main(
    '.',
    'dir/md5-container'
    );
    --- CODE END ---

    $ cat dir/md5-container
    b4d1a9a6ea915fbc185205f2d9b61caf ./dir/file
    847971a473761ce82235c3f99d6a483b ./dir/file2
    76efa814f29375feaf93f6b08982ae4e ./dir/md5-container 516f8127e52fadca9ede40e54a59f04b ./file
    0a9990b3c55615b43bd0b0bbbf43dd06 ./file2

    As you can see, among the various files, there is also the file dir/md5-container
    This file should be the cont
  • From J.O. Aho@21:1/5 to SupaPlex on Wed May 4 18:28:20 2022
    On 02/05/2022 13:32, SupaPlex wrote:
    --- CODE ---
    function main($dir, $md5ContainerFilename) {
        $elements = iterator_to_array(
                new RecursiveIteratorIterator(
                        new RecursiveDirectoryIterator($dir)
                )
        );

        $records = [];
        foreach ($elements as $element) {
            if (is_dir($element)){
                continue;
            } if(str_ends_with($element, 'md5-container') {
    continue;
    ]

            $record = md5($element) . ' ' . $element;

            array_push($records, $record);
        }

        $recordsStr = implode(PHP_EOL, $records);

        file_put_contents($md5ContainerFilename, $recordsStr);
    }

    main(
            '.',
            'dir/md5-container'
    );
    --- CODE END ---

    $ cat dir/md5-container
    b4d1a9a6ea915fbc185205f2d9b61caf ./dir/file
    847971a473761ce82235c3f99d6a483b ./dir/file2
    76efa814f29375feaf93f6b08982ae4e ./dir/md5-container 516f8127e52fadca9ede40e54a59f04b ./file
    0a9990b3c55615b43bd0b0bbbf43dd06 ./file2

    As you can see, among the various files, there is also the file dir/md5-container
    This file should be the container, not part of the content.
    How can I do to exclude it?

    See code above.

    --

    //Aho

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)