Jump to content
Sign in to follow this  
gto55

upload par ftp depuis un formulaire

Rate this topic

Recommended Posts

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);

Edited by gto55

Share this post


Link to post
Share on other sites

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 :(

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

ç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

Edited by gto55

Share this post


Link to post
Share on other sites

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:

Edited by gto55

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...