Wie kopiere ich ein ganzes Verzeichnis rekursiv in PHP?
Oct 29, 2024 am 06:53 AMGesamten Verzeichnisinhalt an einen anderen in PHP kopieren
Bei einem Benutzer ist ein Problem aufgetreten, als er versuchte, den Inhalt eines gesamten Verzeichnisses mithilfe von an einen anderen Ort zu kopieren copy()-Funktion. Die Fehlermeldung gab an, dass kein Stream gefunden wurde und der Platzhalter . nicht gefunden werden konnte.
Lösung:
Der bereitgestellte Code funktioniert nur für einstufige Verzeichnisse. Um Verzeichnisse mit mehreren Ebenen zu kopieren, ist ein umfassenderer Ansatz erforderlich:
<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>
Verwendung:
Geben Sie die Pfade zu den Quell- und Zielverzeichnissen im Funktionsaufruf an , und alle Dateien und Verzeichnisse werden rekursiv von der Quelle zum Ziel kopiert.
Das obige ist der detaillierte Inhalt vonWie kopiere ich ein ganzes Verzeichnis rekursiv in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey
