begin process at 2012 05 30 20:54:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Fonction copy ne marche pas !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction copy ne marche pas !

lundi 18 août 2008 à 15:56:09 | Fonction copy ne marche pas !

daquad

Bonjour tout le monde !

Voici mon problème :

J'utilise la fonction copy pour copier un répertoire, j'ai pris comme script de base celui ci .

Voici mon code une fois personnalisé :

<?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 ('blog', 'envoi/blog'); // 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
 ?>

Mais quand j'exécute la page j'ai cette erreur pour chaque fichier  :

Warning: copy(blog/blog/fichier.php) [function.copy]: failed to open stream: No such file or directory in /home/blogaix/public_html/user_config.php on line 54

J'ai aussi l'erreur suivante pour les dossiers :

Warning: mkdir() [function.mkdir]: Permission denied in /home/blogaix/public_html/user_config.php on line 51


Merci de votre aide !



Cette discussion est classée dans : file, tableau, repertoire, rep, dir


Répondre à ce message

Sujets en rapport avec ce message

Tableau qui disparait [ par nicool0410 ] Salut, j'ai un souci concernant un tableau dont je ne retrouve trace ensuite.Je m'explique: je souhaite remplir le tableau $rep par les noms de répert Problemen copy sur dédié [ par laubro ] bonjourj'ai un script de copie de repertoire qui tourne impec sur un espace mutualisé, mais une fois sur un dédié, il ne fonctionne pas bien, la copie Trier mon tableau ... [ par florent73 ] Bonjour, j'ai un code qui affiche la liste des fichiers dans les répertoires et sous-répertoires, et j'aimerai trier cette liste en fonction de la dat pb de suppression de fichers [ par ludovicanceaux ] Salut à tous, j'ai un problème qui me prend la tête depuis hier, mais je ne sais pas comment m'en sortir là, enfin je n'arrive pas à supprimer des dos Aide (modification de mon code pour que l'on puisse créer un compte) [ par dydjy940 ] Bonjour:),J'ai pondu ce code:INDEX:  Inscription: Votre pseudo: Probleme avec is_dir() et is_file [ par zhaar ] Bonjour,J'ai un repertoire avec quelques images en .jpg et des sous répertoires.Pour détecter un sous répertoire, j'utilise un is_dir() dans ma boucle Lister des fichiers [ par clive2k1 ] Salut! voilà j'ai choper qqpart un script qui permet de lister tout les fichiers d'un repertoire: $repertoire = '**nom/dossier**'; $dir = opendir($r !!!! UPLOAD !!!! [ par funghi ] Salut à tous !!!J'ai un tit pb avec un upload, je sens que j'y suis presque, mais ca ne marche tjs pas !!!Voici le bout de code qui ne marche pas :$re Probleme affichage photos de repertoire [ par LaTatadu91 ] Salut, j'essaye de faire un script pr afficher des photo d'un repertoire j'arrive jusqu'ici a lister mon repertoire et a afficher la premiere photo ( Ordre de listage d'un répertoire [ par Evangun ] Bonsoir! j'ai trouvé la fonction suivante qui liste le contenu d'un répertoire et des sous-répertoires. Elle marche parfaitement sous easyPHP mais le


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales