PHP ile alt klasörüne klasörü yeniden adlandırın

4 Cevap php

Ben adlandırarak bir klasöre taşımak için çalışıyorum. Test1 ve test2 iki klasör zaten var.

rename(
 "test1",
 "test2/xxx1/xxx2"
);

Ben almak hatadır: rename(...): No such file or directory

I assume this is because the directory "xxx1" does not exist. How can I move the test1 directory anyway?

4 Cevap

Bunu, örneğin içine gidiyor dizin oluşturmak gerekebilir

$toName = "test2/xxx1/xxx2";

if (!is_dir(dirname($toName))) {
    mkdir(dirname($toName), 0777, true);
}

rename("test1", $toName);

mkdir() Üçüncü parametre bir çağrı ile iç içe dizinleri oluşturmak anlamına gelir, 'recursive' dir.

Neden bunları yaparak, tüm üst dizinleri ilk var emin değil? mkdir - recursive parametresini kullanın.

Onu bir dizin ağacı oluşturmanız gerekir.

Ben test2/xxx1 var gerekir düşünüyorum, bu yüzden bunu taşımak önce mkdir kullanmak gerekiyordu.