コマンド copy ("old_location/*.*","new_location/ ") は、ワイルドカード (*.*) が copy() 関数で直接認識されないため失敗しました。
サブディレクトリやファイルを含むディレクトリ全体の内容をコピーするには、 再帰コピー関数が必要です。以下に例を示します。
<code class="php">function recurseCopy(string $sourceDirectory, string $destinationDirectory, string $childFolder = ''): void { $directory = opendir($sourceDirectory); if (is_dir($destinationDirectory) === false) { mkdir($destinationDirectory); } if ($childFolder !== '') { if (is_dir("$destinationDirectory/$childFolder") === false) { mkdir("$destinationDirectory/$childFolder"); } while (($file = readdir($directory)) !== false) { if ($file === '.' || $file === '..') { continue; } if (is_dir("$sourceDirectory/$file") === true) { recurseCopy("$sourceDirectory/$file", "$destinationDirectory/$childFolder/$file"); } else { copy("$sourceDirectory/$file", "$destinationDirectory/$childFolder/$file"); } } closedir($directory); return; } while (($file = readdir($directory)) !== false) { if ($file === '.' || $file === '..') { continue; } if (is_dir("$sourceDirectory/$file") === true) { recurseCopy("$sourceDirectory/$file", "$destinationDirectory/$file"); } else { copy("$sourceDirectory/$file", "$destinationDirectory/$file"); } } closedir($directory); }</code>
この関数を使用するには、ソース ディレクトリ、宛先ディレクトリ、およびオプションのサブフォルダー (必要な場合) を指定してこの関数を呼び出します。
<code class="php">recurseCopy("old_location", "new_location");</code>
以上がPHP を使用してディレクトリの内容をコピーするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。