Copie de répertoire

lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013 - 20 nov. 2005 à 00:17
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 21 nov. 2005 à 06:02
Bonjour à tous


Je voudrai créer un script PHP qui permette de copier un répertoire et derenommer la copie, donc le script que je souhaite devrai afficher une page dans le navigateur avec une zone de texte ou il faudra entrer le nom désirer de la nouvelle copie puis ensuite cliquer sur un bouton Valider pour lancer la copie.


Quelqu’un pourrait-il m’aider ?

3 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
20 nov. 2005 à 01:07
Salut,

des scripts de copie de répertoire il en existe à la pelle sur phpcs... Tu as recherché ?

cherche "copier un répertoire" tu devrais trouver.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
20 nov. 2005 à 01:28
Bonjour Anthomicro

Aprés avoir suivi vos conseil j'ai trouver ceci:

**************************************************************
<?php

function create_tab ($dir) { // fonction creant le tableau contenant les repertoires et fichiers
$dir = rtrim ($dir, '/'); // on vire un eventuel slash mis par l'utilisateur de la fonction a droite du repertoire
if (is_dir ($dir)) // si c'est un repertoire
$dh = opendir ($dir); // on l'ouvre
else {
echo $dir, ' n\'est pas un repertoire valide'; // sinon on sort! Appel de fonction non valide
exit;
}
while (($file = readdir ($dh)) !== false ) { //boucle pour parcourir le repertoire
if ($file !== '.' && $file !== '..') { // no comment
$path =$dir.'/'.$file; // construction d'un joli chemin...
if (is_dir ($path)) { //si on tombe sur un sous-repertoire
$tableau[$dir]['dir'][] = $path;
$tabTmp = create_tab ($path); // appel recursif pour lire a l'interieur de ce sous-repertoire
if (is_array ($tabTmp) && is_array ($tableau))
$tableau = array_merge ($tableau, $tabTmp);
}
else
$tableau[$dir]['file'][] = $path;
}
}
closedir ($dh); // on ferme le repertoire courant
if (isset ($tableau)) {
return $tableau;
}
}

function copier_rep ($destination, $reps, $tableau_dir = array ()) { // fonction pour copier repertoire : on cree un repertoire de meme nom, puis on va chercher les fichiers, et on les copie. Si il y a des sous repertoires, appel recursif.
if (empty ($tableau_dir)) {
echo 'Entrée';
$tableau_dir = create_tab ($reps);
}
if (!is_array ($reps)) {
$reps = array ($reps);
}
foreach ($reps as $rep) {
if (!is_dir ($destination.'/'.basename ($rep))) {
mkdir ($destination.'/'.basename ($rep));
if (!empty ($tableau_dir[$rep]['file']) && isset($tableau_dir[$rep]['file']) && is_array ($tableau_dir[$rep]['file'])) {
foreach ($tableau_dir[$rep]['file'] as $fichier) {
copy ($fichier, $destination.'/'.basename ($rep).'/'.basename ($fichier));
}
}
if (!empty ($tableau_dir[$rep]['dir']) && isset ($tableau_dir[$rep]['dir']) && is_array ($tableau_dir[$rep]['dir'])) {
copier_rep ($destination.'/'.basename ($rep), $tableau_dir[$rep]['dir'], $tableau_dir);
}
}
}
}

copier_rep ('Corps_IN', 'Model'); // 1er paramètre : le répertoire de destination sous forme d'une chaine
// 2d paramètre : le répertoire à copier sous forme d'une chaine ou d'un tableau
?>

**************************************************************

S'est cette ligne a la fin:
************************************************************
copier_rep ('Corps', 'Model');
************************************************************
Qui copie le fichier, Coprs et le nom du répertoire cible et Model le nom du répertoire a copier, voyer vous comment je peut renomer le répertoire copier ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 nov. 2005 à 06:02
Tien, c'est mon script.

Ben il a le nom que tu passes dans la fonction, ton répertoire copié ? En l'occurence, ici, 'Corps'.

Donc Model est renommé en Corps. Quel est le soucis?
0
Rejoignez-nous