Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2007, 18h52   #1
Invité régulier
 
Inscription : octobre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 34
Points : 6
Points : 6
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 :
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:
Citation:
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.
FredLam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2007, 19h37   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2007, 20h12   #3
Invité régulier
 
Inscription : octobre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 34
Points : 6
Points : 6
Bonjour julp,

A ta question
Citation:
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.
FredLam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 17h14   #4
Invité régulier
 
Inscription : octobre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 34
Points : 6
Points : 6
OK, c'est bon, ça fonctionne.
Je pense donc que ça devait venir des quotes...
Merci beaucoup.
FredLam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h34.


 
 
 
 
Partenaires

Hébergement Web