【PHP】ファイルをFTPを使わず作成・削除の方法

ファイル作成

ファイルを作成するにはtouch関数を使います。

touch('abc.php' );

この様にすることで開いたファイルからのパスで作成できます。
既にファイルが存在する場合は更新日のみが更新されます。

WordPressで行う場合は、

touch(get_stylesheet_directory() . '/abc.php');

この様に「get_stylesheet_directory()」をつければ、現在の適応してるテーマに入れる事が出来ます。

フォルダ(ディレクトリ)作成

ディレクトリを作成する場合は、mkdir関数を使います。
ただ、mkdirはフォルダが存在する場合はエラーになってしまうので、file_existsを使い存在チェックを入れるのをお勧めします。

if (!file_exists('/abc')) {
    mkdir('/abc', 0755);
}

WordPressで行う場合は、上記のtouchと同様に「get_stylesheet_directory()」をつければ、現在の適応してるテーマに入れる事が出来ます。

if (!file_exists(get_stylesheet_directory() . '/abe')) {
    mkdir(get_stylesheet_directory() . '/abe', 0755);
}

ファイル削除

あまり使う事はないかもしれませんが、touchで間違ったファイルを作ってしまった場合などに使います。
ファイルの削除はunlink関数にて行います。

unlink('/abc.php');

フォルダ削除

フォルダの削除の場合は、rmdir関数を使います。
ただ、rmdirはフォルダ内が空でないとエラーが発生します(フォルダ自体がない場合もエラー)
フォルダの中身を上のunlinkで削除し、その後にrmdirでファイルを削除する流れになります。

function folder_delete($path) {
    // ディレクトリ内の一覧を取得
    $res = glob('/*');
    // 一覧をループ
    foreach ($res as $f) {
        if (is_file($f)) {     // is_file()でファイルかどうかを判定
            unlink($f);        // ファイルなら削除
        }else{
            folder_delete($f); // フォルダの場合は再度folder_delete関数利用
        }
        rmdir($dir);        // フォルダを削除
    }
}

コメント