PHP フォルダの存在/移動/コピー/削除

PHPのフォルダを操作するサンプルです。

確認環境
・PHP 7
・Windows 10

目次

サンプル フォルダの存在確認(file_exists)
  フォルダをコピーする(exec + xcopy)
  フォルダを移動する(rename)
  フォルダ名を変更する(rename)
  フォルダを作成する(mkdir)
  フォルダを削除する(rmdir)

フォルダの存在確認(file_exists)

<?php
$path = "./hozon1";

if (file_exists($path)) {
	echo '存在します';
} else {
	echo '存在しません';
}

file_existsは、fileとありますがフォルダの存在確認もできます。
フォルダが存在している場合はtrue、存在していない場合はfalseを返します。

フォルダをコピーする(exec + xcopy)

<?php
$path1 = "hozon1";
$path2 = "hozon3";
$cmd1 = 'xcopy ' . $path1 . ' ' . $path2 . ' /Y /I';

exec($cmd1, $out1, $return);

print_r($out1);
echo $return; //0 or それ以外

execコマンドでコマンドプロンプトのxcopyを実行してフォルダをコピーしています。
xcopyの/Yは、コピー先に同名のファイルがあるときに上書き確認をしません。
/Iは、コピー先のフォルダが存在しない時に新規でフォルダを作成します。
8行目は、コマンドの実行結果のメッセージが配列で表示されます。
9行目は、実行結果です。成功の場合は0で失敗の場合はそれ以外の数値です。

フォルダを移動する(rename)

<?php
$path1 = "./hozon1/sub9";
$path2 = "./hozon2/sub9";

if (rename($path1, $path2)) {
	echo "OK";
} else {
	echo "エラー";
}

renameは、1つめの引数の移動元から2つめの引数の移動先に移動します。
移動が成功した場合、返り値がtrueになります。
移動先に、同名のフォルダが存在している場合エラーになります。

フォルダ名を変更する(rename)

rename(変更前フォルダ名,変更後フォルダ名)
<?php
$path1 = "hozon1/sub1";
$path2 = "hozon1/sub9";

if (rename($path1, $path2)) {
	echo "OK";
} else {
	echo "エラー";
}

renameは、1つめの引数の変更前フォルダ名から2つめの引数の変更後フォルダ名にします。
成功した場合、返り値がtrueになります。

フォルダを作成する(mkdir)

<?php
$path1 = "./hozon1/sub3";

if (mkdir($path1)) {
	echo "OK";
} else {
	echo "エラー";
}

mkdirは、フォルダを作成します。
成功した場合、返り値がtrueになります。

フォルダを削除する(rmdir)

<?php
$path1 = "./hozon1/sub3";

if (rmdir($path1)) {
	echo "OK";
} else {
	echo "エラー";
}

rmdirは、フォルダを削除します。
削除対象のフォルダが存在しない場合はエラーになります(No such file or directory)。
成功した場合、返り値がtrueになります。

関連の記事

PHP フォルダ内のファイルの一覧を取得(glob)
PHP ファイルの存在/移動/コピー/削除

△上に戻る