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] Connexion FTP au serveur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 34
    Par défaut [FTP] Connexion FTP au serveur
    Bonjour,

    je souhaite pouvoir faire envoyer à quelques utilisateurs de mon site des photos par FTP vers le serveur d'hébergement afin de les afficher sur une page php en les retrouvant grace à leur adresse stockée dans une BDD.

    Pour l'écriture de l'adresse des photos dans la BDD, pas de problème, ça fonctionne bien.

    Là ou ça pioche, c'est pour l'envoie des photos sur le serveur.

    Ci-dessous mon 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
     
     
    if(isset($_FILES[photo][tmp_name])){  // tmp_mane de la photo transmise à la page par la méthode POST
     
    		// copie de la photo transmise dans le dossier réservé à les stocker
    		$uploaddir = '/www/images/general/calendrier/';
    		$uploadfile = $uploaddir . basename($_FILES[photo][name]);
     
     
    		$ftp_server="ftp.hebergeur.fr";   // entrée des param de connexion au serveur FTP de mon hébergeur
    		$ftp_user_name="user";
    		$ftp_user_pass="passe";
    		$source_file="$_FILES[photo][tmp_name]";
    		$destination_file="$uploadfile";
    		echo $destination_file;    // test de la création de la chaine qui sera enregistrée dans la BDD et qui fonctionne
     
    		// Mise en place d'une connexion basique
    		$conn_id = ftp_connect($ftp_server); 
     
    		// Identification avec un nom d'utilisateur et un mot de passe
    		$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 
     
    		// Vérification de la connexion
    		if ((!$conn_id) || (!$login_result)) { 
    				echo "La connexion FTP a échoué !";
    				echo "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name"; 
    				exit; 
    			} else {
    				echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
    			}
     
    		// Chargement d'un fichier
    		$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);   //=== c'est sur cette instruction que j'ai l'erreur ====
     
    		// Vérification du status du chargement
    		if (!$upload) { 
    				echo "Le chargement FTP a échoué!";
    			} else {
    				echo "Chargement de $source_file vers $ftp_server en tant que $destination_file";
    			}
     
    		// Fermeture du flux FTP
    		ftp_close($conn_id); 
     
    	}
    L'erreur qui me sort est la suivante:
    Warning:ftp_put(Array[tmp_name]] :failed to open stream: No such file or directory in Z:\SITES\Mairie\etc... on line 111

    Merci de votre aide.

  2. #2
    Membre expérimenté

    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
    Par défaut
    C'est de l'upload de fichiers multiples ou non à la base ? ($_FILES['photo']['tmp_name'] serait un tableau).

    Quelques remarques sur votre écriture :
    • $source_file="$_FILES[photo][tmp_name]" : l'interpolation est inutile, $_FILES['photo']['tmp_name'] suffit
    • Si les index de tableau sont des chaînes alors il faut les faire figurer comme telles (utilisation de simple ou double quotes) car en leur absence PHP générera des notices, chercherant dans un premier temps une constante correspondant à ce nom.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 34
    Par défaut
    Bonjour julp,

    A ta question
    C'est de l'upload de fichiers multiples ou non à la base ? ($_FILES['photo']['tmp_name'] serait un tableau).
    C'est juste pour envoyer un seule image (jpg ou gif)

    Pour les quotes, je savais pas... Je modifie mon code et je vois ce que ça donne.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 34
    Par défaut
    OK, c'est bon, ça fonctionne.
    Je pense donc que ça devait venir des quotes...
    Merci beaucoup.

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

Discussions similaires

  1. [FTP] connexion FTP en PHP via WAMPSERVER
    Par SweetLeaf dans le forum Langage
    Réponses: 7
    Dernier message: 20/01/2009, 16h00
  2. [FTP] connexion FTP en PHP
    Par akjoe dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2008, 16h42
  3. Connexion a un serveur ftp pour download
    Par thierry007 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2008, 08h19
  4. [FTP] Connexion FTP par PHP
    Par kanaziwok dans le forum Langage
    Réponses: 4
    Dernier message: 29/07/2006, 15h41
  5. Connexion ssl et serveur ftp
    Par jeromelef dans le forum Web & réseau
    Réponses: 7
    Dernier message: 18/08/2005, 17h49

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