Se connecter / S'enregistrer

Résolu [RESOLU] Faire un formulaire test d'upload

Solutions (6)
Tags :
  • Php
  • Upload
  • Programmation
, OS (collector) |
Salut,

J'essaye de comprendre comment faire un formulaire d'upload en php. J'ai assemblé quelques morceaux de code et j'aimerais savoir quels sont les erreurs de ce script :

  1. <?php
  2.  
  3. $maxsize = 100000000;
  4. $nom = '/save';
  5.  
  6. $_FILES['file']['name']
  7. $_FILES['file']['type']
  8. $_FILES['file']['size']
  9. $_FILES['file']['tmp_name']
  10. $_FILES['file']['error']
  11.  
  12. if ($_FILES['file']['error'] > 0) $erreur = "Erreur";
  13. if ($_FILES['file']['size'] > $maxsize) $erreur = "Le fichier est trop important";
  14.  
  15. $resultat = move_uploaded_file($_FILES['file']['tmp_name'],$nom);
  16. if ($resultat) echo "Transfert réussi";
  17.  
  18.  
  19. ?>
  • Meuniers a édité ce message
  • Meuniers a édité ce message
Contenus similaires
Meilleure solution
partage
|
Je te conseille tout d'abord d'apprendre à utiliser les balises [ code ] et [ /code ] (sans les espaces) pour que ce soit lisible.
Et il te suffit de modifier $extensions_ok et $taille_max pour adapter le script pour des .zip
  • Commenter cette solution |
Score
0
òh
òi
, OS (collector) |
Meilleure réponse sélectionnée par tom hoogata.
  • Commenter cette réponse |
Score
0
òh
òi
, OS (collector) |
Problème résolu,je suis parti d'une autre base et j'ai arrangé le code à ma sauce. Ca m'a permis de mieux comprendre cetehistoire de formulaire (j'ai voulu commencer avec un formulaire trop complexe pour moi) :
  1. <?php
  2. if(isset($_FILES['up']))
  3. {
  4. $dossier = 'save/';
  5. $fichier = basename($_FILES['up']['name']);
  6. $extensions = array('zip', 'jpeg');
  7. $extension = strrchr($_FILES['up']['name'], '.');
  8.  
  9. if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
  10. {
  11. $erreur = 'Vous devez uploader un fichier de type zip (ou jpeg)';
  12. }
  13.  
  14. if(move_uploaded_file($_FILES['up']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
  15. {
  16. echo 'Upload effectué avec succès !';
  17. }
  18. else //Sinon (la fonction renvoie FALSE).
  19. {
  20. echo 'Echec de l\'upload !';
  21. }
  22. }
  23. ?>


Merci tout de même de ton aide crazycat !
  • Commenter cette réponse |
Score
0
òh
òi
, OS (collector) |
Voila les changements :
  1. $extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'zip');
  2. $taille_max = 1000000;


Quand j'essaye, je me retrouve sur la page upload.php mais ensuite rien ne se passe (aucun fichier uploader).
  • Commenter cette réponse |
Score
0
òh
òi
, OS (collector) |
Je suis déjà allez voir ici, sur comment ça marche. Je voudrais juste adapter un code basique du genre :


  1. <?php
  2. if(isset($_FILES['photo']))
  3. {
  4. // params
  5. unset($erreur);
  6. $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
  7. $taille_max = 100000;
  8. $dest_dossier = '/';
  9. // vérifications
  10. if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  11. {
  12. $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
  13. }
  14. elseif( file_exists($_FILES['photo']['tmp_name'])
  15. and filesize($_FILES['photo']['tmp_name']) > $taille_max)
  16. {
  17. $erreur = 'Votre fichier doit faire moins de 500Ko !';
  18. }
  19. // copie du fichier
  20. if(!isset($erreur))
  21. {
  22. $dest_fichier = basename($_FILES['photo']['name']);
  23. // formatage nom fichier
  24. // enlever les accents
  25. $dest_fichier = strtr($dest_fichier,
  26. 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  27. 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  28. // remplacer les caracteres autres que lettres, chiffres et point par _
  29. $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
  30. // copie du fichier
  31. move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
  32. }
  33. }
  34. ?>
  35. <html>
  36. <body>
  37. <!-- Erreur ? -->
  38. <?php
  39. if(isset($erreur)){
  40. echo '<p>', $erreur ,'</p>';
  41. }
  42. include("index.html");
  43. ?>






pour uploader des .zip
  • Commenter cette réponse |
Score
0
òh
òi
|
http://www.siteduzero.com/tutoriel-3-37674-upload-de-fi...

Tu auras quelque chose de plus complet.
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS