Aller au contenu

upload par ftp depuis un formulaire


Sujets conseillés

Posté (modifié)

Bonjour,

Je teste un upload par ftp d'une image depuis un formulaire mais il ne marche pas.

Est-ce que qqn saurait pourquoi ?

Le server est un server dédié ovh.

Merci :)

 <form name="form" action="test.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td width="200" valign="top">Image du médias</td>
<td><input name="image" type="file" class="champ" id="image" /></td>
</tr>
</form>

 
$imagePreviewClean = addslashes($_FILES['image']["name"]);

$file = $imagePreviewClean;
$remote_file = 'www/ledossier/images/medias/'.$date.'/images/'.$imagePreviewClean;

// Mise en place d'une connexion basique
$conn_id = ftp_connect("adresse ftp du server ");
// authentification avec nom de compte et mot de passe
$login ='le login';
$mdp = 'le mot de passe ';

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $login, $mdp);

// Charge un fichier
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "Le fichier $file a té chargé avec succès\n";
} else {
echo "Il y a eu un problème lors du chargement du fichier $file\n";
}

// Fermeture de la connexion
ftp_close($conn_id);

Modifié par gto55
Posté

j'ai ce message:

"Il y a eu un problème lors du chargement du fichier 'nom du fichier que je veux uploader par ftp'";

Je n'ai pas d'autres indications :(

Posté

As-tu essayé en changeant le mode (actif/passif) ?

Si tu es derrière un firewall, ça peut être la raison :)

Regarde la fonction :

bool ftp_pasv ( resource ftp_stream, bool pasv )

Dan

Posté (modifié)

ça ne marche pas non plus, est-ce qu'il faut envoyer en mode binary ou ascii ?

Ce serait pour une seule image.

Est-ce que qqn aurait une autre exemple de transfert par ftp ?

Merci :P

Modifié par gto55
Posté (modifié)

je n'ai pas mis tout le code, je teste bien si la connextion s'est effectué.

Voilà le code en entier:

Je crée au préalable un dossier par ftp où l'image sera uploadée avec cette fonction:

$date = $_POST["date"];
$pathImages = 'www/lesite/images/medias/'.$date.'/images/';
ftp_mkdir($conn_id,$pathImages);
$chmod_cmd3='CHMOD 0777 '.$pathImages;
$chmod3=ftp_site($conn_id, $chmod_cmd3);

<form name="form" action="test.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td width="200" valign="top">Image du médias</td>
<td><input name="image" type="file" class="champ" id="image" /></td>
</tr>
</form>

// création de la connexion
$conn_id = ftp_connect("l'adresse du server ovh");
// authentification avec nom de compte et mot de passe
$login = 'le login ';
$mdp = 'le mot de passe;
$login_result = ftp_login($conn_id, $login, $mdp);
ftp_pasv($conn_id, TRUE);
// vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
echo "La connexion FTP a échoué!";
// echo "Tentative de connexion à $ftp_server avec $ftp_user_name";
die;
} else {
echo "Connecté sur serveur distant<br>";
}


$imagePreviewClean = addslashes($_FILES['image']["name"]);

$file = $imagePreviewClean;
$remote_file = 'www/ledossier/images/medias/'.$date.'/images/'.$imagePreviewClean;

// Mise en place d'une connexion basique
$conn_id = ftp_connect("adresse ftp du server ");
// authentification avec nom de compte et mot de passe
$login ='le login';
$mdp = 'le mot de passe ';

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $login, $mdp);

// Charge un fichier
if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) {
echo "Le fichier $file a té chargé avec succès\n";
} else {
echo "Il y a eu un problème lors du chargement du fichier $file\n";
}

// Fermeture de la connexion
ftp_close($conn_id);

Il me dit que la connection s'est bien éffectuée mais que l'upload non :wacko:

Modifié par gto55
Posté

Il y a un point que je voudrais eclaircir :)

Quel est ton objectif exactement ? Envoyer ton fichier sur ton serveur ?

Si c'est le cas, le formulaire le fait déja... inutile d'utiliser du ftp.

Posté

En fait je dois envoyer une image dans un dossier image et un flv dans un dossier flv, comme les flv font plus de 2mo je ne peux ls envoyer pr http et je dois donc les envoyer par ftp.

Sauf que je ne sais pas pourquoi, lorsque je cree un dossier avec la fonction mkdir il m'est impossible d'uploader quoi que ce soit dans le dossier flv;

Il faut donc que je crée le dossier par ftp avec un chmod 777.

Mais si je fais ça, il m'est impossible d'envoyer l'image par formulaire http.

Voilà en gros le problême.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...