php mkdir は一度に 1 レベルのディレクトリしか作成できません。複数のレベルがある場合は、再帰的にディレクトリを作成する必要があります。この関数を使用するためのヒントをいくつか紹介します。
まずmkdir()関数を紹介します
mkdir($path,0777,true);
最初のパラメータ: 必須、作成される複数レベルのディレクトリのパスを表します。
2 番目のパラメータ: ディレクトリの権限を設定します。デフォルトは 0777 で、これは可能な最大のアクセス権を意味します。3 番目のパラメータ: true は、複数レベルのディレクトリの作成を許可することを意味します。
mkdir($dir,$mode); ただし、一度に作成できるディレクトリは 1 つだけです。つまり、次のように複数レベルのディレクトリを一度に作成することはできません。
mkdir('aa'); // aa ディレクトリは 1 つだけ作成できますmkdir('aa/bb/cc');// aa/bb ディレクトリがあれば正常に cc ディレクトリを作成できますが、そうでない場合はエラーが報告されます。複数のディレクトリを作成したい場合は、以下のコード
コード例 (中国語ディレクトリの作成をサポート):
コードは次のとおりです
header("コンテンツタイプ:text/html;charset=utf-8"); //作成される複数レベルのディレクトリ //ディレクトリが存在するかどうかを確認し、存在しない場合はディレクトリを作成します 。 if (is_dir($path)){echo "申し訳ありません! ディレクトリ " . $path . " は既に存在します!"; }その他{ //3 番目のパラメータは「true」です。これは、iconv が中国語のディレクトリの文字化けを防ぐことを意味します。 $res=mkdir(iconv("UTF-8", "GBK", $path),0777,true); if ($res){ echo "ディレクトリ $path が正常に作成されました"; }その他{ echo "ディレクトリ $path の作成に失敗しました"; } } ?>
|
エディターは、参考のためにディレクトリを再帰的に作成する 2 つの方法をまとめました。ありがとうございます。
コードは次のとおりです
/* | |
*PHP はディレクトリを再帰的に作成します
*/
|