PHPのrename()関数を使用しファイルの名前を変更する

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 "エラー: ファイルが存在しません";
}
?>
</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」に変更されていることが確認できました。

コメント

タイトルとURLをコピーしました