PHPの関数でファイルを移動する

moveとかmvがPHPの関数になさそうなのでどうやってやるのか調べてみました。
PHPでファイルの移動をするにはいくつかの方法があります。

system関数を使う

Linuxの場合だと以下のような感じ。

<?php
system('mv /tmp/file.txt /home/hoge/dir/file.txt');
?>

copyとunlinkを組み合わせる。

flat memoさんで紹介されている方法ですが、以下のようにcopyとunlinkを組み合わせてもファイルの移動が可能です。

<?php
function move( $from, $to ){
    if ( copy ($from, $to) ){
        unlink($from);
        return TRUE;
    }
    else{
        return FALSE;
    }
}
?>

rename関数を使う

これが一番スマートかな

<?php
rename("/tmp/file.txt", "/home/hoge/dir/file.txt");
?>