명령 복사("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 중국어 웹사이트의 기타 관련 기사를 참조하세요!