PHPのrename()関数を使用しファイルの名前を変更してみます。
rename()関数は、ファイルまたはディレクトリの名前を変更することができます。
■基本的な構文
rename(old, new, context)
oldは、名前を変更するファイルまたはディレクトリを指定します。
newは、ファイルまたはディレクトリの新しい名前を指定します。
contextは、ファイルハンドル(どのファイルを処理しているかを管理するための名前)のコンテキストを指定します。オプションです。
■環境
・Windows10
・WampServer Version 3.2.3 64bit
・PHP Version 7.3.21
■rename()関数を使用しファイルの名前を変更する
では、早速rename()関数を使用しファイルの名前を変更します。
■コード
<html lang="ja">
<head>
<title>rename()関数を使用しファイルの名前を変更する</title>
</head>
<body>
<?php
$file = "C:/wamp64/www/project/test.txt";
if(file_exists($file)){
if(rename($file,"new_file.txt")){
echo "ファイル名の変更に成功しました";
} else{
echo "エラー: ファイルの名前を変更できません";
}
}else{
echo "エラー: ファイルが存在しません";
}
?>
</body>
</html>
今回はfileという変数を宣言し、その中でtest.txtというファイルを指定し格納します。
次にif文を使用し、file_exists()関数で、file変数の中に格納したファイルが存在するかチェックします。存在する場合(真・True)は、if文を使用し、括弧内でrename()関数を使用し、第1の引数,パラメーターにfile変数を指定し、名前を変更するファイルを渡します。第2の引数で、ファイルの新しい名前を指定します。
指定後、真・Trueの場合は、名前の変更が行われecho文による文字列が出力されます。また条件を満たさない場合(else)は、echo文で文字列(エラー文)を出力します。
なお、if文を使用し、file_exists()関数で、file変数の中に格納したファイルが存在するかチェックした場合に、条件を満たさない(ファイルが存在しない)場合(else)は、echo文で文字列(エラー文)が出力されます。
なお、test.txtというファイルの名前を変更しますが、ファイルの中身は空です。
■実行
では、このスクリプトを「renaming_file.php」という名前で保存し、実行させてみます。
実行させてみると、「ファイル名の変更に成功しました」と出力されました。
出力後、今回用意したファイルを確認すると、名前が「test.txt」から「new_file.txt」に変更されていることが確認できました。
コメント