ホームページ >バックエンド開発 >PHPチュートリアル >PHP が再帰的にディレクトリを作成する (疑似オリジナル)_PHP チュートリアル

PHP が再帰的にディレクトリを作成する (疑似オリジナル)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:42:181036ブラウズ

場合によっては、ディレクトリ関数を再帰的に作成する必要があります。この場合、dirname() 関数 (パスのディレクトリ部分を取得するため) と mkdir() 関数 (ディレクトリを作成するため) を使用する必要があります。

まずは文法を普及させましょう:

姓名

(PHP 4、PHP 5)

dirname — パスのディレクトリ部分を返します

説明?

文字列ディレクトリ名 (文字列 $path)

ファイルへのフルパスを含む文字列を指定すると、この関数はファイル名を削除した後のディレクトリ名を返します。

パラメータ ?

path

パス。

Windows では、スラッシュ (/) とバックスラッシュ () の両方をディレクトリ区切り文字として使用できます。他の状況では、スラッシュ (/) になります。

戻り値 ?

パスの親ディレクトリを返します。 path 中没有斜线,则返回一个点('.'),表示当前目录。否则返回的是把 path にスラッシュがない場合は、現在のディレクトリを示すドット (「.」) が返されます。それ以外の場合、返される文字列は、

の末尾の /component (最後のスラッシュとそれに続く部分) を削除した後の文字列です。

ログを更新しますか?バージョン 説明5.0.0dirname() 操作は、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> ?>

参见?

  • ベース名() - 戻り回路径内のファイル名部分
  • pathinfo() - 戻り文件路径の情報
  • realpath() - 规范化された绝对路径名を返します


    mkdir

    (PHP 4、PHP 5)

    mkdir — 新建目录

    说明?

    bool mkdir ( string $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
    承認されたモードは 0777 で、これは可能な最大のアクセスを意味します。関連するモードの詳細情報は chmod() セクションで参照されます。

    注:

    モード

    在 Windows は下にあります。

    mode

    また、モードを 8 分割数で指定すること、つまり、この数をゼロ点で指定することも推奨されています。モードは、現在の umask で変更される可能性があり、umask() を使用して変更できます。
    再帰的<p class="para"></p> <dt><code class="parameter">パス名<code class="parameter">recursiveで指定されたネストされたディレクトリの作成を許可します。

    コンテキスト<code class="parameter">pathname

    context注: PHP 5.0.0 では、上下文 (Context) のサポートが追加されました。上下文 (Context) の説明はストリームに参加します。
    返し值 ?

    成功した場合は

    TRUE

    を返し、失敗した場合は FALSETRUE, 或者在失败时返回 FALSEを返します。

    更新日志 ?

    バージョン本 说明5.0.0recursive<td> パラメータを追加しました。<code class="parameter">recursive5.0.0mkdir() は特定の URL にも使用できます サポートされているパッケージとカプセル化プロトコルの一覧を参照 mkdir() でサポートされているものを参照してください。 URL 封入。4.2.0モード<td> は選択可能になります。 <code class="parameter">mode

    例 ?

    例 #1 mkdir()

    <?php <br> mkdir("/path/to/my/dir", 0700);<br> ?>

    例 2 recursive<code class="parameter">recursive パラメーターを指定した mkdir()

    の使用 <?php <br> // 望ましいフォルダー構造<br> $構造 = './深さ1/深さ2/深さ3/';<br> <br> // ネストされた構造を作成するには、$recursive パラメーター <br> // mkdir() を指定する必要があります<br> <br> if (!mkdir($structural, 0, true)) {<br> die('フォルダーの作成に失敗しました...');<br> }<br> <br> // ...<br> ?>

    コメント?

    注: セーフモードが有効になっている場合、 PHP は、スクリプトの実行時に、スクリプト化されているディレクトリの UID (所有者) が実行中のスクリプトと同じかどうかを確認します。

    見てください?

    • is_dir() - 指定されたファイル名がディレクトリであるかどうかを判断します
    • rmdir() - ディレクトリを削除する

      再帰的にディレクトリを作成する関数:

      れーれー


      参考文献:

      クリックしてリンクを開きますクリックしてリンクを開きます
      クリックしてリンクを開く

      www.bkjia.com本当http://www.bkjia.com/PHPjc/664278.html技術記事場合によっては、ディレクトリ関数を再帰的に作成する必要があります。この場合、dirname() 関数 (パスのディレクトリ部分を取得するため) と mkdir() 関数 (ディレクトリを作成するため) を使用する必要があります。 まずは文法を広めましょう: dirnam...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。