PHPでのフォルダーごと複写する方法

PHPでのフォルダーごと複写する方法

PHPでのフォルダーごと複写する方法を解説します。

PHPでのフォルダーごと複写する方法

フォルダーを複写するのはコマンド1つですが、中にフォルダーがあったりする場合「再帰呼び出し」が必要になります。

0001 /********************************************************/
0002 function wp_migration_yuzu_copy_dir($fr_path, $to_path)
0003 /********************************************************/
0004 {
0005  $fr_path = rtrim($fr_path, '/').'/';
0006  $to_path = rtrim($to_path, '/').'/';
0007  
0008  if (is_dir($fr_path)) {
0009   if (!is_dir($to_path)) {
0010    mkdir($to_path, 0755);
0011    chmod($to_path, 0755);
0012   }
0013   if ($handle = opendir($fr_path)) {
0014    while (false !== ($file = readdir($handle))) {
0015     if ($file === '.' || $file === '..') {
0016      continue;
0017     }
0018     if (is_dir($fr_path.$file)) {
0019      wp_migration_yuzu_copy_dir($fr_path.$file, $to_path.$file);
0020     } else {
0021      copy($fr_path.$file, $to_path.$file);
0022     }
0023    }
0024    closedir($handle);
0025   }
0026  }
0027  return('success');
0028 }
スポンサードリンク