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 :

[FTP] Besoin d'aide php ftp_put


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [FTP] Besoin d'aide php ftp_put
    Bonjour à tous,

    Je tente de réaliser une page pour transférer des fichiers images sur mon serveur ftp. Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    ////// TRANSFERT EN FTP //////////
    /*
    VARIABLES : 
    $chemin = chemin où je veux placer le fichier
    $fichier = chemin du fichier sur mon ordinateur
    */
    error_reporting  (FATAL + ERROR + WARNING);
    set_time_limit ( 500 );
    ini_set('max_execution_time','300');
     
    // CREATION DE LA CONNEXION FTP
    $ftp_server = "www.xxx.fr";
    $connection = ftp_connect($ftp_server); 
     
    // ATHENTIFICATION AVEC LE NOM D'UTILISATEUR ET LE MOT DE PASSE
    $ftp_user_name="mon utilisateur";
    $ftp_user_pass = "mon mot de passe";
     
    // VERIFICATION DES IDENTIFIANTS
    $login_result = ftp_login($connection, $ftp_user_name, $ftp_user_pass); 
     
    // VERIFICATION DE LA CONNEXION
    if ((!$connection) || (!$login_result)) { 
    // Si la connexion a échoué, affichage d'un message d'erreur
    echo "La connexion FTP a échoué! <br>"; 
    die; 
    }
    else 
    { 
    // Sinon, message de réussite de connexion
    echo "<br>Connecté à $ftp_server"; 
     
    // ACCES AU CHEMIN DESIRE POUR TRANSFERT DE FICHIER
    // Test si le chemin est existant
    if (ftp_chdir($connection,$chemin) == true)
    {	
    // si le chemin existe, annonce à l'utilisateur
    print("<br>$chemin existant<br>Transfert vers ce chemin en cours...<br>");
    }
    else
    {
    // Si le chemin n'est pas présent, création du répertoire
    if (ftp_mkdir($connection,$chemin))
    {
    print ("<br>Création du répertoire $chemin effectué<br>Transfert en cours...");
    }
    }
    // TRANSFERT DU FICHIER
    ftp_chdir($connection,$chemin);
    $upload = ftp_put($connection, $chemin, $fichier, FTP_BINARY); 
     
    // TEST DE LA REUSSITE DU TRANSFERT
    if (!$upload) 
    { 
    echo "<BR>Le téléchargement Ftp a échoué!"; 
    }
    else
    { 
    echo "<br>Le Transfert de $source_file sur $ftp_server a réussi"; 
    } 
    } 
     
    // FERMETURE DE LA CONNEXION FTP 
    ftp_quit($connection);
    Et voici la réponse suite à la validation de mon formulaire :
    Connecté à www.xxxxx.fr
    /Site_nouvelle_version3/photos_actu/ existant
    Transfert vers ce chemin en cours...

    Warning: ftp_put(): error opening C:\\logo.jpg in /tpc/mnt/filer/web/clients/s/stadelav/Administration_Site/actualite/ajout_actu.php4 on line 54

    Le téléchargement Ftp a échoué!
    Est-ce que quelqu'un aurait une solution pour me sortir de ce problème car après plusieurs recherches sur le net, impossible de trouver la solution.

    Merci d'avance,

    FAB53

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Le serveur où est exécuté le script ne peut envoyer (ftp_put) que ses propres fichiers (ceux dont il a directement accès), certainement pas ceux du client ainsi ! Pour garder la voie dans laquelle vous vous êtes orienté il faudrait d'abord que le client envoi au serveur HTTP le fichier par upload puis que ce dernier le retransmette au serveur FTP (ça double donc le transfert et le temps d'exécution).

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut aide
    Citation Envoyé par julp Voir le message
    Le serveur où est exécuté le script ne peut envoyer (ftp_put) que ses propres fichiers (ceux dont il a directement accès), certainement pas ceux du client ainsi ! Pour garder la voie dans laquelle vous êtes orienté il faudrait d'abord que le client envoi au serveur HTTP le fichier par upload puis que ce dernier le retransmette au serveur FTP (ça double donc le transfert et le temps d'exécution).
    re et merci de ta réponse.

    J'ai bien compris ce que tu viens de m'expliquer mais dnas le code, je ne m'en sors toujours pas.
    Ce que j'ai compris, c'est qu'il fallait qu'avec le code, je récupère physiquement mon fichier pour le mettre dnas un fichier temporaire pour ensuite le mettre sur le serveur.
    Mais, je n'arrive pas à le traduire en langage.

    Fab 53

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par fab53
    Ce que j'ai compris, c'est qu'il fallait qu'avec le code, je récupère physiquement mon fichier pour le mettre dnas un fichier temporaire pour ensuite le mettre sur le serveur.
    C'est géré par le serveur tout ça (si vous avez suivi le tutoriel indiqué plus haut) : vous obtenez directement, en PHP, le nom (chemin complet en fait) du fichier temporaire créé via la variable $_FILES['nom_du_champ_file']['tmp_name'].

    (Vous serez soumis aux restrictions des scripts PHP en terme de taille limite des fichiers uploadés - 2 Mo par défaut - et en temps d'exécution - 30 secondes par défaut).

    Citation Envoyé par fab53
    Mais, je n'arrive pas à le traduire en langage.
    Tout ce qui change pour vous c'est plus ou moins la partie move_uploaded_file puisqu'à ce moment-là ce qui vous intéresse c'est de le renvoyer sur le serveur FTP (donc connexion au serveur FTP puis transfert par ftp_put) et non le "copier" sur le serveur HTTP.

Discussions similaires

  1. [MySQL] Besoin d'Aide Php avec Mysql
    Par Skin-Party dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/05/2012, 17h50
  2. Besoin d'aide PHP / URL REWRITING
    Par bastien211 dans le forum Langage
    Réponses: 2
    Dernier message: 07/03/2011, 13h21
  3. [MySQL] Besoin d'Aide PHP reçois pas formulaire par e-mail
    Par memello dans le forum PHP & Base de données
    Réponses: 49
    Dernier message: 04/02/2011, 16h59
  4. Besoin d'aide: php/sql
    Par tulipelover dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 29/06/2009, 22h45
  5. [FTP] besoin d'aide pour source code
    Par planete-venus dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2007, 15h01

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