bidibulle Posté 17 Juin 2009 Posté 17 Juin 2009 Bonjour, je souhaiterais envoyé depuis une application web (bien entendu) des fichiers locaux vers mon serveur web, j'ai fais des recherches et des tests pour le moment je fais juste un instruction après avoir cliquer sur un bouton, à savoir que le fichier serais crée par cette même application via les fonction fopen, fwrite,etc, ci-dessous mon code source : <?php$ftp_server = "ftp.domaine.com";$ftp_user = "user";$ftp_pass = "pass";$remote_file = "/www/rep/rep_destination";$file = "C:/rep/rep/rep/rep/rep/fichier.php";if(isset($_POST['SendFTP'])){ $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); // Tentative d'identification if (ftp_login($conn_id, $ftp_user, $ftp_pass)) { $msg = "Connecté en tant que $ftp_user@$ftp_server\n"; }else{ $msg = "Connexion impossible en tant que $ftp_user\n"; } // Charge un fichier if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {// ligne 17 $msg = "Le fichier $file a été envoyé avec succès\n"; }else{ $msg = "Il y a eu un problème lors du chargement du fichier $file\n"; } ftp_close($conn_id);}?><form action="" method="post" name="SendFileFTP" id="SendFileFTP"> <input name="SendFTP" type="submit" value="Send To FTP" id="SendFTP" /></form><form action="" method="post" name="SendFileFTP" id="SendFileFTP"> <input name="SendFTP" type="submit" value="Send To FTP" id="SendFTP" /></form> il me donne l'erreur suivante : Warning: ftp_put() [function.ftp-put]: Impossible d'ouvrir ce fichier: Is a directory in C:\Program Files\EasyPHP 3.0\www\cms\Test\ftp.php on line 17 Pouvez-vous me dire où est mon erreur, ou éventuellement me donner un autre solution. merci de votre aide
Dan Posté 17 Juin 2009 Posté 17 Juin 2009 Tu as l'erreur dans le message... "Is a directory" ! Tu essayes d'envoyer un répertoire, et pas un fichier, voir C:\Program Files\EasyPHP 3.0\www\cms\Test\ftp.php ligne 17
bidibulle Posté 17 Juin 2009 Auteur Posté 17 Juin 2009 Oui oki mais comment je fais pour lui indique où est mon fichier parce à ce niveau là le fichier existe dans un dossier bien précis sur mon disque local Est-ce que le fichier à envoyé via FTP doit ce trouver dans le même dossier que mon script php? ou bien cela n'a pas d'importance? p.s attn capitaine torche : je tacherais de ne pas l'oublié pour la prochaine fois désolé
Jeanluc Posté 17 Juin 2009 Posté 17 Juin 2009 Si tu utilises l'adresse absolue du fichier, tu ne dois pas te poser cette question. D'ailleurs, dans ton code, c'est une adresse absolue ($file = "C:/rep/rep/rep/rep/rep/fichier.php";), non ? Et c'est vrai que ce nom de fichier ne semble pas être un nom de répertoire. Il doit y avoir quelque chose qui m'échappe... Jean-Luc
bidibulle Posté 17 Juin 2009 Auteur Posté 17 Juin 2009 Si tu utilises l'adresse absolue du fichier, tu ne dois pas te poser cette question. D'ailleurs, dans ton code, c'est une adresse absolue ($file = "C:/rep/rep/rep/rep/rep/fichier.php", non ? Et c'est vrai que ce nom de fichier ne semble pas être un nom de répertoire. Il doit y avoir quelque chose qui m'échappe... Oui en fait mon script php se trouve dans : Racine/X/Y/script.php que j'inclus dans un fichier qui lui se trouve dans le dossier X les fichiers qui devront être envoyé se trouverons dans : Racine/Z/Fichiers.htm je ne penses pas l'include puisse posé un problème? Est-ce qu'il ne pourrais pas y avoir un problème de communication entre mon serveur et les paramètre du serveur de mon hébergeur (phpnet)?
jcaron Posté 18 Juin 2009 Posté 18 Juin 2009 Je pense qu'il s'agit du fichier de destination qui pose problème: il faut que tu donnes le chemin complet du fichier (nom du fichier compris), pas juste le répertoire dans lequel tu veux le mettre. Non? Jacques.
bidibulle Posté 19 Juin 2009 Auteur Posté 19 Juin 2009 (modifié) Je viens de faire un test avec le répertoire complet nom de fichier inclus et c'est ok!!! ci-dessous le code complet et correct <?php$ftp_server = "ftp.domaine.com";$ftp_user = "user";$ftp_pass = "pass";$remote_file = "/www/répertoire_site/dossier_destination/nom_fichier.htm"; //dossier destination (serveur web)$file = "../dossier/nom_fichier.htm";//chemin du fichier ( local )if(isset($_POST['SendFTP'])){ $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); // Tentative d'identification if (ftp_login($conn_id, $ftp_user, $ftp_pass)) { $msg = "Connecté en tant que $ftp_user@$ftp_server\n"; }else{ $msg = "Connexion impossible en tant que $ftp_user\n"; } // Charge un fichier if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {// ligne 17 $msg = "Le fichier $file a été envoyé avec succès\n"; }else{ $msg = "Il y a eu un problème lors du chargement du fichier $file\n"; } ftp_close($conn_id);}?> merci de votre aide Modifié 19 Juin 2009 par bidibulle
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant