再帰的にディレクトリを削除する


file system

 悩み事

再帰的にすべてのファイル、すべてのサブディレクトリを削除したい

 解決方法

File::deleteDirectory() メソッドを利用します

$success = \File::deleteDirectory($directory);

ディレクトリが存在しない場合は、falseが返却され、
それ以外の場合はtrueが返却されます

トップレベルのディレクトリを保持したい場合は、第二引数にtrueを指定して下さい

$success = \File::deleteDirectory($directory, true);

$directoryを残して、その配下が全て削除されます

 アドバイス

このメソッドは失敗する場合があります

実際にどれかのファイルが削除されていない場合でも、trueが返却されます

指定したトップレベルのディレクトリも全て削除する場合(第二引数がfalseの場合)、
確実にディレクトリが削除されたかどうかを確認する場合は、
File::exists()メソッドを利用してください
ファイルが存在するかどうかを確認する


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa