Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
247 views
in Technique[技术] by (71.8m points)

unlink - Remove files recursively with php - specific pattern only - PHP

Searched through this site and tried some suggestions but no luck so far.

I have a bunch of files containing this string in the filename: " 2" for example: test 2.php or imagename 2.jpg

I want to remove all files that contain the " 2" string from root folder (/httpsdocs) and all subfolders.

Tried this:

foreach (glob("* 2.*") as $filename) {
    unlink($filename);
question from:https://stackoverflow.com/questions/66064378/remove-files-recursively-with-php-specific-pattern-only-php

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Have you tried something like that ?

public function removeFilesOnDirectory($path)
{

    $files = glob($path . '/*');
    foreach ($files as $file) {
        if(is_dir($file)) {
            $this->removeDirectory($file);
        } else {
            if (str_contains($file, '2' /* Your constraint */)) {
                unlink($file);
            }
        }
    }

    return;
}

Call this->removeDirectory(/* your path */);

Works for me, just testing it :)

Regards


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...