23 Juil 2008
Copie récursive de dossiers
Compatibilité : PHP 5, PHP 7, PHP 8
Effectue une copie récursive de dossiers, en propageant les droits. Toute l'arborescence est recopiée.
ATTENTION
Cette source doit etre utilisé avec la fonction IsDir_or_CreateIt().
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.
|
|
| Détail | php.net | Description |
Versions PHP |
|---|---|---|---|
| copy | Copie un fichier |
PHP 4, 5, 7 et 8 | |
| echo | Affiche une chaîne de caractères |
PHP 4, 5, 7 et 8 | |
| file_exists | Vérifie si un fichier existe |
PHP 4, 5, 7 et 8 | |
| is_dir | Indique si le fichier est un dossier |
PHP 4, 5, 7 et 8 | |
| return | Retourne le controle du programme au module appelant. |
PHP 4, 5, 7 et 8 | |
| scandir | Liste les fichiers et dossiers dans un dossier (PHP 5) |
PHP 4, 5, 7 et 8 | |
Effectue une copie récursive de dossiers, en propageant les droits. Toute l'arborescence est recopiée.
Créer un répertoire récursivement (en créant tous les niveaux manquant). Vérifie puis créer tous les niveaux de répertoire.
Explication du code : Place le contenu d'un dossier sur un serveur FTP.
Liste récursivement un dossier accessible en FTP.
Calcule la taille des fichiers contenus dans un dossier (et ses sous-dossier).
23 Juil 2008
Dernière mise à jour :
Invité
09 Aout 2012 à 21:57un petit bug : il faut inverser ces 2 lignes pour être logique et que l'arbo se copie après avoir créer le répertoire : CopyDir ($origine."/".$val, $destination."/".$val);
IsDir_or_CreateIt ($destination."/".$val);
IsDir_or_CreateIt ($destination."/".$val);
CopyDir ($origine."/".$val, $destination."/".$val);
Invité
26 Sept 2011 à 16:40Merci, ça marche du tonnerre!
Invité
05 Mars 2010 à 15:24Bonjour, 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
Forty
31 Déc 2008 à 13:34la fonction IsDir_or_CreateIt est là : Indique si 1 répertoire existe sinon il le créer
sinon il y a celle-ci : Création d'une arborescence de répertoires
Invité
30 Déc 2008 à 12:45Bonjour,
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.