【PHP】これで分かる関数! – ディレクトリ操作その3 –

PHP

更新履歴

更新日更新者更新内容
2021/8/24JJI・サンプルプログラムの実行結果に画面の画像を追加

はじめに

この記事で載せているサンプルプログラムは次の記事で紹介する関数を使用している場合があります。

ディレクトリ名の変更

ディレクトリ名の変更はrename()関数を使用できます。
関数を使用したサンプルプログラムは次の通りです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // 共通ライブラリの読み込み
    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】ディレクトリ名の変更<br>\n";

    // ディレクトリ名の変更
    $dirname = "data/work/dir4";
    $dirname2 = "data/work/rename_dir4";
    echo "ディレクトリ名の変更 変更前:${dirname}: 変更後:${dirname2}:<br>\n";

    echo "変更前:${dirname}の表示<br>\n";
    if(substr(PHP_OS,0, 3) === "WIN") {
        $cmd = "dir /B /S " . conv_path($dirname);
        exec_win_cmd($cmd, true);
    }
    echo "<br>\n";

    // ディレクトリ名の変更
    rename($dirname, $dirname2);

    if(! is_dir($dirname)) {
        echo "変更前のディレクトリ:${dirname}は存在しません<br>\n";
    }

    echo "変更後:${dirname2}の表示<br>\n";
    if(substr(PHP_OS,0, 3) === "WIN") {
        $cmd = "dir /B /S " . conv_path($dirname2);
        exec_win_cmd($cmd, true);
    }
    echo "<br>\n";

    // ディレクトリの名前を元に戻す
    rename($dirname2, $dirname);
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_08_24.php<br>
【PHP】ディレクトリ名の変更<br>
ディレクトリ名の変更 変更前:data/work/dir4: 変更後:data/work/rename_dir4:<br>
変更前:data/work/dir4の表示<br>
dir /B /S data\work\dir4<br>
[0] C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work\dir4\sub4<br>
[1] C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work\dir4\test.txt<br>
[2] C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work\dir4\sub4\sample1.txt<br>
[3] C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work\dir4\sub4\subsub41<br>
<br>
変更前のディレクトリ:data/work/dir4は存在しません<br>
変更後:data/work/rename_dir4の表示<br>
dir /B /S data\work\rename_dir4<br>
[0] C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work\rename_dir4\sub4<br>
[1] C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work\rename_dir4\test.txt<br>
[2] C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work\rename_dir4\sub4\sample1.txt<br>
[3] C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work\rename_dir4\sub4\subsub41<br>
<br>

ディレクトリの移動

ディレクトリの移動はchdir()関数を使用します。
関数を使用したサンプルプログラムは次の通りです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // 共通ライブラリの読み込み
    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】ディレクトリの移動<br>\n";

    // ディレクトリ名の変更
    $dirname = "data/work/dir4";
    $dirname2 = "data/work/rename_dir4";

    echo "現在のディレクトリ(関数):" . getcwd() . "<br>\n"; 
    echo "現在のディレクトリ(マジック定数):" . __DIR__ . "<br>\n"; 

    // ディレクトリの移動
    chdir("data\\work");
    echo "移動後のディレクトリ(関数):" . getcwd() . "<br>\n"; 
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_08_25.php<br>
【PHP】ディレクトリの移動<br>
ディレクトリの移動<br>
現在のディレクトリ(関数):C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3<br>
現在のディレクトリ(マジック定数):C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3<br>
移動後のディレクトリ(関数):C:\private\repo\app\php-git\php-sample\htdocs\sample2\sample2_8_3\data\work<br>

コメント