View Full Version : [PHP] Copiare file da N sottodirectories nelle root principale
robertino_salemi
31-01-2016, 16:22
Buonasera a tutti,
ho una struttura del tipo:
> myFolders
> 1
> 2
> 3
> 4
> 5
etc...
Vorrei copiare tutti i file presenti nelle varie sottodirectory di myFolders (1,2,3,4,5), nella cartella principale (in questo caso myFolders stessa!)
Suggerimenti?
Mi sono perso un pò.... :)
Grazie.
<?php
$cartella = 'aaa';
$primario = dirname(__FILE__).'/';
$destinazione = '\\bbb\\';
$dirs = array();
$dir = dir($cartella);
while (false !== ($nomeFile = $dir->read())) {
if ($nomeFile != '.' && $nomeFile != '..') {
if (is_dir($cartella . '/' .$nomeFile)) {
$dirs[] = $nomeFile;
}
}
}
$contaCart = count($dirs);
for ($i=1 ; $i <= $contaCart-1 ; $i++) {
$miaCart = $cartella."/".$dirs[$i];
if ($handle = opendir($miaCart)) {
while (false !== ($nomeFile = readdir($handle))) {
if ($nomeFile != "." && $nomeFile != "..") {
$strR = str_replace("/","\\",$nomeFile);
if(!@copy($primario.$miaCart."\\".$nomeFile,$primario.$destinazione.$nomeFile)){
$errore= error_get_last();
echo "Errore: ".$errore['type'];
echo "<br />\n".$errore['message']."<br>";
} else {
echo "file Copiato!$nomeFile<br>";
}
}
}
closedir($handle);
}
}
?>
$cartella = la cartella primaria dove risiedono i file
$destinazione = Dove vuoi copiare i file
robertino_salemi
01-02-2016, 08:46
Ciao deffe,
lo testo questa sera e ti faccio sapere.
Grazie!!! :D
robertino_salemi
01-02-2016, 20:02
Ottimo, ha funzionato! ;)
Ho eseguito solo una modifica a questa riga:
if(!@copy( $primario.$miaCart."/".$nomeFile, $primario.$destinazione."/".$nomeFile )){
Grazie ancora!
Ottimo, ha funzionato! ;)
Ho eseguito solo una modifica a questa riga:
if(!@copy( $primario.$miaCart."/".$nomeFile, $primario.$destinazione."/".$nomeFile )){
Grazie ancora! e si errore mio hai un server Linux o windows??? Poi ho provato su cartelle esterne quindi ho dovuto farlo in quel modo
robertino_salemi
02-02-2016, 09:06
Dominio su Hosting Linux! :)
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.