ホームページ >バックエンド開発 >PHPチュートリアル >PHP が再帰的にディレクトリを作成する (疑似オリジナル)_PHP チュートリアル
場合によっては、ディレクトリ関数を再帰的に作成する必要があります。この場合、dirname() 関数 (パスのディレクトリ部分を取得するため) と mkdir() 関数 (ディレクトリを作成するため) を使用する必要があります。
まずは文法を普及させましょう:
(PHP 4、PHP 5)
dirname — パスのディレクトリ部分を返します
$path
)
ファイルへのフルパスを含む文字列を指定すると、この関数はファイル名を削除した後のディレクトリ名を返します。
path
パス。
Windows では、スラッシュ (/) とバックスラッシュ () の両方をディレクトリ区切り文字として使用できます。他の状況では、スラッシュ (/) になります。
パスの親ディレクトリを返します。 path
中没有斜线,则返回一个点('.'),表示当前目录。否则返回的是把 path
にスラッシュがない場合は、現在のディレクトリを示すドット (「.」) が返されます。それ以外の場合、返される文字列は、
バージョン | 説明 |
---|---|
5.0.0 | dirname() 操作は、PHP バージョン 5.0.0 以降ではバイナリ セーフです。 |
4.0.3 | このバージョンでは、dirname() が POSIX 互換になるように修正されています。 |
例 #1 dirname() の例
<?php <br>
「1)」をエコーします。 dirname("/etc/passwd") 。 PHP_EOL; // 1) /etc<br>
「2)」をエコーします。 dirname("/etc/") 。 PHP_EOL; // 2) / (または Windows の場合)<br>
「3)」をエコーします。ディレクトリ名("."); // 3) .<br>
?>
注:
dirname() は入力文字列に対して単純に動作し、実際のファイルシステムや「..」などのパスコンポーネントを認識しません。
注:
dirname() はロケールを認識するため、マルチバイト文字パスを含む正しいディレクトリ名を表示するには、setlocale() 関数を使用して一致するロケールを設定する必要があります。
注:
PHP 4.3.0 以降、古い機能では空の文字列が返される状況で、dirname() からスラッシュまたはドットが返されることがよくあります。
检查下発生変化の例:
<?php <br>
<br>
// PHP 4.3.0 以前<br>
ディレクトリ名('c:/'); // 返す '.'<br>
<br>
// PHP 4.3.0以降<br>
ディレクトリ名('c:/x'); // 'c:' を返します<br>
dirname('c:/Temp/x'); // 'c:/Temp' を返す<br>
ディレクトリ名('/x'); // 返す '/'
(Windows では '')<br>
<br>
?>
(PHP 4、PHP 5)
mkdir — 新建目录
$pathname<code class="parameter">$pathname
[, int $mode
[, int $mode<code class="parameter">$recursive
=
0777 [, bool $recursive<code class="parameter">$context
=
false [, resource$context<p class="para rdfs-comment"> ]]]
)
</p>パス名で指定された項目を新しく作成します。
<h3 class="title">
パラメータ ?</h3>
<dl><dt><code class="parameter">パス名<code class="parameter">pathname
目录の経路。
モード<dt>
<code class="parameter">mode
注:
在 Windows は下にあります。
モード
また、モードを 8 分割数で指定すること、つまり、この数をゼロ点で指定することも推奨されています。モードは、現在の umask で変更される可能性があり、umask() を使用して変更できます。
mode
再帰的<p class="para"></p>
<dt><code class="parameter">パス名<code class="parameter">recursive
で指定されたネストされたディレクトリの作成を許可します。コンテキスト<code class="parameter">pathname
context
注: PHP 5.0.0 では、上下文 (Context) のサポートが追加されました。上下文 (Context) の説明はストリームに参加します。
返し值 ?成功した場合は
を返し、失敗した場合は FALSETRUE
, 或者在失败时返回 FALSE
を返します。
说明 | |
---|---|
mkdir() は特定の URL にも使用できます サポートされているパッケージとカプセル化プロトコルの一覧を参照 mkdir() でサポートされているものを参照してください。 URL 封入。 | |