Problema
Vuoi copiare un'intera directory in un'altra posizione.
Vuoi copiarlo in modo ricorsivo, tutti i file e le sottodirectory, nella nuova posizione.
Soluzione
Usa il File :: CopyDirectory ()
metodo.
Il metodo restituirà vero se tutti i file e le sottodirectory vengono copiati correttamente.
Se la directory di destinazione non esiste, verrà creata. Sarà creato in modo ricorsivo se necessario.
Discussione
C'è un terzo argomento opzionale.
Internamente, il File :: CopyDirectory ()
Il metodo utilizza la classe di filesmiterator di PHP per scansionare i file e le directory per copiare. Il filesystemiterator prende flag come secondo parametri. Puoi passare un terzo argomento a File :: CopyDirectory ()
che viene passato al costruttore di filesystemiterator. Per impostazione predefinita, File :: CopyDirectory ()
usa costante la costante skip_dots.
Ciò significa che i file che iniziano con punti non vengono copiati.
Fai attenzione usando questa terza opzione. IL File :: CopyDirectory ()
Il metodo potrebbe non comportarsi come previsto a meno che non si capisca bene come viene utilizzato il filesystemiterator per il traversario della directory.