copy() funktioniert nur mit Dateien.
Sowohl die DOS-Kopie als auch die Unix-cp-Befehle werden rekursiv kopiert - die schnellste Lösung besteht also nur darin, diese auszufüllen und zu verwenden. z.B.
`cp -r $src $dest`;
Sonst wirst du die opendir
/readdir
oder scandir
verwenden müssen, um den Inhalt des Verzeichnisses zu lesen, die Ergebnisse durchlaufen und wenn is_dir für jeden, Rekursion in sie true zurückgibt.
z.B.
function xcopy($src, $dest) {
foreach (scandir($src) as $file) {
if (!is_readable($src . '/' . $file)) continue;
if (is_dir($src .'/' . $file) && ($file != '.') && ($file != '..')) {
mkdir($dest . '/' . $file);
xcopy($src . '/' . $file, $dest . '/' . $file);
} else {
copy($src . '/' . $file, $dest . '/' . $file);
}
}
}
@die Redaktion: Sind Sie sicher, dass '" old_location /. "' Nur ein Tippfehler war? –
@Felix: Ich habe mich das gleiche gefragt. Ich rollte zurück zur ersten Revision, aber es hat '" old_location /*.* '. Ich kann keine Revision finden, die' "old_location /." 'Enthält. – Asaph
@Assaph: Dein Rollback war in Ordnung, sieh dir die Geschichte an .. Ich meinte 'copy (" old_location /. "," New_location/");' –