Vous êtes ici Codes PHP et MySQL > Fichiers-Répertoires > (PHP5) Copie du contenu d'un dossier en conservant...

 

(PHP5) Copie du contenu d'un dossier en conservant l'arborescence

CopyDir( string $origine, string $destination )
$origine : Le dossier source, qui doit etre copié
$destination : Le dossier de destination, qui doit recevoir la copie

Valeurs de retour
Retourne TRUE si la copie se deroule correctement.
Retourne une erreur de copie E_WARNING ou E_NOTICE si une erreur surviens.

Cette source doit etre utilisé avec la fonction IsDir_or_CreateIt().
 
IlbeeNetwork
Site de l'auteur voir
[7] sources en PHP voir
Code vu 4491 fois
Enregistré le 23 Juil 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute (PHP5) Copie du contenu d'un dossier en conservant l'arborescence
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : (PHP5) Copie du contenu d'un dossier en conservant...     */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts434-PHP.htm              */
/* Auteur         : IlbeeNetwork                                              */
/* Date édition   : 23 Juil 2008                                              */
/* Website auteur : http://www.ilbee.net/                                     */
/*                                                                            */
/******************************************************************************/

// Declaration de la fonction
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;
}

// Utilisation
$origine "/chemin/vers/source/";
$destination "/chemin/vers/destination/";
if(CopyDir($origine$destination)) { 
    echo "Le dossier ".$origine." a ete copie avec succes vers ".$destination; 
}; 
?>

 

Fonctions du code

: - (PHP 5)
: Indique si le fichier est un dossier - (PHP 4, PHP 5)
: Copie un fichier - (PHP 4, PHP 5)
: Vérifie si un fichier ou un dossier existe - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
Commentaires
Bonjour,

Ce code fonctionne sauf la copie de TOUTE l'arborescence. Est-ce qu'il manque la définition de cette fonction : IsDir_or_CreateIt(). Je n'arrive pas à ce que les sous-dossiers et sous-fichiers soient copiés.
 
la fonction IsDir_or_CreateIt est là : http://www.phpsources.org/scripts433-PHP.htm
sinon il y a celle-ci : création d'une arborescence de répertoires
 
 Bonjour, je copie un dossier vers un autre qui contient déjà un nom de fichier toto.pdf par exemple. Est-il possible de retourner une erreur si le fichier de copie existe déjà dans le dossier de destination? Actuellement, la fonction l'écrase.



Merci
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Fichiers-Répertoires

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité