2016-08-08 6 views
1

以下の小さなコードスニペットについて質問があります。 現時点では、最初のコードスニペットを使用しており、完全に実行されています。 しかし、2番目のコードは、フォルダやファイルを削除するより良い方法はありませんか? 私の変数$targetは、hwoが削除する必要のあるフォルダへのパスです。PHPのフォルダとファイルを削除する

function deleteFilesAndDirectory($target) 
{ 
    if(is_dir($target)) 
    { 
     $files = glob($target . '*', GLOB_MARK); 
     foreach($files as $file) 
     { 
      deleteFilesAndDirectory($file);  
     } 
     rmdir($target); 
    } 
    elseif(is_file($target)) 
    { 
     unlink($target); 
    } 
} 

なぜこのコードは使用しないでください。

function deleteFilesAndDirectory($target) 
{ 
    $files = glob($target . '*', GLOB_MARK); 
    foreach($files as $file) 
    { 
     unlink($file);  
    } 
    rmdir($target); 
} 

答えて

1

削除するディレクトリにサブディレクトリが含まれていない限り、2番目の方法は問題ありません。サブディレクトリをクリーンアップするには、再帰関数が最善の方法です。そのため、最初のコードサンプルでは、​​deleteFilesAndDirectory()という関数が呼び出されます。

+0

haありがとう、私の友人、これは私のための短いと明確な答えでした:) 私は短いコードを使用することはできませんので、サブディレクトリがありません。 –

関連する問題