即时通讯使用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);
答案 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);
}
}