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

时间:2017-09-22 04:40:38

标签: laravel laravel-5 laravel-5.4 laravel-filesystem

即时通讯使用laravel 5.4,我想删除文件夹。如何使用文件外观删除带前缀的文件夹?

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

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


File::deleteDirectory($file);

现在我想这样做:删除*_folder1(所有以_folder1字结尾的文件夹)

------- Soloution:

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

3 个答案:

答案 0 :(得分:1)

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

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

rmdir('examples');

答案 1 :(得分:1)

您可以使用exec()方法

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

$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);
}

答案 2 :(得分:1)

试试这个

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