Déplacer des dossiers sur un ftp

Psychopathe -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut à tous,

Alors voilà je suis entrain de coder un site, un système de blog pour être plus précis!

J'ai besoin de copier-coller un dossier entier lors de l'inscription.
Voilà mon script :
<?php 
// On creé le webzine
// $dir2copy : dossier à copier
// $dir_paste : dossier de destination
 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);      
         }
       } 
      }
  $dir2copy = 'themes/'. $_GET['theme']. '/';
   $dir_paste = ''. $_POST['site'] .'/';
   // Copie le dossier $dir2copy dans le dossier $dir_paste, inutile de créer les dossiers
   copy_dir ($dir2copy,$dir_paste);



Mias ça ne marche, je n'ai pas de message d'erreur, mais le dossier n'est pas copier!
Pourtant ce code marche en local, mais pas sur mon FTP!

Je viens de mettre tous les fichiers de mon dossier www/ en lecture/ecriture/executer et en chod 777.
Mais les fichiers ne se copie toujours pas!


Merci
A voir également:

5 réponses

skuti Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   2
 
Utilise FileZilla !

C'est un logiciel qui se connecte a ton ftp via tes codes et l'adresse de ton server et il t'affiche tout ce que tu as.
Ensuite ta plus qu'a faire un Drag&drop et ton dossier est sur ton ftp ^^
0
swed
 
Bonjour,
Une réponse plus intelligente...

L'algorithme semble OK pour moi, à première vue je ne vois pas d'incohérence.

Afin de nous aider à détecter le problème ;
Pourrais-tu, STP, ajouter des affichage des paramètres $dir2copy et $dir_paste de ta fonction (et éventuellement $file),
Et nous donner le résultat ?

Cordialement,
MCA.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Tu écris sur le FTP comme dans un dossier courant, c'est peut être ça qui ne va pas.
Est-ce que les commandes du genre isdir() peuvent s'utiliser sur les serveurs FTP ?
Si ça fonctionne en local, je pense qu'il faut chercher dans cette direction.
La première action est de voir si la connexion est OK, et si tu arrive à lister ce qu'il y a sur le serveur.
0
psychopathe
 
Salut,

Merci pour votre aide!

J'ai rajouté ces lignes à mon code :
echo 'dir2copy : '. $dir2copy .'' ;
echo 'dir_paste : '. $dir_paste .'';
echo 'file : '.$file.'';


Et j'obtiens :
dir2copy : themes/theme3/
dir_paste : test/
file :

Ce qui correspond... A part le '$file' qui est vide...

Mais je pensais a ça dans le chemin de mes fichiers il ne faut pas que je rajoute des truc du genre : home/..../www/... comme je suis ur le FTP?


Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Le truc, c'est : comment utilise tu le ftp ?
Fais tu un point de montage, si ce n'est pas le cas, je ne comprends pas comment tu espère copier ton fichier.
0