Copier le contenu d'un dossier avec les sous-dossiers

Copier le contenu d'un dossier avec les sous-dossiers - PHP - Programmation

Marsh Posté le 04-03-2009 à 10:48:52    

Bonjour, je fais un site web et je voudrais copier l'intégralité (avec les sous-dossiers) d'un dossier dans un autre dossier
 
J'ai tenté la fonction :

Citation :

$file = "../../../archives/archives/";
$newfile = "/../../../archives/anciennes_archives/";
if (!copy($file, $newfile)) {echo "La copie du dossier n'a pas réussi...\n";
}


 
qui me renvoir une erreur ;
puis le script suivant :

Citation :

$origine = "../../../archives/archives/";
$destination = "/../../../archives/anciennes_archives/";
 
function CopyDir($origine, $destination) {
    $test = scandir($origine);
 
    $file = 0;
    $file_tot = 0;
 
    foreach($test as $val) {
        if($val!="." && $val!=".." ) {
            if(is_dir($origine."/".$val)) {
                CopyDir($origine."/".$val, $destination."/".$val);
                IsDir_or_CreateIt($destination."/".$val);
            } else {
                $file_tot++;
                if(copy($origine."/".$val, $destination."/".$val)) {
                    $file++;
                } else {
                    if(!file_exists($origine."/".$val)) {
                        echo $origine."/".$val;
                    };
                };
            };
        };
    }
    return true;
}


qui me renvoie une erreur.
 
Je pense que j'approche du but mais... pour le moment je "sèche"...

Reply

Marsh Posté le 04-03-2009 à 10:48:52   

Reply

Marsh Posté le 04-03-2009 à 11:01:44    

quel erreur ?

 

d'où sort la fonction IsDir_or_CreateIt ?

 

Edit :
j'ai trouvé ça :

Code :
  1. function IsDir_or_CreateIt($path) {
  2.     if(is_dir($path)) {
  3.         return true;
  4.     } else {
  5.         if(mkdir($path)) {
  6.             return true;
  7.         } else {
  8.             return false;
  9.         }
  10.     }
  11. }


Message édité par stef_dobermann le 04-03-2009 à 11:09:56

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 04-03-2009 à 11:09:43    

erreur de compilation :
enlève les ; derrière les }


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 04-03-2009 à 16:36:01    

Hum...
 
Et pourquoi ne pas deplacer le repertoire ?
http://www.php.net/manual/fr/function.rename.php
 
$file = "../../../archives/archives/";  
$newfile = "/../../../archives/anciennes_archives/";  
 
1- rename($file, $newfile.date('Y-m-d').'/');
2- recre le repertoire $file.


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed