Chargement de fichier sur FTP via internet

Chargement de fichier sur FTP via internet - Stockage/Sauvegarde - Windows & Software

Marsh Posté le 20-11-2005 à 18:00:46    

Bonjour!
 
Je "posséde" un espace chez free (FTPPerso), et je souhaiteras que certaines personnes puissent metre des fichiers dessus :
C'est à dire que si quelqun a envie de mettre un fichier zip ou une image, il puisse le faire via internet explorer ou firefox. En fait , ca serait comme le imageshak mais en beaucoup plus petit et restreint a un certai nombre d'utilisateur ...
 
Merci d'avance

Reply

Marsh Posté le 20-11-2005 à 18:00:46   

Reply

Marsh Posté le 25-11-2005 à 12:53:30    

Bonjour !
 
En fait, il existe deux solutions...
1. Tu donnes ton MdP free aux personnes qui ont le droit, et elles peuvent y accéder via un loigiciel FTP ou via une interface FTP sur le web (genre net2ftp.com).
2. Tu crées un tout petit script, avec un formulaire, qui permet de charger une image. C'est assez facile, la seule chose c'est que tu es limité à 2Mo, je crois. Mais tu peux quand même faire pas mal de vérifications :
   - Avant l'envoi du formulaire avec 2/3 touches de javascript (genre vérifier l'extension)
   - Après avec du PHP.
 
J'irai bien plus dans le détail, mais je veux être sûr que j'ai bien compris le problème !
 
Bonne chance !
 
JF

Reply

Marsh Posté le 25-11-2005 à 13:00:53    

arobs45 a écrit :

Bonjour !
 
En fait, il existe deux solutions...
1. Tu donnes ton MdP free aux personnes qui ont le droit, et elles peuvent y accéder via un loigiciel FTP ou via une interface FTP sur le web (genre net2ftp.com).
2. Tu crées un tout petit script, avec un formulaire, qui permet de charger une image. C'est assez facile, la seule chose c'est que tu es limité à 2Mo, je crois. Mais tu peux quand même faire pas mal de vérifications :
   - Avant l'envoi du formulaire avec 2/3 touches de javascript (genre vérifier l'extension)
  - Après avec du PHP.
 
J'irai bien plus dans le détail, mais je veux être sûr que j'ai bien compris le problème !
 
Bonne chance !
 
JF


c'est la meilleure solution, je l'ai deja mise en oeuvre :)

Reply

Marsh Posté le 25-11-2005 à 18:49:41    

A uai? Je pense que ca serait celle la qui me conviendrait le plus, cepandant, meme si je connais un poil de html (je m en sors) le php et les scripts sont des sciences inconnues ... Je pourrais m y investire, mais j ai peur de manker de tps .. Je n'ai pas compris l'histoire des 2 mo. Je suis limité a 2 mo sur un espace qui dispose de 100 mo ?
Je chercherai plus a créer une petite "communauté" ki pourrait laisser des images sur mon ftp, plus dans le principe d imagesshacks ...

Reply

Marsh Posté le 26-11-2005 à 18:00:18    

En fait, il y a une limitation à 2Mo PAR FICHIER chez Free. Après si tu a 100Mo, tu pourras en mettre 50... Mais en général, les images ne sont pas si lourdes...
J'essaie de t'envoyer un exemple dans 10 minutes !
 
A plus
 
JF

Reply

Marsh Posté le 26-11-2005 à 18:15:04    

Malheureusement, tu es obligé de passer par un peu de HTML et de php...
 
