[PHP] Copier un dossier
Résolu
xXPika74Xx
Messages postés
115
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voila j'ait un petit programme un PHP qui me permet de copier des fichiers depuis un répertoire dans un autre répertoire le tout choisit par l'utilisateur
Le problème est que certains répertoires ne contiennent pas des fichiers mais des dossiers a copier et la fonction copy() de php ne marche que pour les fichiers...
Comment puis je faire pour copier ces dossiers quelques soit leurs contenues??
Voila j'ait un petit programme un PHP qui me permet de copier des fichiers depuis un répertoire dans un autre répertoire le tout choisit par l'utilisateur
Le problème est que certains répertoires ne contiennent pas des fichiers mais des dossiers a copier et la fonction copy() de php ne marche que pour les fichiers...
Comment puis je faire pour copier ces dossiers quelques soit leurs contenues??
A voir également:
- Copy php
- Exact audio copy - Télécharger - Conversion & Extraction
- Super copy - Télécharger - Gestion de fichiers
- Easy php - Télécharger - Divers Web & Internet
- Copy protect - Télécharger - Chiffrement
- Total copy - Télécharger - Utilitaires
2 réponses
Pasque chercher sur google pour trouver des fonction mégacomplexe que je ne comprend pas...
Je demande comment on peut fait j'ait demander aucun code ni quoique se soit juste un point de dépard pour programmer moi même sinon on apprend rien...
Si sa vous dérange de répondre au gens tout ceux qui dise cherche répondez pas sa sert a rien a part souler ceux qu'on besoin d'aide...
En tous cas trouver ce qu'il me faut:
function copy_dir ($dir2copy,$dir_paste) {
// On vérifie si $dir2copy est un dossier
if (is_dir($dir2copy)) {
// Si oui, on l'ouvre
if ($dh = opendir($dir2copy)) {
// On liste les dossiers et fichiers de $dir2copy
while (($file = readdir($dh)) !== false) {
// Si le dossier dans lequel on veut coller n'existe pas, on le créé
if (!is_dir($dir_paste))
{
mkdir ($dir_paste, 0777);
}
// S'il s'agit d'un dossier, on relance la fonction récursive
if(is_dir($dir2copy.'\\'.$file) && $file != '..' && $file != '.')
{
copy_dir ( $dir2copy .'\\'. $file , $dir_paste .'\\'. $file );
}
// S'il sagit d'un fichier, on le copue simplement
elseif($file != '..' && $file != '.')
{
copy( $dir2copy .'\\'. $file , $dir_paste .'\\'. $file );
}
}
// On ferme $dir2copy
closedir($dh);
}
}
}
Du un peu le modifier marchait pas -_-
Mais c'est assez simple
Merci encore pour ta réponse....
Je demande comment on peut fait j'ait demander aucun code ni quoique se soit juste un point de dépard pour programmer moi même sinon on apprend rien...
Si sa vous dérange de répondre au gens tout ceux qui dise cherche répondez pas sa sert a rien a part souler ceux qu'on besoin d'aide...
En tous cas trouver ce qu'il me faut:
function copy_dir ($dir2copy,$dir_paste) {
// On vérifie si $dir2copy est un dossier
if (is_dir($dir2copy)) {
// Si oui, on l'ouvre
if ($dh = opendir($dir2copy)) {
// On liste les dossiers et fichiers de $dir2copy
while (($file = readdir($dh)) !== false) {
// Si le dossier dans lequel on veut coller n'existe pas, on le créé
if (!is_dir($dir_paste))
{
mkdir ($dir_paste, 0777);
}
// S'il s'agit d'un dossier, on relance la fonction récursive
if(is_dir($dir2copy.'\\'.$file) && $file != '..' && $file != '.')
{
copy_dir ( $dir2copy .'\\'. $file , $dir_paste .'\\'. $file );
}
// S'il sagit d'un fichier, on le copue simplement
elseif($file != '..' && $file != '.')
{
copy( $dir2copy .'\\'. $file , $dir_paste .'\\'. $file );
}
}
// On ferme $dir2copy
closedir($dh);
}
}
}
Du un peu le modifier marchait pas -_-
Mais c'est assez simple
Merci encore pour ta réponse....
Le code est super bien commenté, il te dit à chaque ligne, qui fait quoi, ensuite à toi d'approfondir tes recherches.
Tu vois tu as réussi à le modifier à ta sauce et tu as compris vu que tu dis que ça marche.
Au pire tu cherches, tu trouves un truc incompréhensible, du coup tu peux ouvrir un topic demandant de t'aider à le comprendre et dire où tu bloques.
Tu sais un moment donné, on en a marre de répondre à des personnes qui relancent toujours les mêmes sujets du genre "comment créer un réseau local" ce n'est pas ton cas certes mais la réponse existe déjà sur la toile.
Et faire des Copier/Coller de Google n'a aucun intérêt pour ce forum.
Enfin bref, tu as quand même résolu ton problème.
Bonne journée !