Upload sur ftp avec ftp_fput()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Upload sur ftp avec ftp_fput()

par agité » 28 nov. 2006, 18:53

tester sur un autre server FTP que chez free me retourne la même erreur même en passant un dossier en CHMOD 777 toujours la même merde.

dans les test que j'ai refais entre temps tout semble indiquer que ca viens du fichier en lui même, donc j'ai tenter de
fopen("nomfichier","r");
toujours la même chose il envoie pas sur le server, je comprends pas trop si l'objet est pas reconnu ? son path ?

Upload sur ftp avec ftp_fput()

par agité » 28 nov. 2006, 14:38

Bonjour :)

Un script d'upload de fichier vers un FTP de chez free est en preparation je rentre bien tout les caracteres, et les indiquations pour le server, je passe un fichier en POST que je recupere sous le nom $_FILES['son']['name'] pour l'envoyer sur le server.

Mais il me retourne une erreur :
Warning: ftp_fput() expects parameter 3 to be resource, string given in
Donc apparement le 3eme elements de mon ftp_fput() n'est pas reconnu comme ressource donc je regarde mon script :
<?php

$ftp_server = "ftpperso.free.fr";
$ftp_user_name = "*****";
$ftp_user_pass = "******";
$fichier = $_FILES['son']['name'];

$fichier = $_FILES['son']['name'];
$taille = $_FILES['son']['size'];
$tmp = $_FILES['son']['tmp_name'];
$type = $_FILES['son']['type'];
$erreur = $_FILES['son']['error'];

$source_file = $_FILES['son']['name'];
$destination_file = '*****/'.$fichier;

echo $destination_file;

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server) or die("Impossible de se connecter au serveur $ftp_server");
set_time_limit(5);

// 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_fput($conn_id, $destination_file, $source_file, FTP_BINARY);

// 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);
?>
donc apparement le nom n'est pas bon j'ai fais un test d'echo

il me retourne bien le nom du fichier et donc reconnais le fichier mais ne peut l'upload, a partir de la j'ai tenter avec un ['tmp_name'] même resultat.

amis codeur je bloque !

avez vous une idée ?

merci d'avancé ;)

agité