Dans le fichier de base, (la page d'accueil de ton site), tu mets un formulaire du type :
 

Code :
  1. <form name="formulaire_envoi_fichier" enctype="multipart/form-data" method="post" action="upload.php">
  2. Donnez un titre à l'image : <INPUT NAME=titre size=30>
  3. Choisir l'image : <input type="file" name="fichier_choisi" size="5">
  4. <input type="submit" name="bouton_submit" value="Envoyer l'image !"></p>
  5. </form>


 
Ensuite, il faut créer un fichier upload.php qui va se servir de gérer "intelligemment" le fichier... En PHP, on peut récupérer les variables des forumlaires... Ils sont transmis en tant que $nom_variable_formulaire (par exemple, $titre et $fichier_choisi).
 
Donc voici le code du fichier upload.php qui peut être créé (après les '//' c'est un commentaire) :
 

Code :
  1. <?
  2. if(!empty($_FILES["fichier_choisi"]["name"])) //On vérifie qu'il y a bien eu un fichier d'envoyé !
  3. {
  4. //nom du fichier choisi:
  5. $nomFichier    = $_FILES["fichier_choisi"]["name"] ;
  6. //nom temporaire sur le serveur:
  7. $nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
  8. //type du fichier choisi:
  9. $typeFichier   = $_FILES["fichier_choisi"]["type"] ;
  10. //poids en octets du fichier choisit:
  11. $poidsFichier  = $_FILES["fichier_choisi"]["size"] ;
  12. //code de l'erreur si jamais il y en a une:
  13. $codeErreur    = $_FILES["fichier_choisi"]["error"] ;
  14. //chemin qui m&egrave;ne au dossier qui va contenir les fichiers uplaod (à toi de le définir):
  15. $chemin = "user_upload/" ;
  16. //On vérifie que l'extension est correcte (ici on autorise jpg, jpeg et gif uniquement)
  17. //Si ce n'est pas le cas, on arrête tout !
  18. $ext=strtolower(strrchr($nomFichier, '.'));
  19. if ($ext!=".jpg" AND $ext!=".jpeg" AND $ext!=".gif" ){
  20.  echo "<br>Votre image doit &ecirc;tre un jpg, jpeg ou gif <br>";
  21.  exit;
  22. }
  23. //Et voilà, on copie l'image
  24. copy($nomTemporaire, $chemin.$nomFichier);
  25. // Creation de l'image &agrave; la bonne taille ! Si besoin, pour éviter de prendre trop de place
  26. // Toute cette partie est optionnelle !
  27. $largeur_max = 250;
  28. $hauteur_max = 250;
  29. $size = getimagesize($chemin.$nomFichier);
  30. $largeur_src=$size[0];
  31. $hauteur_src=$size[1];
  32. if($size[2]==1){ // format gif
  33.  $image_src=imagecreatefromgif($chemin.$nomFichier);
  34. }
  35. if($size[2]==2){ // format jpg ou jpeg
  36.  $image_src=imagecreatefromjpeg($chemin.$nomFichier);
  37. }
  38. // on verifie que l'image source ne soit pas plus petite que l'image de destination
  39. if ($largeur_src>$largeur_max OR $hauteur_src>$hauteur_max){
  40.  // si la largeur est plus grande que la hauteur
  41.  if ($hauteur_src<=$largeur_src){
  42.   $ratio=$largeur_max/$largeur_src;
  43.  }else{
  44.   $ratio=$hauteur_max/$hauteur_src;
  45.  }
  46. }else{
  47.  $ratio=1; // l'image cr&eacute;ee sera identique &agrave; l'originale
  48. }
  49. $image_dest=imagecreatetruecolor(round($largeur_src*$ratio),round($hauteur_src*$ratio));
  50. imagecopyresized($image_dest, $image_src, 0, 0, 0, 0,round($largeur_src*$ratio), round($hauteur_src*$ratio), $largeur_src, $hauteur_src);
  51. if(!imagejpeg($image_dest, $chemin.$nomFichier)){
  52.  echo "la cr&eacute;ation de la vignette a echou&eacute;e pour l'image $image";
  53.  exit;
  54. }
  55. print("<img src=\"" . $chemin . $nomFichier . "\" width=150><br>" );
  56. }else {
  57. echo("Vous n'avez pas choisi d'image pour cette nouvelle.<br>" ) ;
  58. }
  59. ?>


 
Voilà je pense que ça devrait marcher... N'hésite pas à reposter au cas où !
JFW


---------------
Voir mon site perso : http://lnjf.free.fr
Reply

Marsh Posté le 28-11-2005 à 17:56:15    

arobs45 a écrit :

En fait, il y a une limitation à 2Mo PAR FICHIER chez Free. Après si tu a 100Mo, tu pourras en mettre 50... Mais en général, les images ne sont pas si lourdes...
J'essaie de t'envoyer un exemple dans 10 minutes !
 
A plus
 
JF


 
Il y a une limitation de 2 Mo ? J'ai upload un fichier de 60 Mo pas plus tard qu'hier sur mon ftp free  :love:  
 
Et tu demander a passer de 100 Mo a 1 Go gratuitement sur le site de Free.

Reply

Marsh Posté le 28-11-2005 à 18:05:56    

Effectivement j'ai déjà dépassé les 2mo sur Free

Reply

Marsh Posté le 29-11-2005 à 07:48:32    

Ca n'a absolument rien à voir...
Quand vous mettez 60Mo chez Free, c'est par un CLIENT FTP (genre Filezilla, LeachFTP, etc...). EN AUCUN cas, c'est par un script d'une page Web, ou alors JE VEUX voir !
 
Il ne faut pas tout confondre ! Ce que veut faire rc_jk78 ici c'est d'avoir une petite page web avec une boite lui permettant d'envoyer un fichier (pas utiliser un FTP). Et là je vous promet que la limite est à 2Mo.
Faites le test (le vrai, pas avec un client FTP) et donnez moi vos retours !
 
JF


---------------
Voir mon site perso : http://lnjf.free.fr
Reply

Marsh Posté le 29-11-2005 à 07:49:06    

En conclusion, la limite dont je parle n'est pas une limite du stockage mais une limite liée au PHP et aux scripts.


---------------
Voir mon site perso : http://lnjf.free.fr
Reply

Marsh Posté le 29-11-2005 à 07:49:06   

Reply

Marsh Posté le 29-11-2005 à 09:01:27    

ah désolé je ne savais pas :jap:

Reply

Marsh Posté le 29-11-2005 à 14:10:11    

Pas de problème...
@+
JF
 
Au fait, est ce que le script a marché ?

Reply

Marsh Posté le 29-11-2005 à 18:11:54    

Bon je vais faire des tests, merci beaucoup  
Mais il n y a pas de moyen de contourner cette limite de 2 mo? Enfin, c deja pas mal! :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed