/**。 &* / function moveDir($from,$to){ if(!is_dir($from)){//$from ソース ファイル ディレクトリが存在するかどうかを判断します return false; }
$from = rtrim(str_replace (' //','/',$from), '/');//Windows では両方のシンボルが受け入れられるため、Linux との互換性を保つために、すべての / シンボルを / に変換します。 $ from);//ソース ファイル ディレクトリ内のファイルとフォルダーを一覧表示し、配列形式で $files に保存します。
/*
$files の出力:
Array ( [0] => . [1] => .. [2] => a [3] => b [4] => ; c [5] => dir.php [7] => dir2.php [10] => .php ) scandir 関数が 2 つの冗長な値を出力することがわかります: [0] => .. ここで if を記述しても役に立ちません。 */ foreach($files as $file){//$files 配列を走査して、配列内のフォルダーとファイルのコピーと削除を容易にします。 if(in_array($file, array('.', '..' ))){// array('.','..') は . と .. のみを含む新しい配列を作成し、 $file を検索して .. の 2 つの値があるかどうかを確認します。 ; } $subFrom = $from.'/'.$file;//トラバースしたフォルダーまたはファイル名を新しいパスに変換します $subTo = $to.'/'.$file;
if(is_dir( $subFrom)){ @mkdir($subTo); // $subFrom がディレクトリであるかどうかを判断し、ディレクトリの場合は、ターゲット ディレクトリの下に新しいディレクトリを作成します moveDir($subFrom, $subTo); //新しいディレクトリを実行します。 }else{//ファイルを直接コピーします。 copy($subFrom, $subTo); unlink($subFrom);// すべてのファイルを削除します } @ rmdir($ subFrom);//すべてのディレクトリを削除します } return true; } moveDir('C:/Users/Administrator/Desktop/0704′,'e:');//移動したいファイルを渡しますここまたはディレクトリアドレス
方法 2、名前変更
| 1. ファイルの場合、名前変更は異なるドライブ文字間を移動できます。