如何删除带有前缀的laravel中的文件夹

如何删除带有前缀的laravel中的文件夹,laravel,laravel-5,laravel-5.4,laravel-filesystem,Laravel,Laravel 5,Laravel 5.4,Laravel Filesystem,我正在使用laravel 5.4,我想删除文件夹。如何使用file facade删除带有前缀的文件夹 例如,它是我的文件夹和代码: $folder = public_path().'/images/carimages/something_folder1'; File::deleteDirectory($file); 现在我要做的是:删除*\u folder1(所有以\u folder1字结尾的文件夹) -------Soloution: $dir = public_path().'/ima

我正在使用laravel 5.4,我想删除文件夹。如何使用file facade删除带有前缀的文件夹

例如,它是我的文件夹和代码:

$folder = public_path().'/images/carimages/something_folder1';


File::deleteDirectory($file);
现在我要做的是:删除
*\u folder1
(所有以
\u folder1
字结尾的文件夹)

-------Soloution:

$dir = public_path().'/images/carimages/*_folder1';
$dir = glob($dir);
$dir = implode(" ",$dir);
File::deleteDirectory($dir);

例如,您可以通过PHP函数删除文件夹

if (!is_dir('examples')) {
    mkdir('examples');
}

rmdir('examples');
你可以用这个方法

首先,获取您要查找的所有目录

$files_directory = [];
$file_search_directory = public_path()./images/carimages/';
$file_search_results = exec('find '. $file_search_directory . ' -type d -name "*_folder"', $files_directory);
然后,您可以在文件目录中循环并删除它们

foreach ($files_directory as $file_path) {
    File::deleteDirectory($file_path);
}
试试这个

 $files = File::directories(base_path('/images/carimages'));
    foreach($files as $file) {
        if (strpos($file, '_folder1') !== false) {
            File::deleteDirectory($file);
        }
    }

我可以这样做:array_map('rmdir',glob('*_folder1')。这好吗?如果对你有用的话,很好。实现你的目标总有不止一种方法!你的方法看起来又短又精确!考虑一下这个问题,谢谢。文件facade和php rmdir函数在性能或安全性方面有什么不同吗?我不认为有什么不同,因为您可以检查它在内部使用的代码
unlink
rmdir