PHP では、mkdir 関数はディレクトリを再帰的に作成することはできません。操作メソッドを見てみましょう。
例
コードは次のとおりです | コードをコピー |
/** ?> |
例 2
どういうわけか、再帰バージョンの mkdir が Mac 上で動作しませんでした。回避策はリストされています
以下も私にはうまくいかなかったので、私の解決策は次のとおりです:
コードは次のとおりです | コードをコピー |
function mkdir_r($dirName, $rights=0777){ テスト済みで動作します ;) |
例 3
コードは次のとおりです | コードをコピー |
関数 mkdirs($dir) { if(!is_dir($dir)) if(!mkdirs(dirname($dir))){ return false; } if(!mkdir($dir,0777)){ return false; } } true を返す; } 関数rmdirs($dir) { $d = dir($dir); while (false !== ($child = $d->read())){ if($child != '.' && $child != '..'){ if(is_dir($dir.'/'.$child)) rmdirs($dir.'/'.$child); else unlink($dir.'/'.$child); } } $d->close(); rmdir($dir); }
|
ディレクトリを作成する 3 つの関数にはそれぞれ利点があります。ここでは 1 つずつテストしていませんが、2 つ目の関数だけを使用しました。