IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Transfert fichiers par ftp entre serveurs [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut Transfert fichiers par ftp entre serveurs
    Bonjour à tous,

    Je travaille sur le serveur A.
    Je souhaite transférer des images du serveur B au serveur A.

    Je me connecte donc à B :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if(($ftp = ftp_connect("ftp.serveurB", 21)) == false)
    {
    	echo 'Erreur de connexion...';
    }
     
    if(!ftp_login($ftp, "toto", "tata"))
    {
    	echo 'L\'identification a échoué...';
    }
     
    $tab_fichierB = ftp_nlist($ftp, 'serveurB/dossier_images');
    Ok je suis connecté à B et j'ai un tableau des fichiers à transférer.

    Et c'est là que je sèche...car je ne sais pas si, dans ce cas, je dois utiliser ftp_get ou ftp_put.
    J'ai tenté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($tab_fichierB as $fichier){
    ftp_get($ftp, "serveurA/images", "serveurB/upload/".$fichier, FTP_BINARY);
    }
    Mais cela ne fonctionne pas, alors je veux bien un coup de main.

  2. #2
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Il te faut dans un premier temps récupérer le fichier du serveur A (ftp_get), puis le mettre dans le serveur B(ftp_put)

    Mais le code que tu as tenté est complètement incohérent tu es connecté seulement au serveur B, comment veux tu pouvoir récupérer le fichier du serveur A ?

  3. #3
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Il te faut dans un premier temps récupérer le fichier du serveur A (ftp_get), puis le mettre dans le serveur B(ftp_put)

    Mais le code que tu as tenté est complètement incohérent tu es connecté seulement au serveur B, comment veux tu pouvoir récupérer le fichier du serveur A ?
    Complètement incohérent ? Je ne crois pas, non...mal formulé, peut-être.

    Mon script est sur le serveur A.
    Je me connecte au serveur B
    Je récupère les fichiers sur B.
    Je veux les transférer sur A, où tourne le script.

  4. #4
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ftp_get($ftp, "serveurA/images", "serveurB/upload/".$fichier, FTP_BINARY);
    $ftp si j'en crois ton code correspond à ton serveur B. Du coup tu ne peux pas manipuler ton serveur A ici

  5. #5
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Il faudrait donc que je mette mon script sur B et que j'envoie sur A depuis B ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Il faudrait donc que je mette mon script sur B
    Désolé je n'avais pas compris, ton script est exécuté sur ton serveur A , je pensais que tu manipuler 2 serveurs ftp distant.. donc oui effectivement c'est bien ftp_get qu'il faut utiliser pour le télécharger et le mettre en local sur le serveur actuel

    ftp_get en deuxième paramètre c'est le chemin du fichier local que tu dois indiquer, pas un dossier, ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ftp_get($ftp, "serveurA/images", "serveurB/upload/".$fichier, FTP_BINARY);
    tu récupères en premier temps les fichiers dans le dossier "images" du serveur B et la tu indique que tu veux télécharger dans le dossier "upload", c'est normal ?

  7. #7
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Oui, normal, j'ai modif les noms ici et me suis gourré.
    Le bon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $dirroot  = dirname(__FILE__); 
    ftp_get($ftp, $dirroot."/administrer/upload", "serveurB/administrer/upload/".$fichier, FTP_BINARY)
    Il doit donc y avoir un problème de chemins...

  8. #8
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    oui, je te conseille d'afficher $fichier et de vérifier le contenu $tab_fichierB renvoyer par la fonction ftp_nlist

    il me semble que ça te renvoit le chemin complet des fichiers et non juste son nom, à vérifier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Transfert Fichier par FTP
    Par meumeu73.1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/09/2012, 13h44
  2. Réponses: 32
    Dernier message: 21/06/2012, 15h48
  3. Transfert de fichier par FTP
    Par 12_darte_12 dans le forum Access
    Réponses: 1
    Dernier message: 05/09/2006, 09h26
  4. Transfert fichier par FTP
    Par j_bolduc dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/11/2005, 19h59
  5. Transfert de fichier par ftp
    Par schub1015 dans le forum MFC
    Réponses: 3
    Dernier message: 14/01/2004, 17h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo