2017-09-22 3 views
-3

Ich benutze Laravel 5.4 und ich möchte Ordner löschen. Wie kann ich einen Ordner mit einem Präfix mit Datei Fassade löschen?Wie lösche ich Ordner in Laravel mit Präfix

zum Beispiel ist mein Ordner und Code:

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


File::deleteDirectory($file); 

und jetzt möchte ich, dies zu tun: *_folder1 löschen (alle Ordner denen Enden mit _folder1 Wort)

------ - soloution:

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

Antwort

1

können Sie Ordner von PHP-Funktion rmdir zum Beispiel

löschen
1

Sie konnten die exec() Methode verwenden

Zunächst erhalten alle Verzeichnisse, die Sie suchen

$files_directory = []; 
$file_search_directory = public_path()./images/carimages/'; 
$file_search_results = exec('find '. $file_search_directory . ' -type d -name "*_folder"', $files_directory); 

Dann könnten Sie Schleife durch die Verzeichnisdateien und sie

foreach ($files_directory as $file_path) { 
    File::deleteDirectory($file_path); 
} 
löschen
+0

ich kann es damit tun: array_map ('rmdir', glob ('* _ folder1')); . ist das gut ? –

+0

Nun, wenn das für dich funktioniert, gut. Es gibt immer mehr als eine Möglichkeit, Ihr Ziel zu erreichen! und deine Methode scheint kurz und präzise! Erwägen Sie, dass als Antwort hinzufügen – linktoahref

+0

danke. Gibt es Unterschiede zwischen Datei-Fassade und PHP-RMDIR-Funktion in Leistung oder Sicherheit? –

1

Versuchen Sie diese

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