[resolu][php]formulaire upload FTP ? - charger des fichiers sur un FTP en php

Bonjour,

je souhaiterau savoir si il existe un moyen en php de créer un formulaire pemettant de charger des fichiers sur un serveur FTP distant ?

Il est possible d’envoyer un fichier joint dans un formulaire mail, alors pourquoi pas envoyer des fichiers vers un FTp :neutre: …

Tu peux faire un système qui permet d’envoyer un fichier sur le serveur php local, puis tu envoie par FTP le dit fichier? Pour l’un comme dans l’autre, tu trouveras un tas d’exemples sur la doc de php (ftp_open, $_FILES).

envoyé les fichiers sur le serveur PHP local ?

Le site est hébergé chez OVH, il serait donc possible d’envoyer les fichiers directement sur le serveur, dans une ressource spécifique ?
Niveau sécurité c’est pas un peu limite ? :neutre:

Merci pour l’info en tout cas ! :jap:

Non tu fait que envoyer, tu n’éxecute rien :slight_smile:

Mais renseigne toi aupresde ton serveur, parce que free par ex est limité a 5mo et 30sec

avec un formulaire HTML contenant le code suivant :


<form name="formulaire_envoi_fichier" enctype="multipart/form-data" method="post" action="./upload.php">
  <input type="file" name="fichier_choisi">
  <br>
  <br>
  <input type="submit" name="bouton_submit" value="Envoyer le fichier">
</form>

et le fichier d’envoi PHP suiavnt :


<?php

if(!empty($_FILES["fichier_choisi"]["name"]))
{
	//nom du fichier :
	$nomFichier    = $_FILES["fichier_choisi"]["name"];
	//nom sur le serveur:
	$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"];
	//type du fichier :
	$typeFichier   = $_FILES["fichier_choisi"]["type"];
	//poids en octets :
	$poidsFichier  = $_FILES["fichier_choisi"]["size"];
	//code de l'erreur :
	$codeErreur    = $_FILES["fichier_choisi"]["error"];
	
	//chemin qui mène au dossier qui va contenir les fichiers upload:
	$chemin = "./upload_fichier/";
 
	if(copy($nomTemporaire, $chemin.$nomFichier))
  echo("<br>l'upload a réussi");
	else
  echo("<br>l'upload a échoué");
}//fin if
else
{
	echo("Vous n'avez pas choisit de fichier!!<br>");
	echo("<a href=\"./choix_fichier.html\">Retour</a>");
}//fin else
?>

ça doit marcher … je vais tester :slight_smile: :slight_smile:

Attends un peu: en fait le serveur ftp est le même que ton serveur http? Dans ce cas directement via upload ça devrait être bon pour les petits fichiers. (c’est ce que tu fais)

Ensuite si tu veux renvoyer ça via ftp (mais un autre que le serveur où est éxécuté le script php) faut envoyer le fichier via ftp_open() + ftp_send().

C’est bon, ça marche impec :slight_smile:
L’hebergeur (OVH) accepte l’upload jusqu’a 3Mo… donc ça laisse de la marge.
Merci :jap: