Burda biraz işin ameleliği giriyor devreye, herhangi bir class yada framework kullanmıyorsanız 15 20 satırlık kod yazmanız yeterli.


$dosyalar = scandir("tasinacak_klasor");
$kaynak= "tasinacak_klasor/";

$hedef= "hedef_klasor/"; // Eğer direk klasor tasıcam derseniz kaynak klasor ile aynı isimde olabilir.

// Tasınacak klasor içindeki tüm dosyaları dolaşıyoruz.
foreach ($files as $file) {
if (in_array($file, array(".",".."))) continue;
// Tüm dosyaları teker teker tasıyoruz
if (copy($kaynak.$file, $hedef.$file)) {
$tasinanlar[] = $source.$file;
}
}
// sonra kopyalanan dosyaları siliyoruz
foreach ($tasinanlar as $file) {
unlink($file);
}


Bunları yapmak dosya boyutlarına ve klasor içindeki dosya listesine göre uzun sürebilir timeout alabilirsiniz.