2017-09-22 1 views
-3

im laravel 5.4を使用していて、フォルダを削除します。ファイルファサードを使用して接頭辞付きのフォルダを削除するにはどうすればよいですか?接頭辞が付いているlaravelのフォルダを削除するには

例えば、それは私のフォルダとコードです:

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

答えて

1

あなたは一例

のためのPHP関数 rmdirでフォルダを削除することができます210 は
if (!is_dir('examples')) { 
    mkdir('examples'); 
} 

rmdir('examples'); 
1

あなたは

まず、あなたが

$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); 
} 
それらを削除することができ exec()メソッドを使用することができます
+0

私はこれでこれを行うことができます:array_map( 'rmdir'、glob( '* _ folder1')); 。これはいいですか? –

+0

それはあなたのためにうまくいくなら、良い。あなたの目標を達成するには、常に複数の方法があります。あなたの方法は短く正確です!それを回答として追加することを検討してください – linktoahref

+0

ありがとうございます。パフォーマンスやセキュリティにファイルファサードとphp rmdirの機能の違いはありますか? –

1

お試しください

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