OVH Cloud OVH Cloud

copie de dossiers

2 réponses
Avatar
michel
Bonjour,

Il n'y a pas de fonction pour copier directement un dossier avec son
contenu dans un autre? J'ai rien trouvé damned ! (hormis la copie de
fichier à fichier)

Merci

Michel

2 réponses

Avatar
Mark
michel wrote:

Bonjour,

Il n'y a pas de fonction pour copier directement un dossier avec son
contenu dans un autre? J'ai rien trouvé damned ! (hormis la copie de
fichier à fichier)

Merci

Michel


ce n'est pas difficile d'ecrire:

// tree_copy
//
// pour copier un dossier source et tous ses contenu a un dossier
// destination, meme en copiant les sub-dossiers.
//
// Parametres:
// - $source_dir - dossier source
// - $dest_dir - dossier destination
//
// Retourne:
// boolean: TRUE en cas de succes, FALSE en cas d'echec.
//
function tree_copy($source_dir, $dest_dir)
{
if (!file_exists($source_dir) || !file_exists($dest_dir))
{
echo "Un des deux dossiers n'existe pas!";
}

// verifier que le dernier char est un /
if (strrpos($source_dir, '/') != (strlen($source_dir) -1 ))
{
$source_dir .= '/';
}

// verifier que le dernier char est un /
if (strrpos($dest_dir, '/') != (strlen($dest_dir) -1 ))
{
$source_dir .= '/';
}

// lire tous les choses sans le dossier
$contenu = scandir($source_dir);

foreach ($contenu as $fichier)
{
$path_complet = $source_dir . $fichier;
$dest_path_complet = $dest_dir . $fichier;

if (is_dir($path_complet))
{
$ret = tree_copy($path_complet, $dest_path_copmlet);
if ($ret === FALSE)
return FALSE;
}
else
{
$res = copy($path_complet, $dest_path_complet);
if ($res === FALSE)
{
echo <<<EOM

Il y'avait un erreur un essayant de copier $path_complet
a $dest_path_complet.
EOM;
return FALSE;
}
}

return TRUE;
}


NOTEZ: Je ne l'ai pas encore essaye' ou fait RIEN debougage ...

mais, ca doit etre presque finis ....



bonne chance!
mark.



--
I am not an ANGRY man. Remove the rage from my email to reply.

Avatar
michel

NOTEZ: Je ne l'ai pas encore essaye' ou fait RIEN debougage ...

mais, ca doit etre presque finis ....



bonne chance!
mark.
Merci, c'est fait. Le problème n'était pas de programmer une copie de

tous les fichiers d'un dossier, le problème était juste la flemme de le
faire. Mais bon, puisqu'il n'y a pas le choix...

Michel