ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数 mkdir を使用して複数レベルのディレクトリを作成する方法_PHP チュートリアル
ウェブサイトに複数レベルのディレクトリを追加したい場合は、php関数mkdirパラメータと説明
パスを使用できます。作成するディレクトリの名前を指定します。
モードが必要です。権限を指定します。デフォルトは 0777 です。
再帰的必須。再帰モードを設定するかどうかを指定します。
コンテキストが必要です。ファイルハンドルの環境を指定します。コンテキストは、ストリームの動作を変更するオプションのセットです。
説明
php関数mkdirは、パスで指定された新しいディレクトリを作成しようとします。
デフォルトのモードは 0777 で、これは可能な限り最大のアクセスを意味します。
php のデフォルトの mkdir は、一度に 1 つのレイヤーのディレクトリーのみを作成できます。現在のディレクトリーに div/css/layout ディレクトリーを作成する場合は、最初にレイヤーごとに div を作成し、次に div/css を作成してから div を作成する必要があります。 /css/ レイアウトですが、プログラムがこのプロセスを自動的に完了するようにしたいと考えています。
実際、考え方は非常に簡単です。 1. まず div ディレクトリが存在するかどうかを確認し、存在しない場合は作成します。 2. サブディレクトリ div/css が存在するかどうかを確認し、存在しない場合は作成します。 3. 2 番目のステップでサブディレクトリをパラメータとして使用し、関数自体を再帰的に呼び出します。逆の順序で続行することもできます。 1. 最初に下位ディレクトリ div/css/layout が存在するかどうかを確認します。 2. div/css/layout の上位ディレクトリ div/css が存在するかどうかを確認します。存在しない場合は、div/ を使用します。 css をパラメータとして再帰的に実行します。 。
以下はPHP関数mkdirのプログラムコードです:
<ol class="dp-xml"> <li class="alt"><span><span>function mkdirs($dir) </span></span></li> <li><span>{ </span></li> <li class="alt"><span>if(!is_dir($dir)) </span></li> <li><span>{ </span></li> <li class="alt"><span>if(!mkdirs(dirname($dir))){ </span></li> <li><span>return false; </span></li> <li class="alt"><span>} </span></li> <li><span>if(!mkdir($dir,0777)){ </span></li> <li class="alt"><span>return false; </span></li> <li><span>} </span></li> <li class="alt"><span>} </span></li> <li><span>return true; </span></li> <li class="alt"><span>} </span></li> <li><span>mkdirs('div/css/layout'); </span></li> <li class="alt"><span>同样的思路,php用rmdir和unlink递归删除多级目录的代码: </span></li> <li><span>function rmdirs($dir) </span></li> <li class="alt"><span>{ </span></li> <li> <span>$</span><span class="attribute">d</span><span> = </span><span class="attribute-value">dir</span><span>($dir); </span> </li> <li class="alt"> <span>while (false !== ($</span><span class="attribute">child</span><span> = $d-</span><span class="tag">></span><span>read())){ </span> </li> <li><span>if($child != '.' && $child != '..'){ </span></li> <li class="alt"><span>if(is_dir($dir.'/'.$child)) </span></li> <li><span>rmdirs($dir.'/'.$child); </span></li> <li class="alt"><span>else unlink($dir.'/'.$child); </span></li> <li><span>} </span></li> <li class="alt"><span>} </span></li> <li> <span>$d-</span><span class="tag">></span><span>close(); </span> </li> <li class="alt"><span>rmdir($dir); </span></li> <li><span>} </span></li> </ol>
上記のコード例は、PHP関数mkdirを使用して複数階層のディレクトリを作成する具体的な方法です。